我正准备参加Oracle Java SE7助理考试,我对学习指南中的这个示例问题感到困惑:
给定以下数组声明,将显示哪个语句 数组的每个元素?
int arr[] = {1,2,3,4,5};
一个。 for(int n : arr[]) { System.out.println(n); }
湾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]索引数组。
这是答案密钥中的错误吗?
感谢您的帮助。
答案 0 :(得分:1)
B是唯一一个看起来对我好的人。
C&amp; C&amp; D都从1(不是0)开始,如果我的计数是正确的,则抛出并索引越界异常。我认为这是答案中的错误。
答案 1 :(得分:0)
狡猾地思考,就像考试的作者一样,C&amp; D至少会在数组中显示4个元素,但随后会出现异常。所以他们仍然不满足要求。