軌道
/
Java
Java
/
課程大綱
/
for-each 迴圈
fo

for-each 迴圈 在 Java

6 個練習

關於 for-each 迴圈

for-each 迴圈 提供了一種機制,能為集合中的每個元素執行一段程式區塊。 有些文件(例如 Oracle 的文件)會把這種迴圈稱為增強式 for 迴圈。

以下是通用語法:

for(declaration: collection) {
    body;
}

declaration 會宣告用來儲存從集合指定過來的值的變數。

collection 是陣列或集合,裡面存放著將被指定給迴圈變數的值。

body 包含的敘述,會針對集合中的每個值各執行一次。

例如:

char[] vowels = {'a', 'e', 'i', 'o', 'u'};

for(char vowel: vowels) {
    System.out.println(vowel);
}

輸出結果為:

a
e
i
o
u

一般來說,for-each 迴圈會比 for 迴圈更適合,原因如下:

  • for-each 迴圈保證會疊代過_所有_值。
  • for-each 迴圈更具_宣告式_風格,也就是說,程式碼傳達的是它_在做什麼_,而不是_怎麼做_。
  • for-each 迴圈萬無一失,而使用 for 迴圈時很容易出現 off-by-one 錯誤(想想使用 < 和 <= 的差別)。
  • for-each 迴圈適用於所有集合型別,包括不支援用索引存取元素的集合型別(例如 Set)。
透過 GitHub 編輯 連結會在新視窗或分頁中開啟

學習 for-each 迴圈