Loop for each em Java: sintaxe e exemplos
Com o loop for each do Java, pode percorrer matrizes ou coleções de forma mais rápida e segura, evitar erros e melhorar a legibilidade do código. Neste tutorial, explicamos a estrutura e as vantagens do método for each em detalhes e mostramos como usar o loop no seu código.
Para que serve o loop for each do Java?
O loop for each é utilizado em muitas situações em que os programadores Java têm de trabalhar com matrizes. Por exemplo, uma utilização comum é a saída ou pesquisa de elementos específicos de uma matriz. O loop for each também pode ser utilizado para iterar através dos elementos de uma lista implementada como ArrayList. Em cada iteração, é possível realizar manipulações automáticas com os operadores Java comuns sem ter de escrever uma instrução separada para cada elemento.
Comparado com o loop for do Java, o método for each do Java não precisa considerar o índice ou o tamanho da matriz. Isso evita que um índice esteja fora do intervalo válido. O loop for each utiliza internamente um iterador para abrir sucessivamente cada elemento da matriz ou lista. O iterador conta automaticamente através da matriz ou lista e termina o loop quando todos os elementos tiverem sido percorridos.
No entanto, se precisar de aceder ao índice, por exemplo, para editar o elemento seguinte ou anterior, pode ser mais apropriado utilizar o ciclo for ou while.
A sintaxe do loop for each do Java
A sintaxe básica de um loop for each em Java é a seguinte:
for (type item : array | collection) {
// code block
}Javaarray/collection: nome da matriz ou coleçãoitem: cada elemento da matriz ou coleção é atribuído a esta variáveltype: tipo de dados da matriz ou coleção
Dentro do loop, o bloco de código é executado para cada iteração.
Exemplos de utilização do ciclo for each em Java
A seguir, mostramos como utilizar o método for each utilizando saída no ecrã e operações aritméticas como exemplo.
Elementos de saída na consola
Usando o loop for each, pode mostrar cada elemento de uma matriz ou coleção no ecrã.
class Main {
public static void main(String[] args) {
// array
String[] names = {"Sophie", "Tim", "Anna", "John", "Melissa"};
// for each loop
for (String name: names) {
System.out.println(name);
}
}
}JavaNa consola, obtemos o seguinte resultado:
Sophie
Tim
Anna
John
MelissaJavaDa mesma forma, é possível obter os elementos de uma lista. O código-fonte do loop não muda.
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// list
ArrayList<String> names = new ArrayList<String>();
names.add( "Sophie" );
names.add( "Tim" );
names.add( "Anna" );
names.add( "John" );
names.add( "Melissa" );
// for each loop
for(String name: names){
System.out.println(name);
}
}
}JavaÉ gerada uma cadeia para cada nome da lista:
Sophie
Tim
Anna
John
MelissaJavaCalcular a soma dos elementos de uma matriz ou coleção
Operações aritméticas, como a soma de elementos de uma matriz ou lista, podem ser realizadas de forma fácil e rápida com o método Java for each. Os operadores estão ligados à variável que serve como marcador de posição para cada elemento dentro do bloco de código do loop.
class Main {
public static void main(String[] args) {
// array
int[] numbers = {10, 34, 7, 19, -28};
int sum = 0;
// addition
for (int number: numbers) {
sum += number;
}
System.out.println("Result = " + sum);
}
}JavaOs números da matriz são somados em sequência à variável suma, previamente declarada fora do loop. O resultado é o seguinte:
Result = 42Java7682fef629688119d6d99355dfc72c53