Declaración, creación e inicialización de matrices Java
Cómo declarar una matriz unidimensional:
escriba var[] o escriba[] var;
Al declarar una matriz, no puede especificar su longitud (el número de elementos de la matriz).
En Java, la palabra clave nueva se utiliza para crear un objeto de matriz. El formato es:
Nombre de la matriz = nuevo tipo de elemento de la matriz [número de elementos de la matriz]
Ejemplo:
PruebaNueva.java:
Código de programa:
clase pública TestNew { public static void main(String args[]) { int[] s; int s = new int[5]; ; } for(i = 4; i >= 0; i--) { System.out.println("" + s[i]) } } }inicialización:
1. Inicialización dinámica: la definición de la matriz se realiza por separado de las operaciones de asignación de espacio y asignación de valores a la matriz;
2. Inicialización estática: asigne espacio y asigne valores a los elementos de la matriz mientras define números;
3. Inicialización predeterminada: la matriz es un tipo de referencia y sus elementos son equivalentes a las variables miembro de la clase. Por lo tanto, después de que la matriz asigna espacio, cada elemento también se inicializa de acuerdo con las reglas de las variables miembro.
Ejemplo:
TestD.java (dinámico):
Código de programa:
clase pública TestD { public static void main(String args[]) { int a[]; new int[3] = 0; a[1] = 1; días[] ; días = nueva Fecha[3] ; días[0] = nueva Fecha(2008,4,5) ; días[1] = nueva Fecha(2008,2,31) ; Fecha(2008,4,4); } } clase Fecha { int año,mes,día; Fecha(int año,int mes,int día) { este.año = año este.mes = mes; ; } }TestS.java (estático):
Código de programa:
prueba de clase pública { public static void main(String args[]) { int a[] = {0,1,2} Tiempo veces [] = {nuevo Tiempo(19,42,42), nuevo Tiempo(1,23); ,54),nueva Hora(5,3,2)} ; } } clase Hora { int hora,min,seg ; hora(int hora,int min,int seg) { esta.hora = hora ; ; esto.seg = seg;TestDefault.java (predeterminado):
Código de programa:
clase pública TestDefault { public static void main(String args[]) { int a [] = new int [5] ; Conceptos básicos de JAVA sobre matrices unidimensionales y matrices multidimensionales
En el lenguaje Java, la matriz es el tipo de datos compuesto más simple. Una matriz es una colección de datos ordenados. Cada elemento de la matriz tiene el mismo tipo de datos. Se puede utilizar un nombre de matriz unificado y un subíndice para identificar de forma única los elementos de la matriz. Las matrices incluyen matrices unidimensionales y matrices multidimensionales.
1. Definición de matriz unidimensional
escriba nombrematriz[];
Tipo (tipo) puede ser cualquier tipo de datos en Java, incluidos tipos simples y tipos compuestos.
Por ejemplo:
int intArray[]; Fecha fechaArray[];
2. Inicialización de matriz unidimensional
(1) Inicialización estática
int intArray[]={1,2,3,4}; String stringArray[]={"abc", "Cómo", "tú"};(2) Inicialización dinámica
1) matriz de tipo simple
int intArray[]; intArray = nuevo int[5];
2) Matriz de tipo compuesto
String stringArray[ ]; String stringArray = new String[3];/*Abre un espacio de referencia (32 bits) para cada elemento de la matriz */ stringArray[0]= new String("How");//Para el el primero Crea espacio para los elementos de la matriz stringArray[1]= new String("are");//Abre espacio para el segundo elemento de la matriz stringArray[2]= new String("you");// Crea espacio para la tercera matriz elemento3. Referencia a un elemento de matriz unidimensional
Se hace referencia a los elementos de la matriz como:
nombrematriz[índice]
El índice es el subíndice de la matriz, que puede ser una constante entera o una expresión. El subíndice comienza desde 0. Cada matriz tiene un atributo de longitud que especifica su longitud, por ejemplo: intArray.length especifica la longitud de la matriz intArray.
matriz multidimensional
En el lenguaje Java, las matrices multidimensionales se consideran matrices de matrices.
1. Definición de matriz bidimensional
escriba nombrematriz[ ][ ]; escriba [ ][ ]nombrematriz;
2. Inicialización de matriz bidimensional.
(1) Inicialización estática
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};En el lenguaje Java, dado que una matriz bidimensional se considera una matriz de matrices, el espacio de la matriz no se asigna continuamente, por lo que no es necesario que el tamaño de cada dimensión de la matriz bidimensional sea el mismo.
(2) Inicialización dinámica
1) Asigne espacio directamente para cada dimensión en el siguiente formato:
arrayName = nuevo tipo[arrayLength1][arrayLength2]; int a[ ][ ] = new int[2][3];
2) Comenzando desde la dimensión más alta, asigne espacio a cada dimensión:
nombrematriz = nuevo tipo[longitudmatriz1][ ]; nombrematriz[0] = nuevo tipo[longitudmatriz20];
3) Ejemplo: la inicialización dinámica de una matriz de tipo de datos simple bidimensional es la siguiente,
int a[ ][ ] = nuevo int[2][ ]; a[0] = nuevo int[3];
Para matrices de tipos de datos compuestos bidimensionales, primero se debe asignar espacio de referencia para la dimensión más alta y luego se debe asignar secuencialmente espacio para las dimensiones inferiores. Además, el espacio debe asignarse por separado para cada elemento de la matriz.
Por ejemplo:
String s[ ][ ] = new String[2][ ]; s[0]= new String[2];//Asignar espacio de referencia para la dimensión más alta s[1]= new String[2]; dimensión más alta Asignar espacio de referencia s[0][0]= new String("Good");// Asigne espacio por separado para cada elemento de la matriz s[0][1]= new String("Luck");// Para cada elemento de matriz A los elementos de la matriz se les asigna espacio individualmente s[1][0]= new String("to");// Asigna espacio separado para cada elemento de la matriz s[1][1]= new String("You");// Asigna espacio separado para cada elemento de la matriz3. Referencia a elementos de matriz bidimensional
Para cada elemento de la matriz bidimensional, el método de referencia es: nombrematriz[índice1][índice2]
Por ejemplo:
número[1][0];
4. Ejemplo de matriz bidimensional:
[Ejemplo] Multiplicar dos matrices
public class MatrixMultiply{ public static void main(String args[]){ int i,j,k; int a[][]=new int [2][3] // Inicialización dinámica de una matriz bidimensional int b; [] []={{1,5,2,8},{5,9,10,-3},{2,7,-5,-18}};//Inicialización estática
una matriz bidimensional
int c[][]=new int[2][4]; //Inicialización dinámica de una matriz bidimensional para (i=0;i<2;i++) for (j=0; j<3;j++) a[ j]=(i+1)*(j+2); para (i=0;i<2;i++){ para (j=0;j<4;j++){ c[j]=0; para (k=0;k<3;k++) c[j]+=a[k]*b[k][j]; } } System.out.println("*******Matriz C*********");// Imprimir matriz C marca for(i=0;i<2;i++){ for (j=0;j<4;j++) System.out.println(c[j]+" " System.out.println(); } } }