Existe diferença no resultado entre estes dois comandos de loop? Ou a diferença é apenas na maneira de escrever?
Do...while e while
9 Respostas
Existe.
while (___) {
___
}
testa antes de entrar. Portanto o código pode nem ser executado.
do {
___
} while (______);
testa depois de entrar no loop. Portanto o código será executado pelo menos uma vez.
Este post Detalha bem estes assunto.
Qual a vantagem/desvantagem de o código ser ou não executado?
Você tem algum exemplo elucidativo?
Existe.while (___) { ___ }testa antes de entrar. Portanto o código pode nem ser executado.
do { ___ } while (______);testa depois de entrar no loop. Portanto o código será executado pelo menos uma vez.
Quando você precisa que alguma coisa seja executada, no mínimo, uma vez e no máximo muitas, utiliza o do/while.
Se um determinado trecho de código pode ser executado um número x de vezes, mas isso depende da condição inicial da variável, utilize apenas while.
int e = 0;
while(e < 100){
System.out.println(e);
e++;
}
Ou
int e = 0;
do{
System.out.println(e)
e = Integer.parseInt(JOptionPane.showInputDialog("Valor de e:"));
}while(e != 100);
a grande diferença de while e o do while, o while pra ser executado precisa de um condição verdadeira, e no caso do do while ele executa pelo menos uma vez o do while, se a condição for falsa sai do while, senão continua o laço.
qualquer duvida posta ai
Me parece perda de tempo você executar um código e só depois saber se ele vai ou não ser aplicado.
O que vocês acham?
Me parece perda de tempo você executar um código e só depois saber se ele vai ou não ser aplicado.O que vocês acham?
Ai meu Deus…
bom cara perda de tempo não é não… tudo depende da condição que vc quer fazer e do seu cenário na hora do desenvolvimento…
Vc tah começando agora com programação ne?
Você já aprendeu expressões regulares?
Acho que pessoas que estão aprendendo programação entendem melhor a parte de expressões regulares que a parte da programação “procedural” em si, que é o que você está aprendendo.
Em uma expressão regular, você pode verificar se uma determinada string bate com um ou mais caracteres (nesse caso você usa o “+”) ou com zero ou mais caracteres (nesse caso você usa o “*”). Por exemplo:
“CAFE[0-9]*” bate com qualquer coisa que comece com “CAFE” e termine com zero ou mais dígitos (ou seja, 0 até 9). Por exemplo, bate com “CAFE” ou com “CAFE0019”, mas não com “CAFEBABE” (que não termina com 0 ou mais dígitos).
“CAFE[0-9]+” bate com qualquer coisa que comece com “CAFE” e termine com um ou mais dígitos (ou seja, 0 até 9). Por exemplo, bate com “CAFE7” ou com “CAFE0019”, mas não com “CAFE” (que não termina com 1 ou mais dígitos).
O “do/while” serve para coisas do tipo “um ou mais” e o “while” simples serve para coisas do tipo “zero ou mais”. Está satisfeito?
Valeu entanglement!!!
Muito boa explicação!!!
Agradeço aos demais também.
Você já aprendeu expressões regulares?Acho que pessoas que estão aprendendo programação entendem melhor a parte de expressões regulares que a parte da programação “procedural” em si, que é o que você está aprendendo.
Em uma expressão regular, você pode verificar se uma determinada string bate com um ou mais caracteres (nesse caso você usa o “+”) ou com zero ou mais caracteres (nesse caso você usa o “*”). Por exemplo:
“CAFE[0-9]*” bate com qualquer coisa que comece com “CAFE” e termine com zero ou mais dígitos (ou seja, 0 até 9). Por exemplo, bate com “CAFE” ou com “CAFE0019”, mas não com “CAFEBABE” (que não termina com 0 ou mais dígitos).
“CAFE[0-9]+” bate com qualquer coisa que comece com “CAFE” e termine com um ou mais dígitos (ou seja, 0 até 9). Por exemplo, bate com “CAFE7” ou com “CAFE0019”, mas não com “CAFE” (que não termina com 1 ou mais dígitos).
O “do/while” serve para coisas do tipo “um ou mais” e o “while” simples serve para coisas do tipo “zero ou mais”. Está satisfeito?