Antes de publicar una nueva respuesta, considere que ya hay más de 25 respuestas para esta pregunta. Por favor, asegúrese de que su respuesta contribuya con información que no se encuentre entre las respuestas existentes.
Janniks
Respuestas:
2684
Puede usar la declaración de matriz o el literal de matriz (pero solo cuando declara y afecta la variable de inmediato, los literales de matriz no se pueden usar para reasignar una matriz).
Para tipos primitivos:
int[] myIntArray =newint[3];int[] myIntArray ={1,2,3};int[] myIntArray =newint[]{1,2,3};// Since Java 8. Doc of IntStream: https://docs.oracle.com/javase/8/docs/api/java/util/stream/IntStream.htmlint[] myIntArray =IntStream.range(0,100).toArray();// From 0 to 99int[] myIntArray =IntStream.rangeClosed(0,100).toArray();// From 0 to 100int[] myIntArray =IntStream.of(12,25,36,85,28,96,47).toArray();// The order is preserved.int[] myIntArray =IntStream.of(12,25,36,85,28,96,47).sorted().toArray();// Sort
¿Cuál es el propósito de tener la segunda y la tercera forma de hacerlo?
Quazi Irfan
123
@iamcreasy Parece que la segunda forma no funciona con las declaraciones de devolución. return {1,2,3}da un error, mientras return new int[]{1,2,3}funciona bien (suponiendo, por supuesto, que su función devuelva una matriz entera).
Skylar Ittner
1
@SkylarMT Pero aún podemos usar la primera forma de usar con la declaración de devolución.
Quazi Irfan
66
@iamcreasy Recientemente escribí una función que devolvió una serie de entradas. Si ocurrió un error dentro de la función, quería que devolviera un cierto valor, pero la función necesitaba devolver una matriz. ¿De qué manera funciona para una declaración de devolución de una línea? Solo el tercero.
Skylar Ittner
55
@apadana En el segundo caso, está creando un objeto anónimo que solo se define en el ámbito de inclusión (función o lo que sea). Después de devolverlo a la persona que llama, ya no es válido. Usando la nueva palabra clave, asigna el nuevo objeto del montón y es válido fuera del ámbito de definición.
teukkam
280
Hay dos tipos de matriz.
Matriz unidimensional
Sintaxis para valores predeterminados:
int[] num =newint[5];
O (menos preferido)
int num[]=newint[5];
Sintaxis con los valores dados (inicialización de variable / campo):
int[] num ={1,2,3,4,5};
O (menos preferido)
int num[]={1,2,3,4,5};
Nota: por conveniencia, int [] num es preferible porque indica claramente que está hablando aquí sobre array. De lo contrario no hay diferencia. De ningún modo.
for(int[] a : num){for(int i : a){System.out.println(i);}}
Las matrices irregulares son matrices multidimensionales.
Para obtener una explicación, consulte los detalles de la matriz multidimensional en los tutoriales oficiales de Java
¿El primero no conducirá a una matriz nula / vacía, en lugar de una matriz con valores predeterminados?
vipin8169
Estoy de acuerdo con ese punto, y podemos agregar una característica más, podemos cambiar el tamaño dinámicamente.
AdamIJK
Podría discutir con usted sobre el punto de que una matriz multidimensional es un "tipo" diferente de matriz. Es simplemente un término utilizado para describir una matriz que contiene otras matrices. Tanto las matrices externas como las matrices internas (y las intermedias, si existen) son solo matrices regulares.
Type[]es el tipo de la variable llamada nombre ("nombre" se llama identificador ). El "Tipo" literal es el tipo base, y los corchetes significan que este es el tipo de matriz de esa base. Los tipos de matriz son a su vez tipos propios, lo que le permite crear matrices multidimensionales como Type[][](el tipo de matriz de Tipo []). La palabra clave newdice asignar memoria para la nueva matriz. El número entre paréntesis dice qué tan grande será la nueva matriz y cuánta memoria asignar. Por ejemplo, si Java sabe que el tipo base Typetoma 32 bytes y desea una matriz de tamaño 5, debe asignar internamente 32 * 5 = 160 bytes.
También puede crear matrices con los valores que ya existen, como
int[] name ={1,2,3,4,5};
que no solo crea el espacio vacío sino que lo llena con esos valores. Java puede decir que las primitivas son números enteros y que hay 5 de ellos, por lo que el tamaño de la matriz se puede determinar implícitamente.
Entonces, ¿no es necesario incluir int[] name = new int[5]?
Cookie Monster
31
A continuación se muestra la declaración de una matriz, pero la matriz no se inicializa:
int[] myIntArray =newint[3];
A continuación se muestra la declaración y la inicialización de la matriz:
int[] myIntArray ={1,2,3};
Ahora, lo siguiente también muestra la declaración y la inicialización de la matriz:
int[] myIntArray =newint[]{1,2,3};
Pero este tercero muestra la propiedad de la creación anónima de objetos de matriz que apunta una variable de referencia "myIntArray", por lo que si escribimos simplemente "new int [] {1,2,3};" entonces así es como se puede crear un objeto de matriz anónimo.
Si solo escribimos:
int[] myIntArray;
esto no es una declaración de matriz, pero la siguiente declaración completa la declaración anterior:
No hay absolutamente ninguna diferencia entre el segundo y el tercer enfoque, aparte de eso, el segundo enfoque solo funciona cuando también se declara una variable. No está claro qué quiere decir con "muestra la propiedad de la creación anónima de objetos de matriz", pero realmente son piezas de código equivalentes.
Jon Skeet
44
Además, el primer fragmento hace inicializar la matriz - es la garantía de tener el valor 0 para cada elemento de la matriz.
Jon Skeet
¿Realmente no hay diferencia entre el segundo y el tercer enfoque?
truthadjustr
27
Alternativamente,
// Either method worksString arrayName[]=newString[10];String[] arrayName =newString[10];
Eso declara una matriz llamada arrayNamede tamaño 10 (tiene elementos del 0 al 9 para usar).
¿Cuál es el estándar para usar? Acabo de descubrir lo primero, y lo encuentro terriblemente engañoso: |
Anti Earth
2
Por lo que vale, mi profesor dijo que la segunda forma es más típica en Java y que transmite mejor lo que está sucediendo; como una matriz relacionada con el tipo de la variable se convirtió como.
Celeritas
2
Para una nota al margen: un lenguaje que tiene más de una semántica para declarar una cosa que significa mal diseño del lenguaje.
Muhammad Suleman
26
Además, en caso de que desee algo más dinámico, existe la interfaz Lista. Esto no funcionará tan bien, pero es más flexible:
List<String> listOfString =newArrayList<String>();
listOfString.add("foo");
listOfString.add("bar");String value = listOfString.get(0);
assertEquals( value,"foo");
@CyprUS Listes una clase genérica, tiene un tipo como parámetro, incluido <>. Eso ayuda porque solo necesita definir un tipo genérico una vez y luego puede usarlo con múltiples tipos diferentes. Para obtener una explicación más detallada, consulte docs.oracle.com/javase/tutorial/java/generics/types.html
Heimdall el
15
Hay dos formas principales de hacer una matriz:
Este, para una matriz vacía:
int[] array =newint[n];// "n" being the number of spaces to allocate in the array
Y este, para una matriz inicializada:
int[] array ={1,2,3,4...};
También puede hacer matrices multidimensionales, como esta:
int[][] array2d =newint[x][y];// "x" and "y" specify the dimensionsint[][] array2d ={{1,2,3...},{4,5,6...}...};
Tome el tipo primitivo intpor ejemplo. Hay varias formas de declarar y intordenar:
int[] i =newint[capacity];int[] i =newint[]{value1, value2, value3, etc};int[] i ={value1, value2, value3, etc};
donde en todos estos, puede usar en int i[]lugar de int[] i.
Con reflexión, puedes usar (Type[]) Array.newInstance(Type.class, capacity);
Tenga en cuenta que en los parámetros del método, ...indica variable arguments. Esencialmente, cualquier número de parámetros está bien. Es más fácil de explicar con código:
Dentro del método, varargsse trata como algo normal int[]. Type...solo se puede usar en parámetros de método, por int... i = new int[] {}lo que no se compilará.
Tenga en cuenta que al pasar un int[]método (o cualquier otro Type[]), no puede usar la tercera forma. En la declaración int[] i = *{a, b, c, d, etc}*, el compilador supone que el {...}medio an int[]. Pero eso es porque estás declarando una variable. Al pasar una matriz a un método, la declaración debe ser new Type[capacity]onew Type[] {...} .
Matrices Multidimensionales
Las matrices multidimensionales son mucho más difíciles de manejar. Esencialmente, una matriz 2D es una matriz de matrices. int[][]significa una matriz de int[]s. La clave es que si int[][]se declara como int[x][y], el índice máximo es i[x-1][y-1]. Esencialmente, un rectangular int[3][5]es:
int[] a =IntStream.iterate(10, x -> x <=100, x -> x +10).toArray();Out:[10,20,30,40,50,60,70,80,90,100]int[] b =IntStream.iterate(0, x -> x +1).takeWhile(x -> x <10).toArray();Out:[0,1,2,3,4,5,6,7,8,9]
classAnimal{}classHorseextendsAnimal{publicstaticvoid main(String[] args){/*
* Array of Animal can hold Animal and Horse (all subtypes of Animal allowed)
*/Animal[] a1 =newAnimal[10];
a1[0]=newAnimal();
a1[1]=newHorse();/*
* Array of Animal can hold Animal and Horse and all subtype of Horse
*/Animal[] a2 =newHorse[10];
a2[0]=newAnimal();
a2[1]=newHorse();/*
* Array of Horse can hold only Horse and its subtype (if any) and not
allowed supertype of Horse nor other subtype of Animal.
*/Horse[] h1 =newHorse[10];
h1[0]=newAnimal();// Not allowed
h1[1]=newHorse();/*
* This can not be declared.
*/Horse[] h2 =newAnimal[10];// Not allowed}}
En el caso de los objetos, debe asignarlos nullpara inicializarlos usando new Type(..)clases como Stringy Integerson casos especiales que se manejarán de la siguiente manera
String[] a ={"hello","world"};// is equivalent toString[] a ={newString({'h','e','l','l','o'}),newString({'w','o','r','l','d'})};Integer[] b ={1234,5678};// is equivalent toInteger[] b ={newInteger(1234),newInteger(5678)};
En general, puede crear matrices que sean Mdimensionales
int[][]..[] array =// ^ M times [] brackets{{..{// ^ M times { bracket// this is array[0][0]..[0]// ^ M times [0]}}..}// ^ M times } bracket;
Vale la pena señalar que crear una Mmatriz dimensional es costoso en términos de espacio. Desde cuando crea una Mmatriz dimensional con Ntodas las dimensiones, el tamaño total de la matriz es mayor que N^M, ya que cada matriz tiene una referencia, y en la dimensión M hay una matriz de referencias (M-1) -dimensional. El tamaño total es el siguiente
Space= N^M + N^(M-1)+ N^(M-2)+..+ N^0// ^ ^ array reference// ^ actual data
¿Se incluyen realmente -50 y / o +50? Es decir, ¿está abierto el interno en uno o ambos extremos?
Peter Mortensen
1
-50 está incluido y +50 está excluido. Esta información de Java API "da origen (incluido) y obligado (exclusivo)". Yo uso declaración de intervalo de wiki . Así que creo que será más correcto [-50, 50)
Kirill Podlivaev
3
Otra forma de declarar e inicializar ArrayList:
privateList<String> list =newArrayList<String>(){{
add("e1");
add("e2");}};
Hay muchas respuestas aquí. Estoy agregando algunas formas difíciles de crear matrices (desde el punto de vista del examen , es bueno saber esto)
Declarar y definir una matriz.
int intArray[]=newint[3];
Esto creará una matriz de longitud 3. Como contiene un tipo primitivo, int, todos los valores se establecen en 0 de forma predeterminada. Por ejemplo,
intArray[2];// Will return 0
Usando corchetes [] antes del nombre de la variable
int[] intArray =newint[3];
intArray[0]=1;// Array content is now {1, 0, 0}
Inicializar y proporcionar datos a la matriz.
int[] intArray =newint[]{1,2,3};
Esta vez no hay necesidad de mencionar el tamaño en el soporte de la caja. Incluso una variante simple de esto es:
int[] intArray ={1,2,3,4};
Una matriz de longitud 0
int[] intArray =newint[0];int length = intArray.length;// Will return length 0
Similar para matrices multidimensionales
int intArray[][]=newint[2][3];// This will create an array of length 2 and//each element contains another array of length 3.// { {0,0,0},{0,0,0} }int lenght1 = intArray.length;// Will return 2int length2 = intArray[0].length;// Will return 3
Usando corchetes antes de la variable:
int[][] intArray =newint[2][3];
Está absolutamente bien si pones un soporte de caja al final:
int[] intArray []=newint[][]{{1,2,3},{4,5,6}};int[] intArray1 []=newint[][]{newint[]{1,2,3},newint[]{4,5,6}};int[] intArray2 []=newint[][]{newint[]{1,2,3},{4,5,6}}// All the 3 arrays assignments are valid// Array looks like {{1,2,3},{4,5,6}}
No es obligatorio que cada elemento interno sea del mismo tamaño.
int[][] intArray =newint[2][];
intArray[0]={1,2,3};
intArray[1]={4,5};//array looks like {{1,2,3},{4,5}}int[][] intArray =newint[][2];// This won't compile. Keep this in mind.
Debe asegurarse de que si está utilizando la sintaxis anterior, que la dirección hacia adelante tiene que especificar los valores entre paréntesis. De lo contrario, no se compilará. Algunos ejemplos:
Number[] numArray ={1,2,3,4};// java.lang.Number
numArray[0]=newFloat(1.5f);// java.lang.Float
numArray[1]=newInteger(1);// java.lang.Integer// You can store a subclass object in an array that is declared// to be of the type of its superclass.// Here 'Number' is the superclass for both Float and Integer.Number num[]=newFloat[5];// This is also valid
IMPORTANTE: Para los tipos referenciados, el valor predeterminado almacenado en la matriz es nulo.
Para usar características dinámicas, debe usar List ... List es pura matriz dinámica y no es necesario declarar el tamaño al principio. A continuación es la forma correcta de declarar una lista en JAVA>
Es muy fácil declarar e inicializar una matriz. Por ejemplo, desea guardar cinco elementos enteros que son 1, 2, 3, 4 y 5 en una matriz. Puedes hacerlo de la siguiente manera:
una)
int[] a =newint[5];
o
si)
int[] a ={1,2,3,4,5};
entonces el patrón básico es para la inicialización y la declaración por el método a) es:
La matriz puede contener tipos de datos primitivos, así como objetos de una clase, dependiendo de la definición de matriz. En el caso de los tipos de datos primitivos, los valores reales se almacenan en ubicaciones de memoria contiguas. En el caso de los objetos de una clase, los objetos reales se almacenan en el segmento de montón.
Matrices unidimensionales:
la forma general de una declaración de matriz unidimensional es
type var-name[];
OR
type[] var-name;
Instanciar una matriz en Java
var-name =new type [size];
Por ejemplo
int intArray[];//declaring array
intArray =newint[20];// allocating memory to array// the below line is equals to line1 + line2int[] intArray =newint[20];// combining both statements in oneint[] intArray =newint[]{1,2,3,4,5,6,7,8,9,10};// accessing the elements of the specified arrayfor(int i =0; i < intArray.length; i++)System.out.println("Element at index "+ i +" : "+ intArray[i]);
Si bien este código puede responder la pregunta, sería mejor explicar cómo resuelve el problema sin presentar otros y por qué usarlo. Las respuestas de solo código no son útiles a largo plazo.
Respuestas:
Puede usar la declaración de matriz o el literal de matriz (pero solo cuando declara y afecta la variable de inmediato, los literales de matriz no se pueden usar para reasignar una matriz).
Para tipos primitivos:
Para las clases, por ejemplo
String
, es lo mismo:La tercera forma de inicialización es útil cuando declara la matriz primero y luego la inicializa. El reparto es necesario aquí.
fuente
return {1,2,3}
da un error, mientrasreturn new int[]{1,2,3}
funciona bien (suponiendo, por supuesto, que su función devuelva una matriz entera).Hay dos tipos de matriz.
Matriz unidimensional
Sintaxis para valores predeterminados:
O (menos preferido)
Sintaxis con los valores dados (inicialización de variable / campo):
O (menos preferido)
Nota: por conveniencia, int [] num es preferible porque indica claramente que está hablando aquí sobre array. De lo contrario no hay diferencia. De ningún modo.
Matriz multidimensional
Declaración
O
O
Inicialización
O
Matriz desigual (o matriz no rectangular)
Entonces aquí estamos definiendo columnas explícitamente.
De otra manera:
Para acceder:
Alternativamente:
Las matrices irregulares son matrices multidimensionales.
Para obtener una explicación, consulte los detalles de la matriz multidimensional en los tutoriales oficiales de Java
fuente
también es válido, pero prefiero los corchetes después del tipo, porque es más fácil ver que el tipo de la variable es en realidad una matriz.
fuente
int[] a, b;
no será lo mismoint a[], b;
, un error fácil de cometer si utiliza el último formulario.Hay varias formas de declarar una matriz en Java:
Puede encontrar más información en el sitio de tutoriales de Sun y JavaDoc .
fuente
Creo que es útil si comprende cada parte:
Type[]
es el tipo de la variable llamada nombre ("nombre" se llama identificador ). El "Tipo" literal es el tipo base, y los corchetes significan que este es el tipo de matriz de esa base. Los tipos de matriz son a su vez tipos propios, lo que le permite crear matrices multidimensionales comoType[][]
(el tipo de matriz de Tipo []). La palabra clavenew
dice asignar memoria para la nueva matriz. El número entre paréntesis dice qué tan grande será la nueva matriz y cuánta memoria asignar. Por ejemplo, si Java sabe que el tipo baseType
toma 32 bytes y desea una matriz de tamaño 5, debe asignar internamente 32 * 5 = 160 bytes.También puede crear matrices con los valores que ya existen, como
que no solo crea el espacio vacío sino que lo llena con esos valores. Java puede decir que las primitivas son números enteros y que hay 5 de ellos, por lo que el tamaño de la matriz se puede determinar implícitamente.
fuente
int[] name = new int[5]
?A continuación se muestra la declaración de una matriz, pero la matriz no se inicializa:
A continuación se muestra la declaración y la inicialización de la matriz:
Ahora, lo siguiente también muestra la declaración y la inicialización de la matriz:
Pero este tercero muestra la propiedad de la creación anónima de objetos de matriz que apunta una variable de referencia "myIntArray", por lo que si escribimos simplemente "new int [] {1,2,3};" entonces así es como se puede crear un objeto de matriz anónimo.
Si solo escribimos:
esto no es una declaración de matriz, pero la siguiente declaración completa la declaración anterior:
fuente
Alternativamente,
Eso declara una matriz llamada
arrayName
de tamaño 10 (tiene elementos del 0 al 9 para usar).fuente
Además, en caso de que desee algo más dinámico, existe la interfaz Lista. Esto no funcionará tan bien, pero es más flexible:
fuente
List
es una clase genérica, tiene un tipo como parámetro, incluido<>
. Eso ayuda porque solo necesita definir un tipo genérico una vez y luego puede usarlo con múltiples tipos diferentes. Para obtener una explicación más detallada, consulte docs.oracle.com/javase/tutorial/java/generics/types.htmlHay dos formas principales de hacer una matriz:
Este, para una matriz vacía:
Y este, para una matriz inicializada:
También puede hacer matrices multidimensionales, como esta:
fuente
Tome el tipo primitivo
int
por ejemplo. Hay varias formas de declarar yint
ordenar:donde en todos estos, puede usar en
int i[]
lugar deint[] i
.Con reflexión, puedes usar
(Type[]) Array.newInstance(Type.class, capacity);
Tenga en cuenta que en los parámetros del método,
...
indicavariable arguments
. Esencialmente, cualquier número de parámetros está bien. Es más fácil de explicar con código:Dentro del método,
varargs
se trata como algo normalint[]
.Type...
solo se puede usar en parámetros de método, porint... i = new int[] {}
lo que no se compilará.Tenga en cuenta que al pasar un
int[]
método (o cualquier otroType[]
), no puede usar la tercera forma. En la declaraciónint[] i = *{a, b, c, d, etc}*
, el compilador supone que el{...}
medio anint[]
. Pero eso es porque estás declarando una variable. Al pasar una matriz a un método, la declaración debe sernew Type[capacity]
onew Type[] {...}
.Matrices Multidimensionales
Las matrices multidimensionales son mucho más difíciles de manejar. Esencialmente, una matriz 2D es una matriz de matrices.
int[][]
significa una matriz deint[]
s. La clave es que siint[][]
se declara comoint[x][y]
, el índice máximo esi[x-1][y-1]
. Esencialmente, un rectangularint[3][5]
es:fuente
En Java 9
Usando diferentes
IntStream.iterate
yIntStream.takeWhile
métodos:En Java 10
Uso de la inferencia de tipo de variable local :
fuente
Si desea crear matrices utilizando reflejos, puede hacer lo siguiente:
fuente
Declarando una matriz de referencias de objetos:
fuente
La matriz es una lista secuencial de elementos.
Si es un objeto, entonces es el mismo concepto
En el caso de los objetos, debe asignarlos
null
para inicializarlos usandonew Type(..)
clases comoString
yInteger
son casos especiales que se manejarán de la siguiente maneraEn general, puede crear matrices que sean
M
dimensionalesVale la pena señalar que crear una
M
matriz dimensional es costoso en términos de espacio. Desde cuando crea unaM
matriz dimensional conN
todas las dimensiones, el tamaño total de la matriz es mayor queN^M
, ya que cada matriz tiene una referencia, y en la dimensión M hay una matriz de referencias (M-1) -dimensional. El tamaño total es el siguientefuente
En Java 8 puedes usar así.
fuente
Para crear matrices de objetos de clase, puede usar el
java.util.ArrayList
. para definir una matriz:Asignar valores a la matriz:
Leer de la matriz:
Nota:
variableName
es una referencia a la matriz que significa que manipularvariableName
manipularáarrayName
para bucles:
for loop que le permite editar
arrayName
(convencional for loop):fuente
Declarar e inicializar para Java 8 y posterior. Cree una matriz entera simple:
Cree una matriz aleatoria para enteros entre [-50, 50] y para dobles [0, 1E17]:
Secuencia de potencia de dos:
Para la Cadena [] debe especificar un constructor:
Matrices multidimensionales:
fuente
Otra forma de declarar e inicializar ArrayList:
fuente
Hay muchas respuestas aquí. Estoy agregando algunas formas difíciles de crear matrices (desde el punto de vista del examen , es bueno saber esto)
Declarar y definir una matriz.
Esto creará una matriz de longitud 3. Como contiene un tipo primitivo, int, todos los valores se establecen en 0 de forma predeterminada. Por ejemplo,
Usando corchetes [] antes del nombre de la variable
Inicializar y proporcionar datos a la matriz.
Esta vez no hay necesidad de mencionar el tamaño en el soporte de la caja. Incluso una variante simple de esto es:
Una matriz de longitud 0
Similar para matrices multidimensionales
Usando corchetes antes de la variable:
Está absolutamente bien si pones un soporte de caja al final:
Algunos ejemplos
No es obligatorio que cada elemento interno sea del mismo tamaño.
Debe asegurarse de que si está utilizando la sintaxis anterior, que la dirección hacia adelante tiene que especificar los valores entre paréntesis. De lo contrario, no se compilará. Algunos ejemplos:
Otra característica importante es la covariante.
IMPORTANTE: Para los tipos referenciados, el valor predeterminado almacenado en la matriz es nulo.
fuente
También puedes hacerlo con
java.util.Arrays
:Este es bastante simple y directo.
fuente
Con la inferencia de tipo de variable local solo tiene que especificar el tipo una vez:
O
fuente
var
.var
openjdk.java.net/jeps/286La matriz tiene dos tipos básicos.
Para declarar una matriz estática de Integer, string, float, etc ... use la siguiente declaración y declaraciones de inicialización.
Para usar características dinámicas, debe usar List ... List es pura matriz dinámica y no es necesario declarar el tamaño al principio. A continuación es la forma correcta de declarar una lista en JAVA>
fuente
Declarar matriz:
int[] arr;
Inicializar matriz:
int[] arr = new int[10];
10 representa el número de elementos permitidos en la matrizDeclarar matriz multidimensional:
int[][] arr;
Inicializar matriz multidimensional:
int[][] arr = new int[10][17];
10 filas y 17 columnas y 170 elementos porque 10 veces 17 es 170.Inicializar una matriz significa especificar el tamaño de la misma.
fuente
Es muy fácil declarar e inicializar una matriz. Por ejemplo, desea guardar cinco elementos enteros que son 1, 2, 3, 4 y 5 en una matriz. Puedes hacerlo de la siguiente manera:
una)
o
si)
entonces el patrón básico es para la inicialización y la declaración por el método a) es:
datatype
debe estar en minúsculas.Entonces, el patrón básico es para la inicialización y la declaración por el método a es:
Si es una matriz de cadenas:
Si es una matriz de caracteres:
Para flotante doble, el formato de la matriz será el mismo que el entero.
Por ejemplo:
pero cuando declara e inicializa la matriz mediante el "método a", deberá ingresar los valores manualmente o por bucle o algo así.
Pero cuando lo haga por el "método b" no tendrá que ingresar los valores manualmente.
fuente
La matriz puede contener tipos de datos primitivos, así como objetos de una clase, dependiendo de la definición de matriz. En el caso de los tipos de datos primitivos, los valores reales se almacenan en ubicaciones de memoria contiguas. En el caso de los objetos de una clase, los objetos reales se almacenan en el segmento de montón.
Matrices unidimensionales:
la forma general de una declaración de matriz unidimensional es
Instanciar una matriz en Java
Por ejemplo
Ref: https://www.geeksforgeeks.org/arrays-in-java/
fuente
otro ejemplo completo con clase de películas 😋
fuente
ejemplo:
o
ejemplo:
fuente
fuente