Java數組遍歷:for-each循環,輕鬆遍歷數組元素

在Java中,數組是用來存儲多個相同類型數據的容器。當我們需要查看數組中的每個元素時,就需要進行“遍歷”操作。遍歷數組的方法有很多,其中“for-each循環”(也叫增強for循環)是最簡單、最常用的方法之一,尤其適合初學者快速上手。

一、for-each循環的語法格式

for-each循環的語法非常簡潔,不需要手動管理數組索引,直接“逐個”訪問數組元素。基本格式如下:

for (數據類型 臨時變量 : 數組名) {
    // 這裏寫處理每個元素的代碼
}
  • 數據類型:必須與數組元素的類型一致(比如數組是int[],這裏就用int)。
  • 臨時變量:每次循環時,這個變量會“臨時”存儲數組中的一個元素(可以自定義變量名,比如numelement等)。
  • 數組名:要遍歷的數組。

二、第一個for-each循環示例

假設我們有一個存儲學生成績的數組:

int[] scores = {90, 85, 95, 78}; // 數組裏有4個元素

用for-each循環遍歷這個數組並打印每個成績:

for (int score : scores) { // score是臨時變量,每次循環取一個元素
    System.out.println(score); // 打印當前元素
}

運行這段代碼,會依次輸出:

90
85
95
78

每次循環,score都會“拿到”數組中的下一個元素,直到所有元素都被訪問完畢。

三、for-each循環的優點

對初學者來說,for-each循環有3個顯著優勢:
1. 代碼更簡潔:不需要寫數組長度、索引初始化和越界判斷,避免了複雜的循環條件。
2. 安全性高:無需擔心數組越界(比如不會出現i < scores.length寫錯導致的錯誤)。
3. 邏輯更直觀:直接處理“元素本身”,不需要關心數組的位置關係,容易理解。

四、對比普通for循環

如果用傳統的“帶索引for循環”遍歷數組,代碼會稍顯複雜:

// 普通for循環遍歷
for (int i = 0; i < scores.length; i++) {
    System.out.println(scores[i]); // 通過索引i訪問元素
}

可以看到,普通for循環需要手動維護索引i,而for-each循環直接省略了這些步驟。如果只是“讀取”數組元素(不修改或使用索引),for-each循環更簡單;如果需要修改元素使用索引(比如計算位置關係),則需要普通for循環。

五、注意事項:for-each循環能修改數組元素嗎?

for-each循環的“臨時變量”本質是數組元素的“副本”,修改臨時變量不會影響原數組。例如:

// 嘗試用for-each循環修改元素(不會生效!)
for (int score : scores) {
    score = score + 5; // 錯誤寫法:只修改了臨時變量,原數組不變
}
System.out.println(scores[0]); // 輸出還是90,沒有變化

如果要修改數組元素,必須用普通for循環(通過索引修改):

// 正確修改數組元素的方法(普通for循環)
for (int i = 0; i < scores.length; i++) {
    scores[i] = scores[i] + 5; // 通過索引修改原數組
}
System.out.println(scores[0]); // 輸出95

六、總結

for-each循環是Java中遍歷數組的“利器”,它讓代碼更簡潔、易讀,適合初學者快速掌握數組遍歷。記住:
- 只讀數組元素(如打印、統計):優先用for-each循環。
- 需要修改元素或使用索引:用普通for循環。

掌握for-each循環,能讓你在處理數組時事半功倍,告別繁瑣的索引操作!

小夜