1. Matriz unidimensional
1.1 Definición de matriz unidimensional
escriba nombrematriz[]; escriba[] nombrematriz;
El tipo (tipo) puede ser cualquier tipo de datos en Java, incluidos los tipos de combinación de tipos simples. El nombre de la matriz nombreDeMatriz es un identificador legal y [] indica que la variable es una variable de tipo de matriz.
La otra forma puede resultar muy extraña para los desarrolladores de C++, pero para lenguajes de desarrollo como JAVA o C#, la otra forma puede ser más intuitiva, porque lo que se define aquí es solo una variable y el sistema no crea una instancia de ella. , solo necesita especificar el tipo de variable y no es necesario especificar el tamaño de la matriz en []. (¿La primera forma es solo por compatibilidad con hábitos pasados? Después de todo, ¿la influencia del lenguaje C es demasiado grande?)
Por ejemplo:
int intArray[]; declara una matriz de números enteros y cada elemento de la matriz son datos enteros. A diferencia de C y C++, Java no asigna memoria para los elementos de la matriz en la definición de una matriz. Por lo tanto, [] no necesita indicar el número de elementos de la matriz, es decir, la longitud de la matriz, y no puede preguntar. cualquier cosa sobre una matriz definida como el elemental anterior. Debemos asignarle espacio de memoria. En este momento, necesitamos usar el operador nuevo. Su formato es el siguiente: arrayName=new type[arraySize] entre ellos, arraySize especifica la longitud de la matriz. Por ejemplo: intArray=nuevo int[3];
Asigne el espacio de memoria ocupado por 3 enteros de tipo int para una matriz de enteros.
Normalmente, estas dos partes se pueden combinar, con el siguiente formato:
tipo nombrematriz=nuevo tipo[tamañomatriz] Por ejemplo: int intArray=nuevo int[3];
1.2 Referencia a elementos de matriz unidimensionales
Después de definir una matriz y asignarle espacio de memoria usando el operador nuevo, puede hacer referencia a cada elemento de la matriz. Se hace referencia a los elementos de la matriz como:
nombrematriz[índice]
Entre ellos: índice es el subíndice de la matriz, que puede ser una constante entera o una expresión. Como a[3], b[i] (i es un número entero), c[6*I], etc. Los subíndices comienzan desde 0 y llegan hasta la longitud de la matriz menos 1. Para el número in-tArray en el ejemplo anterior, tiene 3 elementos, a saber:
intArray[0], intArray[1], intArray[2]. Nota: No existe intArray[3].
Además, a diferencia de C y C++, Java requiere comprobaciones fuera de límites de los elementos de la matriz para garantizar la seguridad. Al mismo tiempo, cada matriz tiene un atributo de longitud que especifica su longitud, por ejemplo: intArray.length especifica la longitud de la matriz intArray.
clase pública ArrayTest{ public static void main(String args[]){ int i; int a[]=new int[5]; i=a.length-1;i>=0;i--) System.out.println("a["+i+"]="+a[i]);
Los resultados de la ejecución son los siguientes:
C:/>java ArrayTesta[4]=4a[3]=3a[2]=2a[1]=1a[0]=0
Este programa asigna un valor a cada elemento de la matriz y lo genera en orden inverso.
1.3 Inicialización de matriz unidimensional
A los elementos de la matriz se les pueden asignar valores de acuerdo con el ejemplo anterior. También se puede inicializar al mismo tiempo que se define la matriz.
Por ejemplo:
int a[]={1, 2, 3, 4, 5};
Separe cada elemento de la matriz con una coma (,) y el sistema asignará activamente una cierta cantidad de espacio para la matriz.
A diferencia de C, Java no requiere que la matriz sea estática en este momento. De hecho, las variables aquí son similares a los punteros en C, por lo que todavía son válidos como valores de retorno para otras funciones. C, variables locales Volver a la función de llamada para continuar usándola es un error muy fácil para las personas que recién están aprendiendo.
2. Matriz multidimensional
Al igual que C y C++, las matrices multidimensionales en Java se consideran matrices de matrices. Por ejemplo, una matriz bidimensional es una matriz unidimensional especial y cada elemento es una matriz unidimensional. A continuación utilizamos principalmente números bidimensionales como ejemplo para ilustrar. La situación en dimensiones altas es similar.
2.1 Definición de matriz bidimensional
Una matriz bidimensional se define como:
escriba nombrematriz[][];
Por ejemplo:
int intArray[][];
Al igual que la matriz unidimensional, no se asigna espacio de memoria para los elementos de la matriz en este momento. Al mismo tiempo, se debe utilizar el operador nuevo para asignar memoria antes de que se pueda acceder a cada elemento.
Para matrices de alta dimensión, existen varios métodos para asignar espacio de memoria:
1. Asigne espacio directamente para cada dimensión, como por ejemplo:
int a[][]=nuevo int[2][3];
2. Comenzando desde la dimensión más alta, asigne espacio para cada dimensión, como por ejemplo:
int a[][]=nuevo int[2][];a[0]=nuevo int[3];a[1]=nuevo int[3];
Complete la misma función que en 1. Esto es diferente de C y C++, en los que la longitud de cada dimensión debe especificarse una vez.
2.2 Referencia a elementos de matriz bidimensional
Para cada elemento de la matriz bidimensional, el método de referencia es: nombrematriz[índice1][índice2] donde índice1 e índice2 son subíndices, que pueden ser constantes enteras o expresiones, como a[2][3], etc. Lo mismo, cada subíndice unidimensional comienza desde 0.
2.3 Inicialización de matriz bidimensional
Hay dos maneras:
1. Asigne directamente un valor a cada elemento.
2. Inicialice la matriz al mismo tiempo que se define.
Por ejemplo: int a[][]={{2, 3}, {1, 5}, {3, 4}};
Defina una matriz de 3 × 2 y asigne un valor a cada elemento.