Java中的数组长度

我声明了一个数组,如下所示:

int[] arr = new int[10]; 

然后我将下列值分配给数组:

 arr[0] = 1; arr[1] = 2; arr[2] = 3; arr[3] = 4; 

然后我宣布并初始化一个整数variables:

 int arrayLength = arr.length; 

arrayLength包含什么? 它是否包含数组的实际大小或逻辑大小?

它包含分配的大小,10.未分配的索引将包含int的默认值0。

首先, length是一个属性,所以它会是arr.length而不是arr.length()

它将返回10,声明的大小。 您不明确声明的元素用0初始化。

要查找数组“A”的长度,您应该使用length属性。 它是“A.length”,不要用A.length()它主要用于string相关对象的大小。 在这里输入图像说明

length属性将始终显示初始化期间分配给数组的总空间。

如果你遇到过这样的问题,简单的方法就是运行它。 快乐的编程

数组是静态内存分配,所以如果初始化一个整数数组:

 int[] intArray = new int[15]; 

无论有多less个索引,长度总是 15。

另一件事,当你初始化一个整数数组时, 所有的索引都会被填充“0”。

在这种情况下,arr.length将返回10,你分配的数组的大小。 逻辑大小并不适用于此,因为这是一个固定长度的数组。

初始化数组时:

 int[] arr = new int[10]; 

Java将创build一个包含10个元素的数组,并将所有这些元素初始化为0.请参阅Java语言规范以获取有关此和其他基本types的初始值的详细信息。

在Java中,您的“实际”和“逻辑”大小是相同的。 运行时在分配时使用缺省值填充所有数组插槽。 所以,你的a包含10个。

`

int array [] = new int [3]; array.length;

所以在这里我们创build了一个内存空间为3的数组…这是它实际上的样子

0th 1st 2nd ………..> Index 2 4 5 ………..> Number

所以当你看到这个数组的大小是3,但是数组的索引只能达到2,因为任何数组都以0索引开始。

第二条语句的输出应为3,因为数组的长度是3 …请不要混淆索引值和数组的长度….

干杯!

它将包含数组的实际大小,因为这是您声明数组时初始化的数组。 Java没有数组“逻辑”大小的概念,就其而言,默认值0与您手动设置的值一样合乎逻辑。

它应该是int a = arr.length; 应该避免括号。

它包含分配的大小,10.剩余的索引将包含默认值0。

如果你想要数组的逻辑大小,你可以遍历数组中的所有值,并检查它们为零。 如果值不为零,则增加值,这将是逻辑大小。 因为数组大小是固定的,所以你没有任何内置的方法,可能你应该看看集合。