【发布时间】:2016-03-09 08:50:22
【问题描述】:
我不知道为什么数组按顺序打印出 int,而不是按它们放入数组中的顺序。
int[] array = {1, 4, 0, 3, 2};
for(int i : array){
System.out.println(array[i]);
}
对此有什么解释吗?
提前致谢!
【问题讨论】:
-
i不代表索引,而是Iterator及其当前元素返回的值
我不知道为什么数组按顺序打印出 int,而不是按它们放入数组中的顺序。
int[] array = {1, 4, 0, 3, 2};
for(int i : array){
System.out.println(array[i]);
}
对此有什么解释吗?
提前致谢!
【问题讨论】:
i 不代表索引,而是Iterator 及其当前元素返回的值
你应该打印循环的变量:
for(int i : array){
System.out.println(i);
}
如果您打印 array[i] 而不是 i,您将得到 4 而不是 1 作为第一个打印元素,因为 array[1] == 4。
如果您使用传统的 for 循环,您的代码将是正确的,该循环遍历数组的索引:
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
【讨论】: