Uno*_*yan 1 java arrays for-loop multidimensional-array elementary-os
对于代码:
// Demonstrate a two-dimensional array.
class TwoDArray {
public static void main(String args[]) {
int twoD[][] = new int[4][5];
int i, j, k = 0;
for (i = 0; i < 4; i++)
for (j = 0; j < 5; j++) {
twoD[i][j] = k;
k++;
}
for (i = 0; i < 4; i++) {
for (j = 0; j < 5; j++)
System.out.print(twoD[i][j] + " ");
System.out.println();
}
}
}
Run Code Online (Sandbox Code Playgroud)
输出给了我:
0 1 2 3 4
5 6 7 8 9
10 11 12 13 14
15 16 17 18 19
Run Code Online (Sandbox Code Playgroud)
问题是,为什么不给每个数字赋予新的界限?我的意思是在for循环中,如果第一个System.out输出20次,为什么下一次System.out.println();输出的数量不一样呢?
如果你使用了适当的缩进,它会更清楚:
for (i=0; i<4; i++) {
for (j=0; j<5; j++)
System.out.print(twoD[i][j] + " ");
System.out.println();
}
Run Code Online (Sandbox Code Playgroud)
System.out.println(); 属于外部循环,因此在内部循环结束后,它会对外部循环的每次迭代执行一次.
您还可以将内部循环包裹在花括号中以使其更清晰:
for (i=0; i<4; i++) {
for (j=0; j<5; j++) {
System.out.print(twoD[i][j] + " ");
}
System.out.println();
}
Run Code Online (Sandbox Code Playgroud)