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!
   Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!