java中的循环数组

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[

为什么会出现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[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);
}