Tabla de contenido
Uno, la descripción general de la matriz
1. Definición
Array (Array) es una colección de múltiples datos del mismo tipo organizados en un cierto orden y nombrados con un nombre, y estos datos se administran de manera uniforme mediante la numeración
2. Conceptos relacionados con la matriz
-
Nombre de la matriz
-
elemento
-
índice
-
Longitud: el número de elementos
3. Las características de la matriz
La matriz está ordenada
La matriz en sí es un tipo de datos de referencia, pero los elementos de la matriz pueden ser un tipo de datos básico o un tipo de datos de referencia.
La creación de un objeto de matriz abrirá todo un espacio continuo en la memoria, y el nombre de la matriz se refiere a la primera dirección de este espacio continuo
Una vez que se determina la longitud de la matriz, no se puede cambiar
4. Clasificación de matrices
Generalmente dividido en matriz unidimensional y matriz bidimensional. . . . . .
En segundo lugar, el uso de matrices unidimensionales.
1. Declaración e inicialización de una matriz unidimensional
//静态初始化:数组的声明和数组元素赋值操作同时进行
int[] ids = new int[]{
1001,1002,1003};
//动态初始化:数组的声明和数组元素赋值操作分开进行
String[] names = new String[3];
2. Cómo llamar al elemento en la posición especificada de la matriz
Array llama al elemento de posición especificado por índice y se puede asignar o ver.
El índice de la matriz comienza en 0 y termina en la longitud de la matriz-1
Cuando usamos índices, a menudo encontramos excepciones de matrices fuera de límites. El mensaje de error es java.lang.ArrayIndexOutOfBoundsException
String[] names = new String[3];
names[0] = "jak";
names[1] = "ros";
names[2] = "jack";
name[3] = "tom"; //java.lang.ArrayIndexOutOfBoundsException
3. Cómo obtener la longitud de la matriz
Pasar los atributos de la matriz length
String name = new String[5];
name.length()
Salida 5
4. Cómo atravesar la matriz
-
para recorrido de bucle
int[] ids = new int[10]; for(int i = 0;i < ids.length;i++){ System.out.println(ids[i]); }
-
Mejorado para recorrido de bucle
int[] ids = new int[10]; for(int id : ids){ System.out.println(id); }
5. El valor de inicialización predeterminado de los elementos de la matriz.
La inicialización predeterminada significa que no hay una asignación explícita a la matriz, pero la JVM asignará un valor inicial a cada elemento de la matriz de forma predeterminada
- El elemento de la matriz es un número entero 0
- Los elementos de la matriz son de tipo punto flotante 0.0
- Los elementos de matriz son valores ASCII de tipo char 0
- El elemento de la matriz es de tipo booleano falso
- Los elementos de matriz son tipo de datos de referencia nulo
Tres, el uso de matriz bidimensional.
De hecho, no existe una matriz bidimensional en el mundo, pero los elementos de una matriz unidimensional son una matriz unidimensional. Estamos acostumbrados a llamar a la matriz unidimensional una matriz bidimensional.
1. Declaración e inicialización de matriz bidimensional
//静态初始化
int[][] arr1 = new int[][]{
{
1,2,3},{
2,3},{
3,4,5}};
//动态初始化1
int[][] arr2 = new int[3][2];
//动态初始化2
int[][] arr3 = new int[3][];
2. Cómo llamar al elemento en la posición especificada de la matriz
int[][] arr = new int[3][];
arr[1][1]; //java.lang.NullPointerException 报错,空指针异常
3. Obtenga la longitud de la matriz
int[][] arr1 = new int[][]{
{
1,2,3},{
2,3},{
3,4,5}};
System.out.println(arr1.length); //3
System.out.println(arr1[2].length); //3
System.out.println(arr1[1].length); //2
4. Cómo atravesar la matriz
for(int i = 0;i < arr.length;i++){
for(int j = 0;j < arr[i].length;j++){
System.out.print(arr[i][j])
}
System.out.println(); //换行
}
5. El valor de inicialización predeterminado de los elementos de la matriz.
Primero definimos algunos conceptos
int[][] arr = new int[3][4];
//外层元素
arr[1];
arr[2];
//内层元素
arr[1][1];
arr[1][2];
int[][] arr = new int[2][3];
El valor de inicialización predeterminado del elemento externo: valor de dirección
El valor de inicialización predeterminado del elemento interno: el mismo que la inicialización de una matriz unidimensional
int[][] arr = new int[2][];
El valor de inicialización predeterminado del elemento externo: nulo
El valor de inicialización predeterminado del elemento interno: no se puede llamar, de lo contrario, el puntero nulo es anormal