iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
自我挑戰組

JAVA的實作與應用系列 第 16

Day 16 for-each

在寫for迴圈的時候,每次都需要輸入for迴圈的條件式,宣告int I, i<某數, i++
等類似的條件式,若要寫多個for迴圈,程式碼會變得密密麻麻,因此java有一個for-each的寫法,語法如下:

int[] array = new int[n];
for(int item : array);{
n += item;
}
假設要從整數陣列裡面拿出一些數出來計算,for迴圈裡面的條件式會先宣告一個暫時的函數item,這個item像是一個飯匙,array像是飯鍋,item 從飯鍋裡面撈東西出來記算的蓋念。

String[] letters = {"A", "B", "C", "D", "E"};
for (String letter: letters) {
}
對於字串陣列也是一樣的概念,宣告一個暫時的字串函數letter,
並從string陣列裡撈字串出來執行。

Day15程式碼是輸入一個數接著可以跑出對應數字的亂數,其迴圈的部分原式如下
https://ithelp.ithome.com.tw/upload/images/20210928/20140456EhaKRfN8nz.png

用for-each方法改寫如下
https://ithelp.ithome.com.tw/upload/images/20210928/20140456ParCiZYSK3.png
執行結果相同,程式全碼如下
https://ithelp.ithome.com.tw/upload/images/20210928/20140456Gyzx8a9x1P.png

有幾個要注意的地方
1 for-each一定是從頭開始走訪每個元素,不會從資料的尾端向前走訪
2 只能取出集合或陣列裡的元素不能置換,所以不能執行swap
3 for-each迴圈裡面的變數是區域變數


上一篇
Day 15 Array
下一篇
Day 17 Swap
系列文
JAVA的實作與應用30

尚未有邦友留言

立即登入留言