Java for-each Loop
簡介
很多程式語言都有支援for-each這類的語法,簡單的說for-each語法就是當我們想要存取一個 Array 或 Collection 裡面所有的元時可以更方便、更有效率的語法。for-each 也有人稱為 enhanced for 或 for-in。
使用上要注意的事項有:
- 只適用於 Java 5.0 以後的版本
- 只適用於有 implement Iterable
- 只能存取裡面元素而不能置換掉它,記住,for-each 裡面的變數是 local 變數離開 for-each 之後就會消失。
- 只能同時針對一個 Array 或 Collection 進行操作。
- 只能同時針對一個元素操作。
- 只能從頭開始訪問每個元素。
語法
for-each 迴圈 | for 迴圈 |
---|---|
for (type var : arr) { body-of-loop } | for (int i = 0; i < arr.length; i++) { type var = arr[i]; body-of-loop } |
for (type var : coll) { body-of-loop } | for (Iterator<type> iter = coll.iterator(); iter.hasNext(); ) { type var = iter.next(); body-of-loop } |
範例
這是一個使用 for-each 迴圈的程式碼:
double[] ar = {1.2, 3.0, 0.8}; int sum = 0; for (double d : ar) { // d gets successively each value in ar. sum += d; }
這是一個使用一般 for 迴圈的程式碼:
double[] ar = {1.2, 3.0, 0.8}; int sum = 0; for (int i = 0; i < ar.length; i++) { // i indexes each element successively. sum += ar[i]; }
0 意見:
張貼留言