Я объявил массив, как показано ниже:
int[] arr = new int[10];
Затем я присвоил массиву следующие значения:
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
Затем я объявил и инициализировал целочисленную переменную:
int arrayLength = arr.length;
Это будет полезно для определения фактического размера, но есть ли какой-либо способ найти логический размер массива?
Во-первых,
length
это свойство, поэтому было быarr.length
вместоarr.length()
.И вернет 10, заявленный размер. Элементы, которые вы не объявляете явно, инициализируются 0.
источник
Чтобы найти длину массива,
A
вы должны использоватьlength
свойство. Это какA.length
, не используйтеA.length()
его, в основном, он используется для размера объектов, связанных со строкой.Свойство length всегда будет показывать общее выделенное пространство для массива во время инициализации.
Если у вас когда-либо возникнут какие-либо проблемы такого рода, простой способ - запустить ее. Удачного программирования!
источник
Массивы - это статическое распределение памяти, поэтому, если вы инициализируете массив целых чисел:
Длина всегда будет 15, независимо от того, сколько индексов заполнено.
И еще: когда вы инициализируете массив целых чисел, все индексы будут заполнены "0".
источник
В Java ваш «фактический» и «логический» размер одинаковы. При распределении среда выполнения заполняет все слоты массива значениями по умолчанию. Итак, ваш
a
содержит 10.источник
В этом случае arr.length вернет 10 - размер выделенного вами массива. Логический размер здесь не применяется, поскольку это массив фиксированной длины.
Когда вы инициализируете массив:
Java создаст массив из 10 элементов и инициализирует все их значениями 0. Подробную информацию о начальных значениях для этого и других примитивных типов см. В спецификации языка Java .
источник
arr
- этоint
массив типов, имеющий размер10
. Это массив10
элементов. Если мы не инициализируем массив по умолчанию, элементы массива содержат значение по умолчанию. В случае массива int значение по умолчанию -0
.length - свойство, применимое к массиву.
вот
arr.length
дам10
.источник
`
Итак, здесь мы создали массив с объемом памяти 3 ... вот как это выглядит на самом деле
0-я 1-я 2-я ...........> Индекс 2 4 5 ...........> Номер
Итак, как вы видите, размер этого массива равен 3, но индекс массива составляет только до 2, поскольку любой массив начинается с 0-го индекса.
вывод второго оператора должен быть 3, так как длина массива равна 3 ... Пожалуйста, не запутайтесь между значением индекса и длиной массива ....
ура!
источник
источник
Он будет содержать фактический размер массива, так как это то, чем вы инициализировали массив, когда вы его объявили. В Java нет концепции «логического» размера массива, поскольку значение по умолчанию 0 так же логично, как и значения, которые вы установили вручную.
источник
Он содержит выделенный размер, 10. Остальные индексы будут содержать значение по умолчанию, равное 0.
источник
Если вам нужен логический размер массива, вы можете просмотреть все значения в массиве и проверить их на ноль. Увеличьте значение, если оно не равно нулю, и это будет логический размер. Поскольку размер массива фиксированный, у вас нет встроенного метода, возможно, вам стоит взглянуть на коллекции.
источник
Так должно быть:
Скобки следует избегать.
источник
Массивы Java на самом деле имеют фиксированный размер, а другие ответы объясняют, как .length на самом деле не делает то, что вы ожидаете. Я просто хотел бы добавить, что, учитывая ваш вопрос, вы, возможно, захотите использовать ArrayList, то есть массив, который может увеличиваться и уменьшаться:
https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html
Здесь метод .size () покажет вам количество элементов в вашем списке, и вы можете увеличивать его по мере добавления элементов.
источник
если вы имеете в виду под "логическим размером" индекс массива, тогда просто int arrayLength = arr.length-1; поскольку индекс массива начинается с «0», поэтому логический или «индекс массива» всегда будет меньше фактического размера на «единицу».
источник
Массивам выделяется память во время компиляции в java, поэтому они статичны, элементы, не заданные или не измененные явно, устанавливаются со значениями по умолчанию. Вы можете использовать такой код, хотя это не рекомендуется, поскольку он не учитывает значения по умолчанию, даже если вы явно инициализируете их таким образом, это также может вызвать ошибки в дальнейшем. Как говорили другие, при поиске фактического размера необходимо использовать «.length» вместо «.length ()».
источник