Java/Controle de Fluxo/Laços de Repetição
Java⏱ ~2 min de leitura

Laços de Repetição

for, while e do-while

Laços permitem repetir um bloco de código enquanto uma condição for verdadeira. O for é ideal quando você sabe quantas iterações precisa — você controla inicialização, condição e incremento em uma linha. O while repete enquanto uma condição for verdadeira, sem um controle de iteração pré-definido. O do-while garante que o bloco execute pelo menos uma vez antes de checar a condição.

O for-each (enhanced for) é a forma mais legível de percorrer arrays e coleções — sem precisar gerenciar índices manualmente. O Java 8 também introduziu o forEach com lambda para iterar sobre coleções de forma funcional e declarativa.

break encerra o laço imediatamente e a execução continua após ele. continue pula o restante da iteração atual e vai para a próxima. Use com cuidado — em excesso, tornam o código difícil de seguir.

Exemplo.java
// ── for: quando sabe o número de iterações ────────
for (int i = 0; i < 5; i++) {
    System.out.print(i + " "); // 0 1 2 3 4
}

// ── while: quando não sabe quantas iterações ──────
int numero = 1;
while (numero < 100) {
    numero *= 2;
}
System.out.println(numero); // 128

// ── do-while: executa PELO MENOS uma vez ──────────
int tentativas = 0;
do {
    System.out.println("Tentativa " + (++tentativas));
} while (tentativas < 3);
// Tentativa 1, Tentativa 2, Tentativa 3

// ── for-each: percorre coleções elegantemente ─────
String[] frutas = {"Maçã", "Banana", "Laranja"};
for (String fruta : frutas) {
    System.out.println(fruta);
}

// ── break e continue ─────────────────────────────
for (int i = 0; i < 10; i++) {
    if (i == 3) continue; // pula o 3
    if (i == 7) break;    // para no 7
    System.out.print(i + " "); // 0 1 2 4 5 6
}
💡 Dica pro

Prefira for-each sempre que não precisar do índice. É mais legível e evita off-by-one errors (acessar index errado). Use o for com índice só quando precisar saber a posição.

Recompensa+30 XP+exercícios