A maneira mais comum de criar uma matriz é assim:
int[] numbers1 = new int[3];
As partes básicas são mostradas na Figura 3.2. Especifica o tipo da matriz ( int ) e o tamanho (3). Os colchetes dizem que isso é uma matriz.
Ao usar este formulário para instanciar uma matriz, defina todos os elementos para o valor padrão para esse tipo. Como você aprendeu no Capítulo 1, o valor padrão de um int é 0. Como numbers1 é um referência, aponta para o objeto array, como mostra a Figura 3.3. Como você pode ver, o O valor padrão para todos os elementos é 0. Além disso, os índices começam com 0 e aumentam, assim como eles fizeram para uma String.
Outra maneira de criar uma matriz é especificar todos os elementos com os quais ela deve começar:
int[] numbers2 = new int[] {42, 55, 99};
Neste exemplo, nós também criamos uma matriz int de tamanho 3. Desta vez, especificamos a inicial valores desses três elementos em vez de usar os padrões. A Figura 3.4 mostra o que isso array parece.
Java reconhece que esta expressão é redundante. Desde que você está especificando o tipo de a matriz no lado esquerdo do sinal de igual, Java já conhece o tipo. E desde que você estão especificando os valores iniciais, já conhece o tamanho. Como um atalho, o Java permite escreva isso:
int[] numbers2 = {42, 55, 99};
Essa abordagem é chamada de matriz anônima. É anônimo porque você não especifica o tipo e tamanho.
Finalmente, você pode digitar o [] antes ou depois do nome e adicionar um espaço é opcional. Isso significa que todas as quatro declarações fazem exatamente a mesma coisa:
int[] numAnimals;
int [] numAnimals2;
int numAnimals3[];
int numAnimals4 [];
A maioria das pessoas usa o primeiro. Você pode ver qualquer um deles no exame, por isso, costumava ver os parênteses em lugares estranhos.
Múltiplos “Arrays” em Declarações
Quais tipos de variáveis de referência você acha que o código a seguir cria?
int[] ids, types;
A resposta correta é duas variáveis do tipo int [] . Isso parece bastante lógico. Depois de tudo, int a, b; criou duas variáveis int . E esse exemplo?
int ids[], types;
Tudo o que fizemos foi mover os suportes, mas isso mudou o comportamento. Desta vez temos uma variante capaz do tipo int [] e uma variável do tipo int . Java vê essa linha de código e pensa algo como isto: “Eles querem duas variáveis do tipo int . O primeiro deles é chamado de ids [] . Este é um int [] chamado ids . O segundo é chamado apenas de tipos . Sem parênteses, então é um inteiro regular.
Escusado será dizer que você não deve escrever código que se parece com isso. Mas você ainda precisa entendê-lo para o exame.