contenido
Primero, el uso básico de matrices
En segundo lugar, la matriz como parámetro del método.
3. Preguntas de práctica de matriz
1. Intercambiar los valores de dos variables
2. Escriba un método que tome cada elemento de la matriz * 2
4. Encuentra el elemento más grande en la matriz
5. Encuentra el elemento especificado en la matriz (búsqueda secuencial)
6. Encuentra el elemento especificado en la matriz (búsqueda binaria)
Primero, el uso básico de matrices
1. ¿Qué es una matriz?
Matriz: una colección que almacena un conjunto de datos del mismo tipo de datos.
2. Definir la matriz
int[] : matriz de tipo int
double[] : matriz de tipo doble
Las variables se pueden definir por tipos, tales como:
int[] array, array es una variable de este tipo, que es una variable que almacena un conjunto de los mismos datos.
Hay tres formas de definir una matriz:
El primero:
int[] matriz = {1,2,3,4,5,6}; define una matriz e inicialízala
Aunque nuevo no está escrito, en realidad es un objeto
Precauciones:
int[10] array = {1,2,3,4,5,6}; La ortografía es incorrecta, int[] es un tipo y no se pueden agregar números entre corchetes, lo que equivale a destruir su tipo aquí.
El segundo:
int[] matriz2 = new int[3];
La matriz de definición no está inicializada
El tercero:
int[] array3 = new int[]{1,2,3,4,5,6};
definir e inicializar
El más utilizado de los tres es el primero.
3. El uso de arreglos
Obtener la longitud de la matriz:
En Java, puede encontrar directamente la longitud de la matriz actual a través del nombre de la matriz matriz.longitud
Acceder a los elementos de la matriz:
acceder al elemento en el índice 4 de la matriz
Acceder a elementos de matriz fuera de los límites:
Error directo fuera de los límites del lenguaje Java
Cambiar elementos de matriz:
A través de los corchetes en el nombre de la matriz, no solo puede acceder al contenido del subíndice, sino también escribir algunos datos en el subíndice.
Imprime la matriz:
El primero: (bucle for)
El segundo: (mejorado para bucle, para cada bucle)
La diferencia entre for loop y for each loop:
El bucle for puede obtener el subíndice,
El bucle for each no puede obtener el subíndice, se usa más en la colección
El tercer tipo: con la ayuda de la clase de herramientas de matrices de operaciones de Java Arrays
En segundo lugar, la matriz como parámetro del método.
1. Uso básico
Una breve introducción a JVM
Almacenamiento de variables locales en memoria:
La referencia no apunta a la escritura del objeto:
esta referencia no apunta a ningún objeto
¿Puede una referencia apuntar a varios objetos al mismo tiempo?
Para este código, solo puede apuntar a un objeto y almacenar la dirección de un objeto. Al final solo se guarda la dirección del último objeto
El proceso de pasar una matriz como parámetro a un método:
Resuelve el resultado de la impresión:
Las dos primeras soluciones:
fun2 imprime el resultado:
Ejemplo de análisis: qué representa la siguiente figura
Representa la referencia de matriz2, que apunta al objeto al que apunta la referencia de matriz1.
La siguiente figura representa el significado del ejemplo anterior:
Precauciones:
Es incorrecto decir que una referencia apunta a una referencia, una referencia solo puede apuntar a un objeto
¿La referencia tiene que estar en la pila?
No necesariamente, si una variable está en la pila está determinada por la naturaleza de su variable.Si es una variable local, debe estar en la pila. Si no, por ejemplo, las variables de miembro de instancia no están necesariamente en la pila.
3. Preguntas de práctica de matriz
1. Intercambiar los valores de dos variables
public class TestDemo { public static void swap(int[] array){ int tmp = array[0]; array[0] = array[1]; array[1] = tmp; } public static void main(String[] args) { int[] array = {10,20}; System.out.println("交换前: "+array[0]+" "+array[1]); swap(array); System.out.println("交换后: "+array[0]+" "+array[1]); }
imprimir resultado:
2. Escriba un método que tome cada elemento de la matriz * 2
/** * 在原来的数组上扩大2倍 * @param array */ public static void enlarge(int[] array){ for (int i = 0; i <array.length ; i++) { array[i] = array[i]*2; } } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; enlarge(array); System.out.println(Arrays.toString(array)); }
imprimir resultado:
Ponga el valor de la matriz original por 2 veces en una nueva matriz
/** * 把原来数组扩大2倍的值放在一个新的数组中 * @param array * @return */ public static int[] func(int[] array) { int[] ret = new int[array.length]; for (int i = 0; i < array.length; i++) { ret[i] = array[i] * 2; } return ret; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; int[] ret = func(array); System.out.println(Arrays.toString(ret)); }
3. Simula la función tostring
public static String myToString(int[] array){ String str = "["; for (int i = 0; i <array.length ; i++) { str = str+array[i]; if(i != array.length-1){ str+= ","; } } str= str + "]"; return str; } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7}; String str = myToString(array); System.out.println(str); }
imprimir resultado:
4. Encuentra el elemento más grande en la matriz
public static int maxNum(int[] array){ if(array == null) return -1; if (array.length == 0) return -1; int max = array[0]; for (int i = 1; i <array.length ; i++) { if(max < array[i]){ max = array[i]; } } return max; } public static void main(String[] args) { int[] array = {12,8,14,26,5,7,8}; int max = maxNum(array); System.out.println(max); }
imprimir resultado:
5. Encuentra el elemento especificado en la matriz (búsqueda secuencial)
public static int findNum(int[] array,int key){ for (int i = 0; i <array.length ; i++) { if(array[i] == key){ return i; } } return -1; } public static void main(String[] args) { int[] array = {2,4,5,6,11,7,8,9}; System.out.println(findNum(array, 7)); }
imprimir resultado:
6. Encuentra el elemento especificado en la matriz (búsqueda binaria)
二分查找的必要条件是必须有序的数列 public static int binarySearch(int[] array,int key){ int left = 0; int right = array.length-1; while(left <= right){ int mid = (left+right)/2; if(array[mid] > key){ right = mid - 1; }else if(array[mid] < key){ left = left + 1; }else{ return mid; } } return -1; } public static void main(String[] args) { int[] array = {12,14,15,16,18,23}; System.out.println(binarySearch(array, 15)); }
imprimir resultado:
Resumir:
Este artículo presenta brevemente qué es una matriz, cómo escribir una matriz, cómo imprimir una matriz y el uso simple de una matriz. Profundice su comprensión de las matrices a través de ejemplos simples. Lo anterior es el contenido de hoy. Si tiene alguna pregunta, puede enviarme un mensaje privado en cualquier momento. Corregiré activamente cualquier problema en el artículo. También espero que todos puedan dominar el conocimiento que desean más rápido, ¡trabajemos juntos! ! ! ! !
estoy contigo._ _ _ _ _