Given the following array:
int[] intArr = {8, 16, 32, 64, 128};
Which two code fragments, independently, print each element in this array?
A.
for (int i : intArr) {
System.out.print(intArr[i] + " ");
}
B.
for (int i : intArr) {
System.out.print(i + " ");
}
C.
for (int i = 0; intArr) {
System.out.print(intArr[i] + " ");
i++;
}
D.
for (int i = 0; i < intArr.length; i++) {
System.out.print(i + " ");
}
E.
for (int i = 0; i < intArr.length; i++) {
System.out.print(intArr[i] + " ");
}
題解
選項A,在第一次執行for迴圈時會拋出ArrayIndexOutOfBoundsException,因為intArr[8]超出陣列索引範圍。
選項B,正確的foreach用法。
選項C,在第一次執行for迴圈時會拋出ArrayIndexOutOfBoundsException,因為intArr[8]超出陣列索引範圍。
選項D,會輸出「0 1 2 3 4 」,不是我們要的結果。
選項E,正確的程式。