Com o Java loop for-each, você percorre arrays e coleções mais ra­pi­da­mente e com segurança, evitando erros e me­lho­rando a le­gi­bi­li­dade do seu código. Neste tutorial, ex­pli­ca­re­mos a estrutura e os be­ne­fí­cios do método for-each em detalhes e mos­tra­re­mos como usar esse loop ao programar.

Para que serve o Java loop for-each?

O Java loop for-each é usado em muitos cenários nos quais de­sen­vol­ve­do­res precisam trabalhar com arrays. Ele pode ser usado, por exemplo, para exibir ou buscar elementos es­pe­cí­fi­cos em um array. O loop for-each também pode ser usado para iterar através de elementos em uma lista im­ple­men­tada como uma ArrayList. Em cada iteração, você pode realizar ma­ni­pu­la­ções au­to­má­ti­cas com ope­ra­do­res Java comuns, sem precisar escrever uma de­cla­ra­ção in­di­vi­dual para cada elemento.

Ao contrário do que ocorre no loop for em Java, ao usar o Java loop for-each, você não precisa lidar com o índice nem com o tamanho do array. Não ter que con­si­de­rar esses aspectos evita que o índice esteja fora do intervalo válido. O loop for-each usa um iterador in­ter­na­mente para chamar cada elemento do array ou lista, um por um. O iterador conta au­to­ma­ti­ca­mente, por meio do array ou lista, e encerra o loop depois que todos os elementos são per­cor­ri­dos.

No entanto, se você precisar acessar o índice para editar o elemento seguinte ou anterior, fará mais sentido usar o loop for ou o loop while.

Qual é a sintaxe do Java loop for-each?

A sintaxe básica de um loop for-each em Java é a seguinte:

for (tipo item : array | coleção) {
// bloco de código
}
Java
  • array/coleção: Nome do array ou coleção.
  • item: Cada elemento do array ou coleção é atribuído a esta variável.
  • tipo: Tipo de dado do array ou coleção.

Dentro do loop, o bloco de código é executado para cada iteração.

Exemplos de uso do Java loop for-each

Abaixo, de­mons­tra­re­mos como usar o método Java for-each uti­li­zando saída de tela e operações arit­mé­ti­cas.

Exibir elementos no console

Com o Java loop for-each, você pode exibir na tela cada elemento de um array ou coleção:

class Main {
    public static void main(String[] args) {
        // array
        String[] nomes = {"Sophia", "Alana", "Milton", "Elena", "Melissa"};
        // loop for-each
        for (String nome: nomes) {
            System.out.println(nome);
        }
    }
}
Java

No console, obtemos a saída:

Sophia
Alana
Milton
Elena
Melissa
Java

Também é possível exibir elementos de uma lista de forma análoga. Nesse caso, o código-fonte do loop permanece inal­te­rado.

import java.util.ArrayList;
class Main {
    public static void main(String[] args) {
        // lista
        ArrayList<String> nomes = new ArrayList<String>();
        nomes.add("Sophia");
        nomes.add("Alana");
        nomes.add("Milton");
        nomes.add("Elena");
        nomes.add("Melissa");
        // loop for-each
        for(String nome: nomes){
            System.out.println(nome);
        }
    }
}
Java

“O nome de cada elemento da lista é impresso:

Sophia
Alana
Milton
Elena
Melissa
Java

Calcular soma de elementos em array ou coleção

O método for-each em Java facilita a re­a­li­za­ção de operações arit­mé­ti­cas, como a soma de elementos de um array ou lista. Ope­ra­do­res são vin­cu­la­dos à variável, que passa a servir como espaço reservado para cada elemento dentro do bloco de código do loop.

class Main {
    public static void main(String[] args) {
        // array
        int[] numeros = {10, 34, 7, 19, -28};
        int soma = 0;
        // adição
        for (int numero: numeros) {
            soma += numero;
        }
        System.out.println("Resultado = " + soma);
    }
}
Java

Em sequência, números do array são somados à variável soma, que foi pre­vi­a­mente declarada fora do loop.

A saída é:

Resultado = 42
Java
Ir para o menu principal