PART 1: while迴圈 雙重for迴圈 1. 迴圈結構(while迴圈語句) 基本格式 while(判斷條件語句) { 迴圈體語句; } 擴展格式 初始化語句; while(判斷條件語句) { 迴圈體語句; 控制條件語句; } 2. 迴圈結構(for迴圈和while迴圈的區別) for迴圈和 ...
PART 1: while迴圈 雙重for迴圈
1. 迴圈結構(while迴圈語句)
基本格式
while(判斷條件語句) {
迴圈體語句;
}
擴展格式
初始化語句;
while(判斷條件語句) {
迴圈體語句;
控制條件語句;
}
2. 迴圈結構(for迴圈和while迴圈的區別)
- for迴圈和while迴圈可以等價轉換,但仍有小區別:
- 控制條件語句所控制的變數,在for迴圈結束後不能訪問,while迴圈可以繼續使用。
- for迴圈適合針對一個範圍判斷操作,while迴圈適合判斷次數不明確的操作。
3. 迴圈結構(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 數據類型[][]{{元素…},{元素…},{元素…}};