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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...