1. Matriz unidimensional
1.1 Definição de array unidimensional
digite nomeArray[];type[] nomeArray;
O tipo (tipo) pode ser qualquer tipo de dados em Java, incluindo tipos de combinação de tipos simples. O nome da matriz arrayName é um identificador legal e [] indica que a variável é uma variável do tipo matriz.
A outra forma pode ser muito estranha para desenvolvedores C++, mas para linguagens de desenvolvimento como JAVA ou C#, a outra forma pode ser mais intuitiva, pois o que é definido aqui é apenas uma variável, e o sistema não a instancia . , você só precisa especificar o tipo da variável e não há necessidade de especificar o tamanho do array em []. (A primeira forma é apenas para compatibilidade com hábitos passados? Afinal, a influência da linguagem C é muito grande?)
por exemplo:
int intArray[]; declara uma matriz inteira e cada elemento da matriz são dados inteiros. Ao contrário de C e C++, Java não aloca memória para elementos de array na definição de um array. Portanto, [] não precisa indicar o número de elementos no array, ou seja, o comprimento do array, e você não pode perguntar. qualquer coisa sobre um array definido como elementar. Devemos alocar espaço de memória para ele. Neste momento, precisamos usar o operador new. Seu formato é o seguinte: arrayName=new type[arraySize]; Por exemplo: intArray=new int[3];
Aloque o espaço de memória ocupado por 3 inteiros do tipo int para uma matriz de inteiros.
Normalmente, estas duas partes podem ser combinadas, com o seguinte formato:
digite arrayName=new type[arraySize] Por exemplo: int intArray=new int[3];
1.2 Referência a elementos de array unidimensionais
Depois de definir um array e alocar espaço de memória para ele usando o operador new, você pode referenciar cada elemento do array. Os elementos da matriz são referenciados como:
arrayNome[índice]
Entre eles: índice é o subscrito do array, que pode ser uma constante inteira ou uma expressão. Tal como a[3], b[i] (i é um número inteiro), c[6*I], etc. Os subscritos começam em 0 e vão até o comprimento da matriz menos 1. Para o número in-tArray no exemplo acima, ele possui 3 elementos, a saber:
intArray[0], intArray[1], intArray[2]. Nota: Não há intArray[3].
Além disso, diferentemente de C e C++, Java exige verificações fora dos limites dos elementos do array para garantir a segurança. Ao mesmo tempo, cada array possui um atributo length que especifica seu comprimento, por exemplo: intArray.length especifica o comprimento do array intArray.
classe pública ArrayTest{ public static void main(String args[]){ int i; i=a.length-1;i>=0;i--) System.out.println("a["+i+"]="+a[i] }});
Os resultados da execução são os seguintes:
C:/>java ArrayTesta[4]=4a[3]=3a[2]=2a[1]=1a[0]=0
Este programa atribui um valor a cada elemento da matriz e o gera na ordem inversa.
1.3 Inicialização de array unidimensional
Os elementos da matriz podem receber valores de acordo com o exemplo acima. Também pode ser inicializado ao mesmo tempo que o array é definido.
por exemplo:
int a[]={1, 2, 3, 4, 5};
Separe cada elemento da matriz com uma vírgula (,) e o sistema alocará ativamente uma certa quantidade de espaço para a matriz.
Diferente de C, Java não exige que o array seja estático neste momento. Na verdade, as variáveis aqui são semelhantes aos ponteiros em C, então ainda é válido usá-las como valores de retorno para outras funções. C, variáveis locais Retornar à função de chamada para continuar a usá-la é um erro muito fácil para quem está apenas aprendendo.
2. Matriz multidimensional
Assim como C e C++, arrays multidimensionais em Java são considerados arrays de arrays. Por exemplo, uma matriz bidimensional é uma matriz unidimensional especial e cada elemento é uma matriz unidimensional. Abaixo usamos principalmente números bidimensionais como exemplo para ilustrar. A situação em dimensões altas é semelhante.
2.1 Definição de array bidimensional
Uma matriz bidimensional é definida como:
digite nomeArray[][];
por exemplo:
int intArray[][];
Como no array unidimensional, nenhum espaço de memória é alocado para os elementos do array neste momento. Ao mesmo tempo, o operador new deve ser usado para alocar memória antes que cada elemento possa ser acessado.
Para matrizes de alta dimensão, existem vários métodos para alocar espaço de memória:
1. Aloque espaço diretamente para cada dimensão, como:
int a[][]=novo int[2][3];
2. Começando pela dimensão mais alta, aloque espaço para cada dimensão, como:
int a[][]=novo int[2][];a[0]=novo int[3];a[1]=novo int[3];
Complete a mesma função de 1. Isso é diferente de C e C++, nos quais o comprimento de cada dimensão deve ser especificado uma vez.
2.2 Referência a elementos de array bidimensionais
Para cada elemento da matriz bidimensional, o método de referência é: arrayName[index1][index2] onde index1 e index2 são subscritos, que podem ser constantes inteiras ou expressões, como a[2][3], etc., da mesma forma, cada subscrito unidimensional começa em 0.
2.3 Inicialização de array bidimensional
Existem duas maneiras:
1. Atribua diretamente um valor a cada elemento.
2. Inicialize o array ao mesmo tempo que ele é definido.
Por exemplo: int a[][]={{2, 3}, {1, 5}, {3, 4}};
Defina uma matriz 3×2 e atribua um valor a cada elemento.