¿Cuáles son las características de los arrays en java? ¿Cuáles son las diferencias entre los métodos de declaración e inicialización de matrices y variables simples?
En lenguaje Java, la matriz es el tipo de datos compuestos 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.
★ Matriz unidimensional
1. Definición de matriz unidimensional
type arrayName[ ];
Type (tipo) puede ser cualquier tipo de datos en Java, incluidos tipos simples y compuestos.
Por ejemplo:
int intArray[];
Fecha dateArray[]; Inicialización de matriz unidimensional
◇ Inicialización estática
int intArray[]={1,2,3,4}
String stringArray[]=; { "abc", "Cómo", "tú"};
◇ Inicialización dinámica
1) Matriz de tipo simple
int intArray[]; p>
p>
intArray = new int[5];
2) Matriz de tipo compuesto
String stringArray[ ]; stringArray = new String [3];/*Abrir una referencia para cada elemento de la matriz
Espacio (32 bits) */
stringArray[0]= new String("¿Cómo ");// Crea espacio para el primer elemento de la matriz
stringArray[1]= new String("are");//Crea espacio para el segundo elemento de la matriz
stringArray[ 2]= new String("you");//Crea espacio para el tercer elemento de la matriz
3. Referencia de elementos de matriz unidimensional
El método de referencia de elementos de matriz es:
arrayName[index]
index es el subíndice de la matriz, que puede ser un constante o expresión entera, con subíndices que comienzan desde 0. Cada matriz tiene un atributo de longitud que especifica su longitud, por ejemplo: intArray.length especifica la longitud de la matriz intArray.
★Arreglos multidimensionales
En el lenguaje Java, los arreglos multidimensionales se consideran arreglos de arreglos.
1. Definición de matriz bidimensional
type arrayName[ ][ ];
type [ ][ ]arrayName
2. Inicialización de matriz bidimensional
◇ 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 el tamaño de cada dimensión de la matriz bidimensional no es requerido que sea el mismo.
◇ Inicialización dinámica
1) Asigne espacio directamente para cada dimensión, el formato es el siguiente:
arrayName = new type[arrayLength1][arrayLength2];
p>
int a[ ][ ] = new int[2][3]
2) Comenzando desde la dimensión más alta, asigne espacio para cada dimensión:
nombrematriz = nuevo tipo[longitudmatriz1][ ];
nombrematriz[0] = nuevo tipo[longitudmatriz20]
nombrematriz[1] = nuevo tipo[longitudmatriz21; ];
…
arrayName[arrayLength1-1] = nuevo tipo[arrayLength2n]
3) Ejemplo:
Dinámica de matriz de tipo de datos simple bidimensional La inicialización es la siguiente,
int a[ ][ ] = new int[2][ ]; ];
a[1] = new int[5];
Para matrices de tipos de datos compuestos bidimensionales, el espacio de referencia debe asignarse primero para la dimensión más alta y luego el espacio para las dimensiones inferiores debe asignarse secuencialmente.
Además, el espacio debe asignarse por separado para cada elemento de la matriz.
Por ejemplo:
Cadena s[ ][ ] = nueva Cadena[2][ ];
s[0]= nueva Cadena[2]; //Asignar espacio de referencia para la dimensión más alta
s[1]= new String[2]; //Asignar espacio de referencia para la dimensión más alta
s[0][0] = new String ("Good");// Asigna espacio separado para cada elemento de la matriz
s[0][1]= new String("Suerte");// Asigna espacio separado para cada elemento de la matriz
s[1][0]= new String("to");// Asigne espacio por separado para cada elemento de la matriz
s[1][1]= new String( "You");// Asigna espacio separado para cada elemento de la matriz
3. Referencia a elementos de una matriz bidimensional
Para cada elemento de la matriz bidimensional, el método de referencia es: arrayName[index1][index2]
Por ejemplo: num[1] [0] ;
4. Ejemplo de matriz bidimensional:
Ejemplo 2.2 Multiplicación de 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< /P>
DUTLO SUMPLING EN PYTHON. >
a[i][j]=(i+1)*( j+2
para (i=0;i<2;i++){
para (j=0;j<4;j++){
c[i][j]=0
para(k=0;k<3;k++)
c[i][j]+=a[i ][k]*b[k][j]
}
} p>
System.out.println("******* Matrix C*******");//Imprimir marca Matrix C
for(i=0 ;i<2;i++){
for (j= 0;j<4;j++)
System.out.println(c[i][j]+" "
System.out.println()
p>}
}
}
;