void c()
{
int a[] = {1,2,3,4,5,6,7};
for(int i :a)
{
System.out.println(i);
}
}
与
void c()
{
int a[] = {1,2,3,4,5,6,7};
for(int i :a)
{
System.out.println(a[i]);
}
}
两种不同的方式输出,但是第二种出现错误提示,说数据越界
原因:在这种循环的写法下,i获取的是数组a中的每一个元素的值,而不是数组的下标,当读取到a[6]时,i= 7;这时输出a[7]发生越界。