这里使用.length有什么用?在下面的代码中可以用.length代替什么?我只是想更好地理解代码,明天考试! W00t!
public class twoDimension{
public static void main(String[] args) {
int[][] a2 = new int[10][5];
for (int i=0; i<a2.length; i++) {
for (int j=0; j<a2[i].length; j++) {
a2[i][j] = i;
System.out.print(" " + a2[i][j]);
}
System.out.println("");
}
}
}
答案 0 :(得分:3)
您已声明了一个int类型数组并对其进行了初始化。
第一个方括号内的10表示您将为该行存储10个值,并且是数组'n'的大小,其中n = 10。行长为10。
第二个方括号内的5表示您将为该列存储5个值,并且是数组'n'的大小,其中n = 5。列长度为5.
在这种情况下,您有一个包含10个位置的数组
streetX[house_1]
streetX[house_2]
streetX[house_3]
streetX[house_4]
streetX[house_5]
streetX[house_6]
streetX[house_7]
streetX[house_8]
streetX[house_9]
streetX[house_10]
并且每个位置内部是另外5个不同的位置
{house_i[room_number1], house_i[room_number2], house_i[room_number3], house_i[room_number4], house_i[room_number5]}
其中我可以代表1到10中的任何一个
把它想象成街上的10栋房子。每个房子有5个房间。每栋房屋都有一个独特的地址,以区别于街道上的其他房屋。以同样的方式,一个房子中的每个房间将与其余房间不同。你现在可以在每个房间保留不同的东西。
街道上有一系列房屋,每栋房屋都有一系列房间。
因此,您将拥有:您可以将a2视为streetX,即a2 = streetX
streetX有10个房子,因此,a2有10个位置。 a2的大小为10意味着长度为10.因此,a2.length = 10
注意:当您引用数组值时,索引从0'零'开始到'n-1'。数组索引始终是整数,可以是int,short,byte或char。
house_i(其中i的范围是1 t0 10)但我们通常将索引从0开始计算。我们将索引0到9. house_i类似于a2 [i]。有5个房间,因此有5个地点。任何a2 [i](即任何房屋a2 [0],a2 [1],a2 [2],a2 [3]或a2 [4]))的大小为5意味着长度为5.因此,a2 [i] .length = 5
a2[house1][room1] a2[house1][room2] a2[house1][room3] a2[house1][room4] a2[house1][room5]
a2[house2][room1] a2[house2][room2] a2[house2][room3] a2[house2][room4] a2[house2][room5]
a2[house3][room1] a2[house3][room2] a2[house3][room3] a2[house3][room4] a2[house3][room5]
a2[house4][room1] a2[house4][room2] a2[house4][room3] a2[house4][room4] a2[house4][room5]
a2[house5][room1] a2[house5][room2] a2[house5][room3] a2[house5][room4] a2[house5][room5]
a2[house6][room1] a2[house6][room2] a2[house6][room3] a2[house6][room4] a2[house6][room5]
a2[house7][room1] a2[house7][room2] a2[house7][room3] a2[house7][room4] a2[house7][room5]
a2[house8][room1] a2[house8][room2] a2[house8][room3] a2[house8][room4] a2[house8][room5]
a2[house9][room1] a2[house9][room2] a2[house9][room3] a2[house9][room4] a2[house9][room5]
a2[house10][room1] a2[house10][room2] a2[house10][room3] a2[house10][room4] a2[house10[room5]
注意:当您引用数组值时,索引从0'零'开始到'n-1'。数组索引始终是整数,可以是int,short,byte或char。
如果n = 10,我们将得到0 ... 9
如果n = 5,我们将得到0 ... 4
例如,streetX [house1] [room1] = a2 [house1 [room1]将成为a2 [0] [0]
最终,您将拥有:
a2[0][0] a2[0][1] a2[0][2] a2[0][3] a2[0][4]
a2[1][0] a2[1][1] a2[1][2] a2[1][3] a2[1][4]
a2[2][0] a2[2][1] a2[2][2] a2[2][3] a2[2][4]
a2[3][0] a2[3][1] a2[3][2] a2[3][3] a2[3][4]
a2[4][0] a2[4][1] a2[4][2] a2[4][3] a2[4][4]
a2[5][0] a2[5][1] a2[5][2] a2[5][3] a2[5][4]
a2[6][0] a2[6][1] a2[6][2] a2[6][3] a2[6][4]
a2[7][0] a2[7][1] a2[7][2] a2[7][3] a2[7][4]
a2[8][0] a2[8][1] a2[8][2] a2[8][3] a2[8][4]
a2[9][0] a2[9][1] a2[9][2] a2[9][3] a2[9][4]
外部for ...循环将重复10次,记住,a2.length = 10并且内部for ...循环重复5次,记住,a2 [] .length = 5
你初始化了a2 [i] [j] = i,因此对于每个内部循环,你将把i(房子)的索引存储为每个房间的房子的价值或数量。
因此,当您执行程序时,您将得到以下打印输出或结果。
计算行数和列数,并观察每行的值是否相同。
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
9 9 9 9 9
对于数组,您可以使用[array_object_name] .length或指定数字大小。例如。在示例程序中a2.length或10,或a2 [i] .length或5。其中i等于0,1,2,3中的任何一个。注意.length中的长度是一个静态变量(你可以从这里http://download.oracle.com/javase/tutorial/java/nutsandbolts/variables.html阅读更多关于静态变量的知识,并了解静态方法和静态类)
总之,长度是数组的大小
您可以从此处了解有关数组的更多信息 - http://javapapers.com/core-java/java-array/
答案 1 :(得分:0)
这里使用.length有什么用?
与一维数组没有区别:要获取数组中的元素数,如果将二维数组视为表,则假设第一个.length是行长度,第二个.length是列长度。得到它?
在下面的代码中可以用.length代替什么?
你在宣言中看到了什么(准确的结构)?
答案 2 :(得分:0)
a2.length是行数。在这种情况下,外循环将迭代10次。 a2 [i] .length是一个特定行的长度。