Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] for each dificuldade de entendimento

Se alguém pudesse me explicar mais detalhadamente os significados de cada uma das partes do loop for each, agradeceria demaiis:

    int[] valores = {20, 15, 19, 45, 13};
    int soma = 0;

    for (int valor : valores) {
        soma += valor;
    }

poderiamos usar um for para isso aqui, não? o que me confunde é os dois pontos e a declaração de "int valor : valores" em específico

1 resposta
solução!

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!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!