我正在准备参加 Oracle Java SE7 Associate 考试,我对学习指南中的这个示例问题感到困惑:
<小时/>给定以下数组声明,哪个语句将显示 数组的每个元素?
int arr[] = {1,2,3,4,5};
a. for(int n : arr[]) { System.out.println(n); }
b. for(int n : arr) { System.out.println(n); }
c. for(int n=1; n < 6; n++) { System.out.println(arr[n]);}
d. for(int n=1; n <= 5; n++) { System.out.println(arr[n]);}
答案给出 b、c 和 d 作为正确答案。然而,在我看来,只有 b 应该是正确的,因为 c 和 d 都将从 arr[1] 而不是 arr[0] 开始索引数组。
这是答案错误吗?
感谢您的帮助。
最佳答案
B 是唯一一个对我来说合适的。
C 和 D 都从 1(而不是 0)开始,如果我的计数正确,则会抛出索引越界异常。
我认为答案中有一个错误。
关于Java 循环结构和 OCAJ7 学习指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15921346/