Oi, Laura! Que ótimo ver você praticando e querendo entender direitinho o for each
.
Vamos destrinchar o seu exemplo de forma bem didática:
int[] valores = {20, 15, 19, 45, 13};
int soma = 0;
for (int valor : valores) {
soma += valor;
}
Primeiro:
O for each
é uma forma simplificada de percorrer todos os elementos de um array (ou de uma coleção, como uma lista). Ele basicamente diz: "Para cada elemento dentro desse conjunto, faça algo com ele."
Segundo:
A estrutura é assim:
for (tipo nomeVariavel : conjunto) {
// faça algo
}
int valor
— É a variável temporária que representa cada item do array. No primeiro loop, valor
vai ser 20
, depois 15
, depois 19
... e assim por diante.:
(dois pontos) — Lê-se como "em" ou "para cada um dentro de". Ou seja, valor : valores
quer dizer "para cada valor dentro de valores".
Terceiro:
Sim! Você poderia fazer isso usando o for
, assim:
public class SomaValores {
public static void main(String[] args) {
int[] valores = {20, 15, 19, 45, 13};
int soma = 0;
for (int i = 0; i < valores.length; i++) {
soma += valores[i];
}
System.out.println("Soma: " + soma);
}
}
Essa forma também funciona perfeitamente. A diferença é que no for each
você não precisa se preocupar com o índice (i
), o que deixa o código mais limpo e fácil de entender quando você só precisa acessar os elementos, sem se importar com a posição deles.
Então resumindo:
for (int valor : valores)
= "Para cada valor
dentro do array valores
, faça o que está dentro do bloco de código".- Os
:
significam "em". - É ótimo pra quando não precisa do índice.
Continue praticando! Você está mandando super bem!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!