为了账号安全,请及时绑定邮箱和手机立即绑定

Java 2D 数组长度

Java 2D 数组长度

郎朗坤 2021-10-27 17:01:22
我制作了一个非常基本的 2D 数组,像这样有 3 行和 4 列。    int [][]array = new int[3][4];当我尝试像这样检查长度时,    System.out.println(array.length);我得到 3 的结果。但是,当我尝试时:    System.out.println(array[0].length);我得到 4 的结果。同样的事情使用array[1].length, 和array[2].length。我不确定编译器正在处理什么。谁能解释一下?
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

您可以将以下 array变量视为数组数组,它由3数组组成,每个数组包含4元素


int [][]array = new int[3][4];


因此,当您尝试时,您array.length会得到3第一个包含 3 个数组的数组,4每个数组都包含元素,但是当您array[0].length, array[1].length, 时array[2].length,您正在检查array变量中元素数组的长度,所有这些都为您提供4.


编辑:


假设您想从数组变量中取出数组array并检查长度


int [] arr1 = array[0]; // arr1.length = array[0].length which is 4

int [] arr2 = array[1]; // arr2.length = array[1].length which is 4

int [] arr3 = array[2];  //arr3.length = array[2].length which is 4


查看完整回答
反对 回复 2021-10-27
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

二维数组看起来像一个矩阵,只是一个数组的数组。

如果你写:

System.out.println(array[0].length);

会给你你的第一个数组(4)的长度,即列数。

如果你写:

System.out.println(array.length);

会给你行数(3)的长度。


查看完整回答
反对 回复 2021-10-27
  • 3 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信