了解使用2d数组Java的迭代

时间:2014-06-30 01:39:34

标签: java arrays 2d

我正在观看有关二维数组的教程,我似乎无法理解其中的值 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);
    }

}
}

3 个答案:

答案 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。