Подтвердить что ты не робот

Длина массива в Java

Я объявил массив, как показано ниже:

int[] arr = new int[10];

Затем я присвоил массиву следующие значения:

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

Затем я объявил и инициализировал целочисленную переменную:

int arrayLength = arr.length;

Это будет полезно для определения фактического размера, но есть ли способ найти логический размер массива?

4b9b3361

Ответ 1

Содержит выделенный размер, 10. Неназначенные индексы будут содержать значение по умолчанию, равное 0 для int.

Ответ 2

Прежде всего, length является свойством, поэтому вместо arr.length() было бы arr.length.

И он вернет 10, объявленный размер. Элементы, которые вы не объявляете явно, инициализируются с помощью 0.

Ответ 3

Чтобы найти длину массива A вы должны использовать свойство length. Это как A.length, не используйте A.length() оно в основном используется для размера объектов, связанных со строками.

enter image description here

Свойство length всегда будет отображать общее выделенное пространство для массива во время инициализации.

Если у вас когда-либо возникнут какие-либо проблемы такого рода, простой способ - запустить их. Удачного программирования!

Ответ 4

Массивы являются распределением статической памяти, поэтому, если вы инициализируете массив целых чисел:

int[] intArray = new int[15];

Длина будет всегда 15, независимо от того, сколько индексов заполнено.

И еще, когда вы вводите массив целых чисел, все индексы заполняются "0".

Ответ 5

В этом случае arr.length вернет 10, размер выделенного вами массива. Логический размер здесь не применим, так как это массив фиксированной длины.

Когда вы инициализируете массив:

int[] arr = new int[10];

Java создаст массив из 10 элементов и инициализирует все из них равным 0. Подробную информацию о начальных значениях для этого и других примитивных типов смотрите в спецификации языка Java.

Ответ 6

В Java ваш "фактический" и "логический" размер одинаков. Время выполнения заполняет все слоты массива значениями по умолчанию при распределении. Итак, ваш a содержит 10.

Ответ 7

`

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

поэтому здесь мы создали массив с объемом памяти 3... вот как это выглядит на самом деле

0-й 1-й 2-й........... > Индекс 2 4 5........... > Номер

Итак, как и размер этого массива равен 3, но индекс массива равен только 2, так как любой массив начинается с 0-го индекса.

вывод второго оператора должен быть 3, так как длина массива равна 3... Пожалуйста, не путайтесь между значением индекса и длиной массива....

ура!

Ответ 8

int[] arr = new int[10];

arr - массив типа int имеющий размер 10. Это массив из 10 элементов. Если мы не инициализируем массив по умолчанию, элементы массива содержат значение по умолчанию. В случае массива int значение по умолчанию равно 0.

длина это свойство, которое применимо для массива.
здесь arr.length даст 10.

Ответ 9

Он будет содержать фактический размер массива, поскольку это то, что вы инициализировали массив, когда вы его объявили. Java не имеет понятия о "логическом" размере массива, поскольку это касается значения по умолчанию 0 так же логично, как и значения, установленные вручную.

Ответ 10

Так должно быть:

int a = arr.length;

Скобки следует избегать.

Ответ 11

Он содержит выделенный размер, 10. Остальные индексы будут содержать значение по умолчанию, равное 0.

Ответ 12

Если вам нужен логический размер массива, вы можете пересечь все значения в массиве и проверить их на нуль. Увеличьте значение, если оно не равно нулю, и это будет логический размер. Поскольку размер массива исправлен, у вас нет встроенного метода, возможно, вам стоит взглянуть на коллекции.

Ответ 13

  int arr[]={4,7,2,21321,657,12321};
  int length =arr.length;
  System.out.println(length); // will return 6

  int arr2[] = new int[10];
   arr2[3] = 4;
  int length2 =arr2.length;
  System.out.println(length2); // // will return 10. all other digits will be 0 initialize because staic memory initialization

Ответ 14

Java-массивы на самом деле имеют фиксированный размер, а другие ответы объясняют, что .length на самом деле не делает то, что вы ожидаете. Я просто хотел бы добавить, что, учитывая ваш вопрос, вы можете использовать ArrayList, массив, который может увеличиваться и уменьшаться:

https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html

Здесь метод .size() покажет вам количество элементов в вашем списке, и вы можете увеличивать его по мере добавления вещей.

Ответ 15

если вы подразумеваете под "логическим размером" индекс массива, то просто int arrayLength = arr.length-1; поскольку индекс массива начинается с "0", то логический или "индекс массива" всегда будет меньше фактического размера на "один".