【发布时间】:2018-01-04 17:57:11
【问题描述】:
我有一个关于二维数组迭代的问题。为什么这适用于 System.out.println(n) 而不是 System.out.println(row[n])?我正在尝试打印所有数字。
public class test
{
public static void main(String[] args){
int numbers[][] = {{1,2,3}, {4,5,6}};
for (int [] row : numbers){
for (int n: row){
System.out.println(n);
}
}
}
}
【问题讨论】:
-
为什么这不起作用?在您的第一个 foreach 循环中,什么是行?索引还是数组的元素?那么为什么 n 会有所不同呢?
-
因为
n不是行中的索引 - 它是行中的元素。 -
因为
n在某些时候将具有值 6,row[6]不存在。