Arrays: como declarar, usar e acessar os elementos de um array


Nesse artigo introdutório de Arrays de nossa apostila Java Progressivo, você irá aprender como declarar e usar os Arrays, ou vetores, em Java.

Aprenderá, também, a importante notação dos colchetes, [], que vamos usar para tratar dos membros de um Array, bem como acessar os elementos através desses colchetes.

Declarando Arrays(vetores) em Java

A sintaxe da declaração e criação do array é a seguinte:
tipo[] nome_do_array = new tipo[numero_de_elementos];

Ou:
tipo[] nome_do_array = { valor1, valor2, ...,valorx};

Nesse último caso, o tamanho o array é o tamanho de elementos entre chaves {}.

Por exemplo, se em uma sala de aula tiver 20 alunos e você quiser declarar 20 variáveis do tipo float usando array, ficaria assim:

float[] nota = new int[20];
float[] nota = {1,2,3,4,5,6,7,8,90.1,10.02,-11,12.9,13.7,14.5,15.7,16.0,17.5,19.3,20.2};
(lembre-se que float, ou decimais, são escritos com ponto, e não com vírgula, como fazemos no Brasil).

E o nome dos alunos, armazenaríamos em Strings:
String[] nome = new String[20];

Se notar bem, estamos usando a palavra 'new', que é a mesma que usamos na classe Scanner, para criar um objeto. Aqui não é diferente. Estamos criando um objeto de arrays também.

Duas informações importantes:

1. Quando declaramos variáveis numéricas usando array e não inicializamos com valores, estes serão automaticamente nulos (0 ou 0.0).
Se forem Strings, serão 'null' e vazias caso sejam caracteres (char).

2. O tamanho de um array é constante. Uma vez declarado seu valor, não poderá ser mudado.
Se declarou 5 inteiros, o array terá sempre tamanho 5.

Se quiser saber o tamanho de um array, use o método 'length', que está em todo objeto do tipo array e retorna um inteiro com o número de elementos em cada cada array: nome.length, nota.length etc

A ordem de numeração dos elementos

Vamos mostrar agora uma importante informação, não só de Java, mas de programação.

Em nosso dia-a-dia contamos: 1, 2, 3...
Aprenda a declarar, usar e acessar os membros de um array em Java.Não fazemos contagem usando o 0.

Em programação,porém, obviamente isso inclui Java, SEMPRE começamos contando em 0!

Por exemplo, se declaramos um array com o nome 'teste', de 3 elementos, seus elementos serão identificados por:
teste[0]
teste[1]
teste[2]

Logo, sempre que declaramos um array de 'n' índices, o índice desses valores vão de 0 até n-1.
Guarde isso, é importante e usaremos sempre de agora em diante.

Como usar os elementos de um array em Java

Pronto, você declarou um array/vetor. Tem elementos do tipo float. Mas usou só um nome, 'nota'.
Como representar 20 variáveis com um só nome?
A resposta é simples: usando números, ou índices.

'nota' é um Array de Floats.
Se quiser usar um tipo float, use a seguinte sintaxe: nome[indice]

Então, suas variáveis, de forma independente, são chamadas de: nota[0]. nota[1], nota[10] etc.
Esses serão seus nomes. Você pode usar como usaria as variáveis, por exemplo:

Armazenar a nota de um aluno que tirou 10
nota[10]= 10.0 //esse, provavelmente, é programador Java

Somar a nota de dois alunos:
float soma = nota[3] + nota[4];

Incrementar:
nota[5]++;

Enfim, pode fazer tudo. São variáveis do tipo float normais.
A diferença é que os nomes das variáveis tem números, que são chamados, em programação, de índice, que são criados automaticamente quando você declara um bloco de vários elementos.


Exemplos de código Java usando Array


Exemplo 1: Faça um programa que peça 3 números inteiros ao usuário, armazene em um Array, depois mostre o valor de cada elemento do array, assim como seu índice.

Passo 1: Primeiro declaramos um array de inteiros, contendo 3 elementos:
int[] nota = new int[3];

Depois o objeto 'entrada', do tipo Scanner, para receber os valores do usuário.

Passo 2: Armazenar os valores no array
Note que, você é programador e sabe que os índices vão de 0 até 2.
Mas o usuário não. Pro leigo, é número 1, número 2 e número 3, não inicia no 0.

No laço for, o nosso 'indice' vai de 0 até 2.
Porém, ao recebermos o valor de índice 'indice', estamos pedindo ao cliente o valor do número 'indice+1'.

Por exemplo, para armazenar um valor no 'nota[0]', vamos pedir o número '0+1' ao cliente.
Para armazenar um valor no 'nota[1]', vamos pedir o número '1+1' ao cliente.
Para armazenar um valor no 'nota[2]', vamos pedir o número '2+1' ao cliente.


Passo 3: exibindo os valores pro usuário
Usaremos outro laço for para exibir o valor dos índices, que variam de 0 até 2.
Porém, novamente, temos que mostrar 1 ao 3 pro cliente, pois pra ele não faz sentido 'número 0 -> valor 10 ' e sim 'número 1 -> valor 10'.

Então, nosso código Java ilustrando o uso de Arrays será:
import java.util.Scanner;

public class arrayTeste {
    
    public static void main(String[] args){
            int[] nota = new int[3];
            Scanner entrada = new Scanner(System.in);
            
            //recebendo os números
            for(int indice=0 ; indice < 3 ; indice++){
                System.out.print("\nEntre com o número " + (indice+1) + ": ");
                nota[indice] = entrada.nextInt();
            }
            
            //exibindo os números
            for(int indice=0 ; indice < 3 ; indice++){
                System.out.printf("Número %d -> Valor armazenado: %d\n",indice+1, nota[indice]);
            }
        }


}



Exemplo 2: Faça um aplicativo Java que peça o nome do aluno, receba duas notas e depois retorne todas essas informações junto com a média dele.

Vamos usar, nesse exemplo, um array de floats com 3 elementos.
Dois elementos para armazenar os valores da nota e o terceiro vai armazenar a média.

O resto, não tem segredo. Veja como ficou nosso código Java:
import java.util.Scanner;

public class arrayTeste2 {
    
    public static void main(String[] args){
            float[] nota = new float[3];
            String nome;
            Scanner entrada = new Scanner(System.in);
           
            System.out.print("Nome do aluno: ");
            nome = entrada.nextLine();
           
            System.out.print("Primeira nota: ");
            nota[0] = entrada.nextFloat();
           
            System.out.print("Segunda nota: ");
            nota[1] = entrada.nextFloat();
           
            //média
            nota[2] = (nota[0] + nota[1])/2;
           
            System.out.printf("O aluno %s tirou %.1f e %.1f, obtendo média final %.2f",nome,nota[0],nota[1],nota[2]);
              
        }

}

Dicas e Novidades de Java por e-mail

Sabe quanto custa um bom livro de java?
Entre R$ 100,00 e R$300,00

Sabe quanto custa um bom curso presencial de Java?
Entre R$ 1.500,00 até R$ 4.000,00

Sabe quanto custa estudar pelo Java Progressivo?
Absolutamente nada.

Porém, também precisamos de sua ajuda e apoio.
Para isso, basta curtir nossa Fan Page e clicar no botão G+ do Google.