【发布时间】:2012-04-02 11:04:51
【问题描述】:
我的第二个打印行出现异常。
int num[] = {50,20,45,82,25,63};
System.out.print("Given number : ");
for(int d:num){
System.out.print(" " + num[d]);
}
控制台输出是
Given number : Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 50
为什么 d 不取所有数组元素而只取 50 个?
【问题讨论】:
-
当你使用 foreach 语法时:for(int d : num){ // etc } d 不是索引,它是已经被索引的值!!