Matriz de Java (simple y fácil de entender)

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

Supongo que te gusta

Origin blog.csdn.net/weixin_45321793/article/details/109435231
Recomendado
Clasificación