CodeGym /Cursos /C# SELF /Controle de loop: operadores break e continue

Controle de loop: operadores break e continue

C# SELF
Nível 4 , Lição 4
Disponível

1. Introdução

Muitas vezes rola aquela situação em que você não precisa rodar todas as iterações do loop até o final, mas sim sair dele antes — tipo, assim que encontrar o elemento que procura. Em outros casos, você só quer pular uma parte do trabalho e ir pro próximo passo (tipo, você leu os dados e quer pular o processamento deles). É disso que se trata o controle de fluxo dentro do loop.

Os operadores break e continue em C# servem exatamente pra isso. Bora entender como eles funcionam e pra que servem de verdade no dia a dia.

2. Operador break: "Parou, parou!"

Teoria e sintaxe

O operador break é usado pra sair do loop imediatamente, não importa onde você esteja dentro dele. Assim que o programa chega no break, o loop termina na hora e a execução continua da primeira linha de código depois do loop.


while (condição)
{
    if (alguma-condição)
    {
        break;
    }
    // resto do código do loop
}
Usando break no loop while

Funciona igualzinho pra for e do-while também:

for (int i = 0; i < 10; i++)
{
    if (alguma-condição)
    {
        break;
    }
    // resto do código do loop
}

Exemplo 1: checando se um número é primo

Um número é primo se ele só é divisível por 1 e por ele mesmo. A gente precisa checar se um número é primo: testar todos os possíveis divisores de 2 até n-1. Se acharmos um divisor, não precisa testar mais nada — o número não é primo! Pode parar o loop.

Exemplo:

int numero = 111;
bool achou = false;
for (int i = 2; i < numero; i++)
{
    if (numero % i == 0)
    {
        achou = true;
        Console.WriteLine("Achamos um divisor " + i );
        break; // Paramos o loop, não precisa procurar mais nada!                
    }    
}

if (!achou)
{
    Console.WriteLine("Nenhum divisor encontrado - número é primo.");
}

Exemplo 2: validação de entrada do usuário

Bora fazer um appzinho, tipo um formulário interativo pra coletar dados:

while (true)
{
    Console.Write("Digite sua idade: ");
    string entrada = Console.ReadLine();
    int idade;
    if (int.TryParse(entrada, out idade) && idade > 0)
    {
        Console.WriteLine($"Show! Sua idade: {idade}");
        break;   // Dados corretos — hora de sair do loop!
    }
    else
    {
        Console.WriteLine("Erro! Digite uma idade positiva válida.");
    }
}

Pra que serve isso:
Às vezes você precisa rodar o loop pra sempre (ou por muito tempo), até o usuário digitar os dados certos. Assim que rola o evento que a gente quer — manda um break e sai do loop de vez.

3. Operador continue: "Próximo, por favor!"

Teoria e sintaxe

Diferente do break, o operador continue não termina o loop todo, ele só pula a iteração atual: tudo que vier depois do continue dentro do loop NÃO roda — já pula pra próxima iteração.


for (int i = 0; i < 10; i++)
{
    if (condição)
    {
        continue;
    }
    // essa parte só roda se o continue não foi chamado
}
Usando continue no loop for

Exemplo 3: pulando números pares

Imagina que você quer mostrar só os números ímpares de um intervalo. Os pares têm que ser pulados.


for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue; // se o número é par — pula tudo que vem depois!
    }
    Console.WriteLine("Número ímpar: " + i);
}
Pulando números pares usando continue

O que rola:
Quando i = 2, 4, 6... o loop encontra o continue e já pula pra próxima iteração, sem rodar o Console.WriteLine.

Visualizando passo a passo:

i i % 2 == 0 Ação
1 false print, sem continue
2 true continue, sem print
3 false print, sem continue
4 true continue, sem print
... ... ...

Os operadores break e continue são usados direto. Praticamente em todo segundo loop. Você vai curtir usar eles.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION