【发布时间】:2017-06-23 08:20:12
【问题描述】:
我试图理解这个数组。我不明白为什么系统会打印出第 0 列而不是第 0 行。
public static void main(String[] args) {
int[][] wps = {{0,1,2},{3,4,5},{6,7,8},{0,3,6},{1,4,7},{2,5,8},{0,4,8},{2,4,6}};
for(int[] wp : wps){
System.out.println(wp[0]);
//System.out.println(wp[1]);
//System.out.println(wp[2]);
}
}
输出:
0
3
6
0
1
2
0
2
我的假设是
for(int[] wp : wps)
正在获取列,但我认为二维数组是结构化的
int [行][列]
如果有人可以向我解释这一点,那就太棒了。 提前致谢!
【问题讨论】:
-
您正在打印每个子数组中的第一个元素:
{{**0**,1,2}, {**3**,4,5}, {**6**,7,8}, ...。 -
二维数组是结构化的,但是你可以构造它们。它们本质上不是行优先或列优先。只有您的用法或解释。
-
因为这就是你要求它做的事情。
wp是行,在您的系统输出打印中,您要求打印该行的第一列。 -
wp是您的行,在这一行中您选择第一列的值 (wp[0])。 -
啊,好吧,所以 for(int[] wp : wps){ System.out.println(wp[0]);第一次是 [0][0] 第二次是 [1][0] 等等?
标签: java arrays multidimensional-array