JavaRush /Blogue Java /Random-PT /Matrizes Java
articles
Nível 15

Matrizes Java

Publicado no grupo Random-PT

Matrizes

Um array é uma estrutura de dados que armazena valores do mesmo tipo. Um elemento individual da matriz é acessado usando um índice inteiro. Por exemplo, se a é uma matriz de inteiros, então o valor da expressão a[i] é igual ao i-ésimo número inteiro na matriz. Matrizes Java - 1Um array é declarado da seguinte forma: primeiro é indicado o tipo do array, ou seja, o tipo de elementos contidos no array, seguido por um par de colchetes vazios e, a seguir, o nome da variável. Por exemplo, veja como declarar um array que consiste em números inteiros:
int[] a;
No entanto, esta instrução declara apenas uma variável а, sem inicializá-la com um array real. Para criar um array, você precisa usar o operador new.
int[] a = new int [100];
Este operador cria uma matriz de 100 inteiros. Os elementos desta matriz são numerados de 0 a 99 (não de 1 a 100). Uma vez criado, o array pode ser preenchido, por exemplo, usando um loop.
int[] а = new int[100];
for (int i = 0; i < 100; i++)
 a[i] = i; //Заполняет массив числами от 0 до 99
Se você tentar acessar um elemento а [100](ou qualquer outro elemento cujo índice esteja fora do intervalo de 0 a 99) criando um array de 100 elementos, o programa será encerrado porque ocorrerá uma exceção de índice do array fora do intervalo. Para contar o número de elementos em um array, use o método Nome do array .length. Por exemplo,
for (int i = 0; i < a.length; i++, System.out.println(a[i]));
Depois que um array é criado, é impossível alterar seu tamanho (embora você possa, é claro, alterar seus elementos individuais). Se você precisar alterar o tamanho de um array frequentemente durante a execução do programa, é melhor usar outra estrutura de dados chamada lista de arrays. Um array pode ser declarado de duas maneiras:
int[] a;
or
int a[];
A maioria dos programadores Java prefere o primeiro estilo porque separa mais claramente o tipo de array int [](matriz inteira) do nome da variável.

Inicializadores de array e arrays sem nome

Java possui um recurso para criar simultaneamente um array e inicializá-lo. Aqui está um exemplo dessa estrutura sintática:
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
Observe que neste caso não há necessidade de utilizar o operador new. Além disso, você pode até inicializar um array sem nome:
new int[] {16, 19, 23, 29, 31, 37}
Esta expressão aloca memória para um novo array e o preenche com os números especificados entre chaves. Neste caso, seu número é calculado e, consequentemente, o tamanho do array é determinado. Essa construção sintática é conveniente para reinicializar um array sem criar uma nova variável. Por exemplo, a expressão
smallPrimes = new int{17, 19, 23, 29, 31, 37};
é uma expressão abreviada
int[] anonymous = {17, 19, 23, 29, 31, 37};
smallPrimes = anonymous;
Você pode criar uma matriz de tamanho zero. Esse array pode ser útil ao escrever um método que avalia um array que está vazio. Uma matriz de comprimento zero é declarada da seguinte forma:
new тип Элементов[]
Observe que tal array não é equivalente a um object null.

Copiando matrizes

Um array pode ser copiado para outro, mas ambas as variáveis ​​se referirão ao mesmo array.
int[] luckyNumbers = smallPrimes;
luckyNumbers[5] = 12; //Теперь элемент smallPrimes[5]также equals 12
O resultado é mostrado na figura. 3.1. Se você precisar copiar todos os elementos de um array para outro, você deve usar o método arraycopy da classe System. Sua chamada é assim:
System.arraycopy(from, fromlndex, to, tolndex, count);
A matriz todeve ser grande o suficiente para conter todos os elementos a serem copiados. Matrizes Java - 2
Figura 3.1. Copiando uma matriz
Por exemplo, os operadores mostrados abaixo, cujos resultados são mostrados na Fig. 3.2, crie dois arrays e então copie os últimos quatro elementos do primeiro array para o segundo. A cópia começa na segunda posição na matriz de origem e os elementos copiados são colocados na matriz de destino a partir da terceira posição.
int[] smallPrimes = {2, 3, 5, 7, 11, 13};
int[] luckyNumbers = {1001, 1002, 1003, 1004, 1005, 1006, 1007};
System.аrrаусору(smallPrimes, 2, luckyNumbers, 3, 4);
for (int i = 0; i < luckyNumbers.length; i++)
System.out.println(i + ": " + luckyNumbers[i]);
A execução dessas instruções produz o seguinte resultado.
0: 1001
1: 1002
2: 1003
3: 5
4: 7
5: 11
6: 13
Matrizes Java - 3
Arroz. 3.2. Copiando Elementos da Matriz
Um array em Java é significativamente diferente de um array em C++. No entanto, é praticamente o mesmo que um ponteiro para um array dinâmico. Isto significa que o operador
int[] a = new int[100]; //Java
é equivalente ao operador
int* = new int[100]; //C++,
а не
int a[100]; //C++
Em Java, o []operador padrão verifica o intervalo de alterações do índice. Além disso, Java não possui aritmética de ponteiros – você não pode incrementar um ponteiro para acessar o próximo elemento de um array. Link para a fonte: matrizes Java
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION