Oii, Yasmin!
Ótima pergunta, entender a diferença entre o for
tradicional e o for-each
ajuda muito a escrever códigos mais limpos e fáceis de entender. Vamos por partes:
O que você já fez: for
tradicional
Seu código tá certinho! No for
tradicional, você usa um índice (i
) para acessar os elementos do array:
for (int i = 0; i < valores.length; i++) {
soma += valores[i];
}
E o for-each
, como funciona?
O for-each
(também chamado de enhanced for) é uma forma mais simples e direta de percorrer todos os elementos de uma coleção (como arrays ou listas), sem precisar usar o índice.
A sintaxe é:
for (tipoDaVariavel nomeDaVariavel : arrayOuLista) {
// usa nomeDaVariavel diretamente
}
No seu exemplo, usando for-each
:
public class SomaReceitaTotal {
public static void main(String[] args) {
int[] valores = {10, 20, 30, 40, 50};
int soma = 0;
for (int valor : valores) {
soma += valor;
}
System.out.printf("A soma é de: %d", soma);
}
}
- Por que criar uma variável nova (
valor
)?
Essa variável (valor
) representa cada elemento do array enquanto o loop percorre os dados. Ela não é uma cópia do array nem cria algo extra, é só uma forma prática de acessar cada item, um por um.
Você não precisa se preocupar com índices, o que é ótimo quando você só quer ler os valores.
Quando usar for-each
?
Use for-each
quando:
- Você quer ler todos os elementos de um array ou lista.
- Não precisa do índice dos elementos.
Use for
tradicional quando:
- Precisa do índice (
i
) para lógica extra (por exemplo, acessar outro array na mesma posição ou pular elementos).
Espero ter ajudado.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!