CodeGym /Cursos /JAVA 25 SELF /Controle de laços: operadores

Controle de laços: operadores break e continue

JAVA 25 SELF
Nível 4 , Lição 4
Disponível

1. Introdução

Com frequência, não é necessário percorrer todas as iterações de um laço até o fim; é preciso sair dele mais cedo — por exemplo, assim que você encontra o elemento desejado. Em outros casos, é preciso pular parte do trabalho e seguir para a próxima etapa (por exemplo, você leu os dados e quer pular o processamento deles). Isso é o controle de fluxo dentro de um laço.

Os operadores break e continue em Java são feitos exatamente para isso. Vamos entender como funcionam e para que servem em tarefas reais.

2. Operador break: “Pare a máquina!”

Teoria e sintaxe

O operador break é usado para sair imediatamente do laço, onde quer que você esteja no corpo dele. Assim que a execução do programa atinge break, o laço é encerrado na hora e a execução continua na primeira linha de código após o laço.


while (uslovie)
{
    if (kakoe-to_uslovie)
    {
        break;
    }
    // restante do código do laço
}
Uso de break no laço while

O mesmo vale para for e do-while:

for (int i = 0; i < 10; i++)
{
    if (kakoe-to_uslovie)
    {
        break;
    }
    // restante do código do laço
}

Exemplo 1: verificação de número primo

Um número é primo se ele é divisível apenas por 1 e por ele mesmo. Precisamos verificar se um número é primo: percorrer todos os potenciais divisores de 2 até n-1. Se descobrirmos que nosso número é divisível por um divisor, não precisamos verificar mais nada — o número não é primo! Podemos encerrar o laço.

Exemplo:

int number = 111;
boolean found = false;
for (int i = 2; i < number; i++)
{
    if (number % i == 0)
    {
        found = true;
        System.out.println("Encontramos um divisor " + i );
        break; // Encerramos o laço; não precisamos procurar mais nada!                
    }    
}

if (!found)
{
    System.out.println("Nenhum divisor encontrado — número primo.");
}

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

Vamos escrever um pequeno aplicativo, por exemplo, um questionário interativo para coletar dados:

while (true)
{
    System.out.print("Digite sua idade: ");

    if (console.hasNextInt())
    {
        int age = console.nextInt();
        if (age > 0)
        {
            System.out.println("Ótimo! Sua idade: " + age);
            break; // dados válidos — saímos
        }
        else
        {
            System.out.println("Erro! Insira uma idade positiva.");
        }
    }
    else
    {
        System.out.println("Erro! Insira um número.");
        console.nextLine(); // descartamos a entrada inválida
    }
}

Por que isso é útil:
Às vezes é preciso manter o laço em execução indefinidamente (ou por muito tempo) até que o usuário forneça dados corretos. Assim que ocorre o evento que nos satisfaz — aplicamos break e saímos do laço de forma definitiva.

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

Teoria e sintaxe

Ao contrário de break, o operador continue não encerra todo o laço, mas apenas interrompe a iteração atual: tudo o que estiver depois de continue no corpo do laço NÃO é executado — ocorre a passagem para a próxima iteração.


for (int i = 0; i < 10; i++)
{
    if (uslovie)
    {
        continue;
    }
    // esta parte será executada apenas se o continue não tiver sido acionado
}
Uso de continue no laço for

Exemplo 3: pulando números pares

Imagine que você precisa imprimir apenas os números ímpares de um intervalo. Os pares devem ser pulados.


for (int i = 1; i <= 10; i++)
{
    if (i % 2 == 0)
    {
        continue; // se o número for par — pulamos tudo o que vem abaixo!
    }
    System.out.println("Número ímpar: " + i);
}
Pulando números pares com continue

O que acontece:
Quando i = 2, 4, 6... o laço encontra continue e imediatamente passa para a próxima iteração, sem executar System.out.println.

Visualização passo a passo:

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

Os operadores break e continue são usados com muita frequência — em praticamente metade dos laços. Você vai gostar de trabalhar com eles.

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