使用增强的for循环时出现异常,而正常的for循环工作正常

我正在学习java,有人告诉我,您可以for loop使用enhanced for loop.

现在我有那个正常的for loop

int[] array1 = {3, 6, 9, 12};

for (int i = 0; i < array1.length; i++)
{
    System.out.println(array1[i]);
}

而这个返回

3 6 9 12

正如预期的那样。

当我将它用作 a 时enhanced for loop,就像这样:

for (int i : array1)
{
    System.out.println(array1[i]);          
}

它返回

12

然后我得到一个例外:

线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:在 Tutorial.main(Tutorial.java:15) 处,长度为 4 的索引 6 越界

回答

在第二个片段i中不再是索引而是实际值,因此要打印它你应该简单地写:

for (int i : array1) {
    System.out.println(i); // no array1[i]          
}


以上是使用增强的for循环时出现异常,而正常的for循环工作正常的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>