java中的循环数组
为什么会出现ArrayIndexOutOfBounds异常:java中的循环数组,java,arrays,loops,Java,Arrays,Loops,为什么会出现ArrayIndexOutOfBounds异常: public class Array { public static void main(String[] args) { int array[] = new int[10]; array[0]=34; array[1]=43; array[2]=55; for (int i : array) { System.out.println(array[
public class Array {
public static void main(String[] args) {
int array[] = new int[10];
array[0]=34;
array[1]=43;
array[2]=55;
for (int i : array) {
System.out.println(array[i]);
}
}
}
谢谢您将
34
作为array[0]
插入,因此当i==array[0]==34
时,array[i]
计算为array[34]
并引发异常,因为array
有10个元素
您可能想要打印数组的内容:
for (int i : array) {
System.out.println(i);
}
或:
或(不同的输出):
因为您正在尝试打印不存在的array[34]
、array[43]
和array[55]
做:
这种增强形式的for
循环“针对数组中名为i
的每个整数…”,而不是“针对数组中名为i
的每个索引…”。因为我在循环34下一个循环43下一个循环55中有这个值
Arrays.stream(array).forEach(System.out::println);
System.out.println(Arrays.toString(array));
for(int i : array) {
System.out.println(i);
}