kiran bhat
Declaré una matriz como se muestra a continuación:
int[] arr = new int[10];
Luego asigné los siguientes valores a la matriz:
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
arr[3] = 4;
Luego declaré e inicialicé una variable entera:
int arrayLength = arr.length;
Voluntad arrayLength
contener 10, el tamaño asignado de la matriz o 4, la cantidad de elementos que se han asignado explícitamente?
kai
Contiene el tamaño asignado, 10
. Los índices no asignados contendrán el valor predeterminado que es 0
para int
.
-
Sí, las matrices son asignación de memoria estática.
– Ramón Saraiva
6 de enero de 2012 a las 9:38
-
¿Puedes mostrar el javadoc? No sé dónde está esta propiedad de “longitud”.
– Felipe Rego
13 de febrero de 2018 a las 18:44
-
@PhilipRego Está en la especificación del idioma docs.oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.3
– Torben
5 de abril de 2019 a las 7:12
Costi Ciudatu
En primer lugar, length
es una propiedad, por lo que sería arr.length
en lugar de arr.length()
.
Y devolverá 10, el tamaño declarado. Los elementos que no declaras explícitamente se inicializan con 0.
-
No se puede invocar length() en el tipo de matriz long[]java(67108980)
– Alessandro Ornano
19 de febrero de 2019 a las 18:23
-
@AlessandroOrnano sí, eso es exactamente lo que dijo la respuesta que sucedería.
– ggorlen
28 dic 2022 a las 23:30
Ravi Pandey
Para encontrar la longitud de una matriz A
deberías usar el length
propiedad. es como A.length
no utilice A.length()
se utiliza principalmente para el tamaño de objetos relacionados con cadenas.
La propiedad de longitud siempre mostrará el espacio total asignado a la matriz durante la inicialización.
Si alguna vez tiene alguno de estos tipos de problemas, la forma más sencilla es ejecutarlo. ¡Feliz programación!
Las matrices son una asignación de memoria estática, por lo que si inicializa una matriz de enteros:
int[] intArray = new int[15];
la longitud sera siempre 15, sin importar cuántos índices se llenen.
Y otra cosa, cuando inicias una matriz de enteros, todos los índices se llenarán con “0”.
En este caso, arr.length devolverá 10, el tamaño de la matriz que asignó. El tamaño lógico realmente no se aplica aquí, ya que se trata de una matriz de longitud fija.
Cuando inicializas la matriz:
int[] arr = new int[10];
Java creará una matriz con 10 elementos e inicializará todos estos a 0. Consulte la especificaciones del lenguaje Java para obtener detalles de los valores iniciales para este y otros tipos primitivos.
Puñal
En Java, su tamaño “real” y “lógico” son los mismos. El tiempo de ejecución llena todas las ranuras de matriz con valores predeterminados en el momento de la asignación. Entonces tus a
contiene 10.
patricio haugh
int[] arr = new int[10];
arr
es un int
matriz de tipos que tiene tamaño 10
. es una matriz de 10
elementos. Si no inicializamos una matriz por defecto, los elementos de la matriz contienen un valor predeterminado. En el caso de la matriz int, el valor predeterminado es 0
.
length es una propiedad que se aplica a una matriz.
aquí arr.length
daré 10
.
Esta pregunta tiene 1 millón de visitas debido al título extremadamente genérico que no ha reflejado bien el contenido de la pregunta hasta 2022, pero no entiendo por qué OP simplemente no lo hizo. ejecutar el código para ver cuál fue el resultado, a menos que esté malinterpretando la pregunta.
– ggorlen
28 de diciembre de 2022 a las 23:29