¡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:
- Introducción a las matrices
- Definición de matriz
- Inicialización de la matriz
- bucle foreach
- Herramientas de matrices
- 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
Similar a las taquillas fuera del supermercado.
- Puede almacenar muchos artículos.
- El tamaño de cada cuadrícula es igual
- Cada cuadrícula está ordenada, adyacente
- Se accede a la cuadrícula por número
El concepto de matriz
- Una matriz es un espacio de almacenamiento continuo en la memoria.
- El tipo de cada dato en la matriz es el mismo
- Se accede a los datos de la matriz a través del subíndice
Clasificación de matrices
La matriz se divide en:
- Matriz unidimensional, una fila de espacio de almacenamiento continuo
1 | 2 | 3 | 4 | 5 |
---|
- 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
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:
- 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.
- 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:
- Sort
Arrays.sort (nombre de la matriz) - 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 - Copy
Arrays.copyOf (el nombre de la matriz copiada, la longitud
de la nueva matriz ) , el resultado obtenido es la nueva matriz - Fill
Arrays.fill (nombre de la matriz, el número que se va a llenar); llene la
matriz con el mismo valor - 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