我正在观看有关二维数组的教程,我似乎无法理解其中的值 states.length和states [i] .length来自。它如何知道外部循环处理大小为3的数组,而内部是2号数组?
public class Test3 {
public static void main(String[] args) {
String [][] states = new String[3][2];
states[0][0] = "California";
states[0][1] = "Sacremento";
states[1][0] = "Oregon";
states[1][1] = "Salem";
states[2][0] = "Washington";
states[2][1] = "Olympia";
for (int i = 0; i < states.length; i++) {
StringBuilder sb = new StringBuilder();
for (int j = 0; j < states[i].length; j++) {
sb.append(states[i][j]);
}
System.out.println(sb);
}
}
}
答案 0 :(得分:0)
states.length
是数组的行长度,而states[i].length
是指定行的列数。
答案 1 :(得分:0)
嗯,二维数组是一个数组数组。
所以String [3] [2]是
[["string", "string"],
["string", "string"],
["string", "string"]]
states.length
是外部数组的长度,为3。
states[i].length
是每个单独数组的长度,均为2。
答案 2 :(得分:0)
首先创建一个如下所示的2D数组。
[[California, Sacramento]
[Oregon, Salem]
[Washington, Olympia]]
第一个for循环将迭代每一行。在这种情况下,states.length为3,因为有3行。
下一个for循环将迭代每行中的列。
换句话说,states[i]
会给你一排。如果i为0,则states[0]
为[California, Sacramento]
该行有2个条目,因此states[0].length
为2。