Si un programa necesita trabajar con varios valores del mismo tipo de datos, puede declarar una variable para cada número. Por ejemplo, un programa que muestra números de lotería:
& lt; pre / & gt; & lt; pre & gt; int lotteryNumber1 = 16; & lt; / pre & gt; & lt; pre & gt; int lotteryNumber2 = 32; & lt; / pre & gt; & lt; pre & gt; & gt;
& lt; / pre & gt ;
Video destacado
Una forma más elegante de tratar los valores que se pueden agrupar es usar una matriz. Una matriz es un contenedor que contiene un número fijo de valores de un tipo de datos. En el ejemplo anterior, los números de lotería se pueden agrupar en una matriz int:
& lt; pre & gt; int [] lotería Números = {16,32,12,23,33,20} ;
& lt; / pre & gt ;
Piense en una matriz como una fila de cuadros. El número de cuadros en la matriz no puede cambiar. Cada cuadro puede contener un valor siempre que sea del mismo tipo de datos que los valores contenidos en los otros cuadros. Puede mirar dentro de un cuadro para ver qué valor contiene o reemplazar el contenido del cuadro con otro valor. Cuando se habla de matrices, las cajas se llaman elementos.
Declarar e inicializar una matriz
La declaración de una matriz es similar a la utilizada para declarar cualquier otra variable. Contiene el tipo de datos seguido del nombre de la matriz; la única diferencia es la inclusión de corchetes al lado del tipo de datos:
& lt; pre / & gt; & lt; pre & gt; int [] intArray; & lt; / pre & gt; & lt; pre & gt; float [] floatArray ;
& lt; / pre & gt ;
Las declaraciones de declaración anteriores le dicen al compilador que
& lt; pre & gt; intArray & lt; / pre & gt; variable es una matriz de
& lt; pre & gt; ints & lt; / pre & gt ;,
& lt; pre & gt; floatArray & lt; / pre & gt; es una matriz de
& lt; pre & gt; floats & lt; / pre & gt; y
& lt; pre & gt; charArray
& lt; p / & gt ;
& lt; pre & gt; intArray = new int [10] ;
& lt; / pre & gt ;
El número dentro de los corchetes define cuántos elementos contiene la matriz. La instrucción de asignación anterior crea una matriz int con diez elementos. Por supuesto, no hay ninguna razón por la cual la declaración y la asignación no puedan suceder en una declaración:
& lt; pre & gt; float [] floatArray = nuevo float [10] ;
& lt; / pre & gt ;
Las matrices no se limitan a los tipos de datos primitivos. Se pueden crear matrices de objetos:
& lt; pre & gt; Nombres de cadena [] = nueva cadena [5] ;
& lt; / pre & gt ;
Usando una matriz
Una vez que se ha inicializado una matriz, los elementos pueden tener valores asignados a ellos utilizando el índice array & amp; apos; s. El índice define la posición de cada elemento en la matriz. El primer elemento está en 0, el segundo elemento en 1 y así sucesivamente. Es importante tener en cuenta que el índice del primer elemento es 0. Es fácil pensar que debido a que una matriz tiene diez elementos, el índice es de 1 a 10 en lugar de de 0 a 9. Por ejemplo, si volvemos al ejemplo de números de lotería, podemos crear una matriz que contenga 6 elementos y asignar los números de lotería a los elementos:
& lt; pre / & gt; & lt; pre & gt; int [] lotería Números = nuevo int [6]; & lt; / pre & gt; & lt; lotteryNumbers [0] = 16; & lt; / pre & gt; lot & gt; pre & gt; & gt;
& lt; / pre & gt ;
Hay un atajo para llenar elementos en una matriz al poner los valores para los elementos en la declaración de declaración:
& lt; pre / & gt; & lt; pre & gt; int [] lotería Números = {16,32,12,23,33,20} ;
& lt; / pre & gt ;
Los valores para cada elemento se colocan dentro de un par de corchetes rizados. El orden de los valores determina a qué elemento se le asigna el valor comenzando con la posición del índice 0. El número de elementos en la matriz está determinado por el número de valores dentro de los corchetes.
Para obtener el valor de un elemento, se utiliza su índice:
& lt; pre & gt; System.out.println (& amp; quot; El valor del primer elemento es & amp; quot; + lotteryNumbers [0]) ;
& lt; / pre & gt ;
Para averiguar cuántos elementos tiene una matriz, use el campo de longitud:
& lt; pre & gt; System.out.println (& amp; quot; La matriz de números de lotería tiene & amp; quot; + loteríaNúmeros.longitud + & amp; quot; elementos & amp; quot;) ;
& lt; / pre & gt ;
Nota: Un error común al usar el método de longitud es olvidar es usar el valor de longitud como posición de índice. Esto siempre dará como resultado un error ya que las posiciones de índice de una matriz son de 0 a longitud – 1.
Matrimonios multidimensionales
Las matrices que hemos estado viendo hasta ahora se conocen como matrices unidimensionales (o unidimensionales). Esto significa que solo tienen una fila de elementos. Sin embargo, las matrices pueden tener más de una dimensión. Una multidimensional es en realidad una matriz que contiene matrices:
& lt; pre & gt; int [] [] lotería Números = {16,32,12,23,33,20}, {34,40,3,11,33,24}};
& lt; / pre & gt ;
El índice para una matriz multidimensional consta de dos números:
& lt; pre & gt; System.out.println (& amp; quot; El valor del elemento 1,4 es & amp; quot; + lotería Números [1] [4]) ;
& lt; / pre & gt ;
Aunque la longitud de las matrices contenidas dentro de una matriz multidimensional no tiene que ser la misma longitud:
& lt; pre & gt; Cadena [] [] nombres = nueva Cadena [5] [7] ;
& lt; / pre & gt ;
Copiar una matriz
Para copiar una matriz, la forma más fácil es usar el
& lt; pre & gt; arraycopy & lt; / pre & gt; método de la clase Sistema. El método & lt; pre & gt; arraycopy & lt; / pre & gt; se puede usar para copiar todos los elementos de una matriz o una subsección de ellos. Hay cinco parámetros pasados a & lt; pre & gt; arraycopy
& lt; p / & gt ;
& lt; pre & gt; arraycopia pública estática vacía (Object src, int srcPos, Object dest, int destPos, int length)
& lt; / pre & gt ;
Por ejemplo, para crear una nueva matriz que contenga los últimos cuatro elementos de un
& lt; pre & gt; int
& lt; p / & gt ;
& lt; pre / & gt; & lt; pre & gt; int [] lotería Números = {16,32,12,23,33,20}; & lt; / pre & gt; & lt; pre & gt; int [] newArrayNumbers = new int [4] ;
& lt; / pre & gt ;
Como las matrices son de longitud fija,
& lt; pre & gt; arraycopy
& lt; p / & gt ;
Para ampliar su conocimiento sobre las matrices, puede aprender sobre cómo manipular matrices utilizando la clase Arrays y hacer matrices dinámicas (p. Ej., matrices cuando el número de elementos no es un número fijo) usando la clase ArrayList.
& lt; / pre & gt; & lt; / pre & gt ;
& lt; / pre & gt ;
& lt; / pre & gt ;
& amp; # x203A; Informática