O Laço do-while em Java
Java para Iniciantes (Oracle)
Posted on July 13, 2024
Estrutura Geral
O laço do-while executa as instruções pelo menos uma vez antes de verificar a condição.
A forma geral é:
do {
instruções;
} while(condição);
Diferença dos Laços for e while
- Em for e while, a condição é verificada antes da execução do laço.
- Em do-while, a condição é verificada após a execução do laço, garantindo que ele execute pelo menos uma vez.
Exemplo Simples
Um programa que entra em laço até o usuário inserir a letra 'q':
// Demonstra o laço do-while.
class DWDemo {
public static void main(String args[]) throws java.io.IOException {
char ch;
do {
System.out.print("Press a key followed by ENTER: ");
ch = (char) System.in.read(); // obtém um char
} while(ch != 'q');
}
}
Jogo de Adivinhação Melhorado
Um programa de adivinhação que entra em laço até o usuário adivinhar a letra correta:
ver Guess4.java
Explicação do Programa de Adivinhação
- O programa lê caracteres do usuário até que a letra correta seja adivinhada.
- Há dois laços do-while:
- O primeiro laço continua até o usuário adivinhar a letra correta.
- O segundo laço descarta caracteres extras do buffer de entrada até encontrar um \n (nova linha).
Exemplo de Execução
Execução típica do programa de adivinhação
I'm thinking of a letter between A and Z.
Can you guess it: A
...Sorry, you're too low
Try again!
I'm thinking of a letter between A and Z.
Can you guess it: Z
...Sorry, you're too high
Try again!
I'm thinking of a letter between A and Z.
Can you guess it: K
** Right **
Detalhe Importante
- A entrada do console é armazenada em um buffer de linha, então pressionar ENTER adiciona uma sequência de nova linha que precisa ser descartada.
- O segundo laço do-while remove caracteres extras do buffer para evitar leituras indesejadas.
Conclusão
- O laço do-while é útil quando você precisa garantir que o bloco de instruções seja executado pelo menos uma vez.
- Ele é especialmente prático para interações com o usuário onde uma ação inicial é necessária antes da verificação da condição.
💖 💪 🙅 🚩
Java para Iniciantes (Oracle)
Posted on July 13, 2024
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
career Burnout, Imposter Syndrome & More: What Junior Devs Really Experience 🕵️♀️
November 28, 2024