java基礎知識彙總(三)

来源:https://www.cnblogs.com/xu-sy122/p/18344007
-Advertisement-
Play Games

PART 1: while迴圈 雙重for迴圈 1. 迴圈結構(while迴圈語句) 基本格式 while(判斷條件語句) { 迴圈體語句; } 擴展格式 初始化語句; while(判斷條件語句) { 迴圈體語句; 控制條件語句; } 2. 迴圈結構(for迴圈和while迴圈的區別) for迴圈和 ...


PART 1: while迴圈 雙重for迴圈

1. 迴圈結構(while迴圈語句)

基本格式

while(判斷條件語句) {
    迴圈體語句;
}

擴展格式

初始化語句;
while(判斷條件語句) {
    迴圈體語句;
    控制條件語句;
}

while迴圈語句格式圖

2. 迴圈結構(for迴圈和while迴圈的區別)

  • for迴圈和while迴圈可以等價轉換,但仍有小區別:
    • 控制條件語句所控制的變數,在for迴圈結束後不能訪問,while迴圈可以繼續使用。
    • for迴圈適合針對一個範圍判斷操作,while迴圈適合判斷次數不明確的操作。

3. 迴圈結構(do…while迴圈語句)

基本格式

do {
    迴圈體語句;
}while(判斷條件語句);

擴展格式

初始化語句;
do {
    迴圈體語句;
    控制條件語句;
}while(判斷條件語句);

do…while迴圈語句格式圖

4. 迴圈結構(區別及註意事項)

  • 三種迴圈語句可以完成相同功能,但有區別:
    • do…while迴圈至少執行一次迴圈體。
    • for迴圈和while迴圈只有在條件成立時執行迴圈體。
  • 註意事項:
    • 優先考慮for迴圈,再考慮while迴圈,最後考慮do…while迴圈。
    • 死迴圈示例:while(true){}for(;;){}

PART 2:跳轉控制語句 方法

1. 運算符

  • Java中的goto是保留字,目前不能使用。替代控制語句:break,continue和return。

2. 跳轉控制語句(break)

  • 使用場景:switch語句中,迴圈語句中。
  • 作用:跳出單層迴圈,跳出多層迴圈,帶標簽的跳出。

3. 跳轉控制語句(continue)

  • 使用場景:迴圈語句中。
  • 作用:單層迴圈中退出本次迴圈。

4. 跳轉控制語句(return)

  • 作用:結束方法,返回方法指定類型的值。

5. 方法概述

  • 將特定功能的代碼塊命名為方法,提高代碼復用性。

5.1. 方法定義及格式

修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2…) {
    函數體;
    return 返回值;
}

5.2 方法格式的解釋說明

方法格式解釋

  • 修飾符:用於限定方法的訪問範圍和特性,如 public, private, static 等。
  • 返回值類型:限定方法執行完畢後返回值的數據類型,如 int, void, String 等。
  • 方法名:方法的名稱,需符合Java命名規則,方便在代碼中調用。
  • 參數類型:定義調用方法時傳入參數的數據類型。
  • 參數名:參數的名稱,作為變數在方法體中使用。
  • 方法體:方法的具體實現代碼,包含邏輯和操作。
  • return:用於結束方法執行,並返回一個值給方法的調用者。

方法定義格式示例

修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {
    // 方法體,包含實現邏輯的代碼
    
    // 使用return語句返回值,對於void類型的函數,表示結束方法執行
    return 返回值;
}

方法特點說明

  • 方法可以沒有參數,但必須有返回值類型,即使返回值類型為 void
  • 方法名後的小括弧內列出所有參數,參數之間用逗號分隔。
  • 方法體是方法的實現部分,包含了方法執行的所有操作。
  • return 關鍵字用於從方法返回,可以返回一個值或者什麼都不返回(在 void 類型的方法中)。

方法調用示例

// 假設有一個方法名為 `add`,接受兩個 `int` 類型的參數,並返回它們的和
int result = add(10, 20);

// 調用方法 `add` 並將結果賦值給變數 `result`

6. 有明確返回值的方法調用

  • 推薦方式:賦值調用。

7. 方法註意事項

  • 方法不調用不執行,定義時參數用逗號隔開,調用時不用傳遞數據類型,有返回值的方法要有return帶回值。

PART 3:方法的重載

1. 方法重載

  • 允許存在同名方法,只要參數個數或類型不同。

2. 方法重載案例

  • 比較兩個數據是否相等,參數類型分別為byte, short, int, long。

PART 4:數組初始化 記憶體圖

1. 數組概述

  • 數組是存儲同一種數據類型多個元素的集合。

2. 數組概念

  • 數組既可以存儲基本數據類型,也可以存儲引用數據類型。

3. 數組的初始化

  • 動態初始化:指定數組長度,系統分配初始值。
  • 靜態初始化:指定每個數組元素的初始值。

4. Java中的記憶體分配

  • 棧存儲局部變數,堆存儲new出來的東西。

5. 數組的初始化

  • 靜態初始化:指定每個數組元素的初始值。

6. 數組操作常見問題

  • 數組索引越界:ArrayIndexOutOfBoundsException
  • 空指針異常:NullPointerException

7. 二維數組概述

  • 二維數組是元素為一維數組的數組。

8. 二維數組定義格式

  • 格式1:數據類型[][] 變數名 = new 數據類型[m][n];
  • 格式2:數據類型[][] 變數名 = new 數據類型[m][];
  • 格式3:數據類型[][] 變數名 = new 數據類型[][]{{元素…},{元素…},{元素…}};

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 組合式 (Composition) API 的一大特點是“非常靈活”,但也因為非常靈活,也可能導致我們的代碼變得愈發混亂,最終到達無法維護的地步。 ...
  • Next.js 作為一個強大的 React 框架,為開發者提供了兩種路由系統:App Router 和 Pages Router。這兩種路由系統各有特色,適用於不同的場景。本文將深入探討這兩種路由系統的區別、優缺點和使用場景,幫助你做出最佳選擇。 App Router:新一代的路由革命 App Ro ...
  • RPC 和HTTP 的區別 服務發現 HTTP,知道服務功能變數名稱,可以通過 DNS 解析 得到 服務的IP地址,從而進行訪問 RPC 需要一個專門的中間服務去保存服務名和IP信息(註冊中心,nacos、consul),想要訪問某個服務,就得同時註冊到 中間服務,然後獲取需要頂用服務的IP 和埠信息 底 ...
  • 前言 Gunicorn是一種流行的WSGI HTTP伺服器,常用於部署Django和Flask等Python Web框架程式。Gunicorn具有輕量級、高穩定性和高性能等特性,可以輕易提高Python WSGI App運行時的性能。 基本原理 Gunicorn採用了pre-fork模型,也就是一個 ...
  • 記憶體拷貝 - memcpy 描述 C 庫函數 void *memcpy(void *str1, const void *str2, size_t n) 從存儲區 str2 複製 n 個位元組到存儲區 str1。 memcpy 是最快的記憶體到記憶體複製子程式。 它通常比必須掃描其所複製數據的strcpy ...
  • playwright也是可以做介面測試的,但個人覺得還是沒有requests庫強大,但和selenium相比的話,略勝一籌,畢竟支持API登錄,也就是說可以不用交互直接調用介面操作了。 怎麼用 既然是API的測試了,那肯定就別搞UI自動化那套,搞什麼瀏覽器交互,那叫啥API測試,純屬扯淡。 也不像有 ...
  • 題目要求 給你一個由 n 個整數組成的數組 nums ,和一個目標值 target 。請你找出並返回滿足下述全部條件且不重覆的四元組 [nums[a], nums[b], nums[c], nums[d]] (若兩個四元組元素一一對應,則認為兩個四元組重覆): 0 <= a, b, c, d < n ...
  • 2018年6月,大三暑假 那一天,我投遞了家裡附近的一家公司有響應了,他線上問我什麼時候可以去面試,我說什麼時候都行。 HR:“要不你下午來吧?” 我:“行,我家裡離面試地點不遠” 我去面試之前,現在都會提前看看這家公司是做什麼業務的,先瞭解下。 因為在之前的面試已經吃過類似的虧了,HR問我為什麼要 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...