7.10. Controle de Fluxo em Java: O Loop while

O controle de fluxo é um dos conceitos fundamentais em qualquer linguagem de programação, permitindo que os programas tomem decisões e repitam ações. Em Java, as estruturas de controle de fluxo incluem instruções condicionais como if e else, seleção múltipla como switch, e loops como for, do-while e while. Neste capítulo, vamos nos concentrar especificamente no loop while, uma ferramenta poderosa para realizar iterações baseadas em uma condição.

O Básico do Loop while

O loop while é uma estrutura de repetição que executa um bloco de código enquanto uma condição especificada é verdadeira (true). A sintaxe básica do loop while é a seguinte:

while (condicao) {
    // Bloco de código a ser repetido
}

A condição dentro dos parênteses é avaliada antes de cada iteração do loop. Se a condição for verdadeira, o bloco de código dentro das chaves é executado. Após a execução do bloco de código, a condição é avaliada novamente. Esse processo se repete até que a condição seja falsa (false), momento em que o loop termina e o fluxo do programa continua com a próxima instrução após o loop.

Exemplo de Uso do Loop while

Vamos considerar um exemplo simples onde queremos imprimir os números de 1 a 5:

int contador = 1;
while (contador <= 5) {
    System.out.println(contador);
    contador++;
}

Neste exemplo, a variável contador é inicializada com o valor 1. A condição contador <= 5 é verdadeira, portanto, o bloco de código dentro do loop é executado, imprimindo o valor atual de contador e incrementando-o em 1. Esse processo se repete até que contador seja maior que 5, momento em que a condição se torna falsa e o loop termina.

Considerações Importantes

É crucial garantir que a condição do loop while eventualmente se torne falsa; caso contrário, você criará um loop infinito, que fará com que seu programa execute indefinidamente (ou até que seja forçado a terminar). Isso geralmente é resultado de uma condição que nunca muda ou de um erro de lógica.

Loop while com Controle de Fluxo Adicional

Dentro de um loop while, você pode usar outras estruturas de controle de fluxo para criar lógicas mais complexas. Por exemplo, você pode ter um if dentro de um while para executar certas ações apenas sob condições específicas:

int contador = 1;
while (contador <= 10) {
    if (contador % 2 == 0) {
        System.out.println(contador + " é par.");
    } else {
        System.out.println(contador + " é ímpar.");
    }
    contador++;
}

Neste exemplo, o loop while itera de 1 a 10, mas dentro do loop, há uma instrução if que verifica se o número atual é par ou ímpar, imprimindo uma mensagem apropriada.

Loop Infinito Intencional com while

Em alguns casos, você pode querer criar um loop que execute continuamente até que uma ação externa ocorra, como a entrada do usuário ou um evento de sistema. Para isso, você pode usar um loop while com uma condição que sempre seja verdadeira:

while (true) {
    // Código que espera por alguma ação externa para continuar
}

Para sair de um loop infinito, você pode usar a instrução break dentro de uma condição if para terminar o loop quando uma condição específica for atendida.

Comparação com Outros Loops

O loop while é semelhante ao loop do-while, com a diferença de que no loop do-while, o bloco de código é executado pelo menos uma vez antes da condição ser avaliada, garantindo que o bloco de código dentro do loop seja executado pelo menos uma vez, mesmo se a condição for falsa desde o início. Em contraste, o loop for é geralmente usado quando o número de iterações é conhecido previamente.

Conclusão

O loop while é uma ferramenta essencial na caixa de ferramentas de um programador Java, oferecendo um meio flexível de repetir ações com base em condições dinâmicas. Compreender como e quando usar o loop while, juntamente com outros controles de fluxo, é fundamental para escrever programas eficientes e lógicos. Lembre-se sempre de garantir que sua condição de loop irá eventualmente se tornar falsa para evitar loops infinitos não desejados e assegurar que seu programa funcione como esperado.

Agora responda o exercício sobre o conteúdo:

_Qual das seguintes afirmações sobre o loop `while` em Java está correta?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Controle de fluxo (if, else, switch, loops): Loop do-while

Próxima página do Ebook Gratuito:

50Controle de fluxo (if, else, switch, loops): Loop do-while

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto