gpt4 book ai didi

java - 在二维数组中识别 .length

转载 作者:行者123 更新时间:2023-11-29 06:09:55 24 4
gpt4 key购买 nike

.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("");
}
}
}

最佳答案

您已经声明了一个 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 到 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、4 中的任何一个。请注意 .length 中的长度是一个静态变量(您可以从此处阅读更多关于静态变量的信息 http://download.oracle.com/javase/tutorial/java/nutsandbolts/variables.html 并了解静态方法和静态类)

总结一下,长度就是一个数组的大小

您可以从此处了解有关数组的更多信息 - http://javapapers.com/core-java/java-array/

关于java - 在二维数组中识别 .length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7284666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com