Lógica e Algoritmos com Java
24 - ForEach
O laço foreach, também conhecido como "enhanced for loop" (laço for aprimorado), foi introduzido no Java 5 e é uma maneira mais simples de iterar sobre arrays e coleções. Ele permite percorrer os elementos de uma coleção sem precisar de um índice explícito.
1. Sintaxe do Laço foreach
A sintaxe básica do foreach é a seguinte:
for (Tipo elemento : coleção) {
// Corpo do loop - ações a serem realizadas para cada elemento
}
- Tipo: O tipo de dados dos elementos da coleção (por exemplo, int, String, etc.).
- elemento: O nome da variável que representa o elemento atual da coleção durante a iteração.
- coleção: O array ou coleção que será percorrido.
2. Como Funciona o Laço foreach?
O laço foreach percorre cada elemento de uma coleção ou array e executa um conjunto de instruções para cada um desses elementos.
Exemplo de Laço foreach com Array de Strings:
public class ExemploForeach {
public static void main(String[] args) {
String[] nomes = {"Carlos", "Maria", "João"};
// Usando o laço foreach para percorrer o vetor de nomes
for (String nome : nomes) {
System.out.println(nome); // Exibe cada nome na tela
}
}
}
Explicação: No exemplo acima, o laço foreach percorre o vetor nomes. Para cada iteração, a variável nome recebe o valor do próximo nome no vetor e imprime esse nome no console.
3. Vantagens do Laço foreach
- Simplicidade: O código fica mais simples e legível, sem a necessidade de controlar índices manualmente.
- Menos erros: Como o índice não é usado, diminui-se o risco de acessar um índice inválido ou fora do intervalo do vetor.
- Leitura mais clara: O código expressa de forma direta a intenção de percorrer uma coleção ou array.
4. Limitações do Laço foreach
- Não permite modificar o índice ou o elemento diretamente: Não podemos alterar o índice da coleção nem modificar diretamente os elementos (a menos que a coleção seja mutável).
- Não funciona com índices em coleções não ordenadas: O foreach é mais indicado para coleções em que a ordem dos elementos não é importante, como vetores e listas ordenadas.
5. Exemplo de Laço foreach com Array de Números
public class ExemploForeachNumeros {
public static void main(String[] args) {
int[] numeros = {1, 2, 3, 4, 5};
// Usando o laço foreach para percorrer o vetor de números
for (int numero : numeros) {
System.out.println("Número: " + numero); // Exibe cada número
}
}
}
Explicação: No exemplo acima, o vetor numeros é percorrido com o laço foreach. Para cada iteração, o valor do elemento atual é atribuído à variável numero, que é então exibido no console.
6. Saída Esperada
Quando o código é executado e o vetor de números é percorrido, a saída será:
Número: 1
Número: 2
Número: 3
Número: 4
Número: 5