Fundamentos de Java 06 Fundamentos de matrices

¡Como tú que amas la programación!
Aprenda los cursos prácticos de SpringBoot https://edu.csdn.net/course/detail/31433
Aprenda los cursos de introducción a SpringCloud https://edu.csdn.net/course/detail/31451


Prefacio

Array es un punto de conocimiento importante de Java. El contenido de este artículo es el siguiente:

  1. Introducción a las matrices
  2. Definición de matriz
  3. Inicialización de la matriz
  4. bucle foreach
  5. Herramientas de matrices
  6. Uso de matrices bidimensionales

Introducción a las matrices

¿Por qué necesitas una matriz?

Pregunta: Supongamos que necesitamos desarrollar un sistema de gestión de estudiantes, ¿cómo guardar los nombres de 40 compañeros de nuestra clase?
Definir 40 variables

String name1 = “zhangsan”;
...
String name40 = “lisi”;

¿Y si hay 100 o 1000 compañeros de clase?
Las variables solo pueden almacenar un dato, lo que no es adecuado para almacenar grandes cantidades de datos.
Puede utilizar una matriz para guardar varios datos.

Que es una matriz

Inserte la descripción de la imagen aquí
Similar a las taquillas fuera del supermercado.

  1. Puede almacenar muchos artículos.
  2. El tamaño de cada cuadrícula es igual
  3. Cada cuadrícula está ordenada, adyacente
  4. Se accede a la cuadrícula por número

El concepto de matriz

  1. Una matriz es un espacio de almacenamiento continuo en la memoria.
  2. El tipo de cada dato en la matriz es el mismo
  3. Se accede a los datos de la matriz a través del subíndice

Clasificación de matrices

La matriz se divide en:

  1. Matriz unidimensional, una fila de espacio de almacenamiento continuo
1 2 3 4 5
  1. Una matriz bidimensional puede verse como una estructura con varias filas y varias columnas.
    Puede verse como un anidamiento de matrices unidimensionales. Cada matriz es una matriz unidimensional.
1 2 3 4 5
6 7 8 9 10

Definir matriz

Al crear una matriz, defina la longitud de la matriz al mismo tiempo.

类型[] 数组名 = new 类型[长度];
int[] array = new int[5];

[] también puede estar después del nombre de la matriz

类型 数组名[] = new 类型[长度];
int array[] = new int[5];

También puede declarar la matriz primero y luego definir la longitud.

类型[] 数组名;
数组名 = new 类型[长度];

Nota: Una vez creada la matriz, los datos tendrán valores predeterminados:
int predeterminado a 0, float predeterminado a 0,0f, double predeterminado a 0,0, String predeterminado a nulo

La asignación de memoria de la matriz.

  • El tipo de datos básico es guardar directamente el valor de los datos
  • El tipo de datos de referencia es la dirección de memoria donde se guardan los datos
    Inserte la descripción de la imagen aquí

Inicialización de la matriz

La inicialización de la matriz es para asignar valores a los elementos de la matriz.
Dos tipos de inicialización:

  1. Inicialización estática
    Al definir la matriz, asigne valores a los datos de la matriz
数据类型[] 数组名 = {值1,值2,值3...};
如:int[] array = {20,44,33,100,55};
数据类型[] 数组名 = new int[]{值1,值2,值3...};
如:int[] array = new int[]{20,44,33,100,55};

Nota: La inicialización estática no puede definir la longitud. La longitud de la matriz está determinada por el número de valores.

  1. Inicialización dinámica Después de
    definir la matriz, use un bucle para asignar valores a la matriz
int[] array = new int[5];
for(int i = 0;i < array.length;i++){
	array[i] = i;
}

Por nombre de matriz de matriz [índice] para acceder a los datos, atención:

  • Los subíndices comienzan desde 0
  • Si el subíndice no está en el rango de 0 a la longitud de la matriz-1, se producirá ArrayIndexOutOfBoundsException

Ejercicio: Defina una matriz de cadenas con una longitud de 5, inicialice los datos dinámicamente y emita: los
valores de cadena primera, última y media de la matriz.

Mejorado para bucle

El bucle foreach es una sintaxis compatible después de jdk1.5, que se utiliza para recorrer matrices o colecciones,
sintaxis:

for(数据类型 变量名 : 数组名){
	访问变量的值
}

Nota: Este tipo de bucle for solo puede acceder y no puede modificar los datos de la matriz.
Si necesita modificarlo, debe utilizar un bucle for regular.

Ejercicio:
Defina una matriz de cadenas de 5 longitudes e inicialice la matriz estáticamente.
Utilice un bucle foreach para generar los elementos de la matriz

Matriz bidimensional

Lo que es una matriz bidimensional
puede entenderse como una estructura de tabla compuesta por filas y columnas, que se puede considerar como una matriz unidimensional anidada en una matriz unidimensional.

Creación de matriz bidimensional

数据类型[][]  数组名 = new 数据类型[行数][列数];
如:int[][]	array = new int[3][5];

Acceso a matriz bidimensional

数组名[行下标][列下标];
如:访问上面数组第二行第三个元素,array[1][2];

Inicialización de matriz bidimensional inicialización
estática

数据类型[][] 数组名 = {
   
   {值,值,值...},{值,值,值...},{值,值,值...}..};
数据类型[][] 数组名 = new 数据类型[][]{
   
   {值,值,值...},{值,值,值...},{值,值,值...}..};

Inicialización dinámica

int[][]	array = new int[3][5];
for(int i = 0;i < array.length;i++){
	for(int j = 0;j < array[i].length;j++){
		array[i][j] = i * j;
	}
}

Herramientas de matrices

La clase Arrays encapsula muchos métodos relacionados con las matrices, lo que puede mejorar la eficiencia del desarrollo.
Métodos comunes:

  1. Sort
    Arrays.sort (nombre de la matriz)
  2. Busque
    int Arrays.binarySearch (nombre de la matriz, el número a buscar) para
    obtener el resultado es encontrar el subíndice del número
  3. Copy
    Arrays.copyOf (el nombre de la matriz copiada, la longitud
    de la nueva matriz ) , el resultado obtenido es la nueva matriz
  4. Fill
    Arrays.fill (nombre de la matriz, el número que se va a llenar); llene la
    matriz con el mismo valor
  5. Compare
    Arrays.equals (nombre de matriz 1, nombre de matriz 2)
    devuelve si los dos valores de matriz son iguales

Fin

Este artículo terminó, no sé si lo dominas, dejemos la tarea para verificar:
1. Defina una matriz de enteros con una longitud de 5 y dé 5 valores iniciales al mismo tiempo para generar los valores. En la matriz en un bucle.
2. Dada una matriz de enteros a con 5 elementos, calcule la suma de todos los elementos en a.
3. Defina la matriz, ingrese los nombres de 5 personas y guárdelos en la matriz, y muestre los nombres de la primera, tercera y quinta personas.


Si necesita aprender otros conocimientos de Java, haga clic aquí Conocimiento ultra detallado de Java Resumen

Supongo que te gusta

Origin blog.csdn.net/u013343114/article/details/112308634
Recomendado
Clasificación