Recomendado, 2024

Escolha Do Editor

Diferença entre while e do-while Loop

As declarações de iteração permitem que o conjunto de instruções seja executado repetidamente até que a condição não se torne falsa. As instruções de Iteração em C ++ e Java são, para loop, while loop e do while loop. Essas declarações são comumente chamadas de loops. Aqui, a principal diferença entre um loop while e while loop é que, enquanto a condição de verificação de loop antes da iteração do loop, enquanto o loop do-while, verifica a condição após a execução das instruções dentro do loop.

Neste artigo, vamos discutir as diferenças entre o loop “while” e o loop “do-while”.

Gráfico de comparação

Base para comparaçãoenquantofazer enquanto
Forma geralwhile (condição) {
afirmações; // body of loop
}
Faz{
.
afirmações; // corpo do loop.
.
} enquanto (Condição);
Condição de controleNo loop 'while', a condição de controle aparece no início do loop.No loop 'do-while', a condição de controle aparece no final do loop.
IteraçõesAs iterações não ocorrem se, a condição na primeira iteração, aparecer como falso.A iteração ocorre pelo menos uma vez, mesmo que a condição seja falsa na primeira iteração.

Definição de while Loop

O loop while é o loop mais fundamental disponível em C ++ e Java. O funcionamento de um loop while é semelhante em C ++ e Java. A forma geral do loop while é:

 while (condição) {declarações; // body of loop} 

O loop while primeiro verifica a condição e, se a condição for verdadeira, itera o loop até que a condição seja falsa. A condição no loop while pode ser qualquer expressão booleana. Quando a expressão retorna qualquer valor diferente de zero, a condição é “verdadeira” e, se uma expressão retornar um valor zero, a condição se tornará “falsa”. Se a condição se tornar verdadeira, o loop iterará a si mesmo e, se a condição se tornar falsa, o controle passará para a próxima linha do código imediatamente seguida pelo loop.

As declarações ou o corpo do loop podem ser uma instrução vazia ou uma declaração única ou um bloco de instruções.

Vamos discutir o funcionamento de um loop while. No exemplo abaixo, o código imprimirá de 1 a 10.

 // exemplo está em Java. class while {public estático void main (args []) {int n = 0; while (n <= 10) {n ++; system.out.println ("n =" + n); }}} // output n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Aqui, o valor inicial de 'n' é 0, o que transforma a condição em while loop true. Em seguida, o controle entra no corpo do loop while e o valor de 'n' é incrementado de acordo com a primeira instrução no corpo de um loop while. Em seguida, o valor de 'n' é impresso e, novamente, o controle volta para a condição de um loop while, agora o valor de 'n' é 1, que satisfaz novamente a condição e o corpo do loop é executado novamente.

Isso continua até que a condição seja verdadeira, assim que a condição se tornar falsa o loop é terminado. Como para loop, o loop while também verifica primeiro a condição e, em seguida, executa o corpo do loop.

Definição de do-while Loop

Como no laço while, se a condição de controle se tornar falsa somente na primeira iteração, então o corpo do loop while não será executado. Mas o loop do-while é um pouco diferente do loop while. O loop do-while executa o corpo do loop pelo menos uma vez, mesmo que a condição seja falsa na primeira tentativa.

A forma geral de do-while é a seguinte.

 Faz{ . declarações // corpo do loop. . } enquanto (Condição); 

Em um loop do-while, o corpo do loop ocorre antes da condição de controle e a instrução condicional está na parte inferior do loop. Como em while loop, aqui também, o corpo do loop pode estar vazio, pois tanto C ++ quanto Java permitem instruções nulas ou, pode haver apenas uma única instrução ou um bloco de instruções. A condição aqui é também uma expressão booleana, que é verdadeira para todo o valor diferente de zero.

Em um loop do-while, o controle chega primeiro à instrução no corpo de um loop do-while. As instruções no corpo são executadas primeiro e depois o controle atinge a parte de condição do loop. A condição é verificada e, se for verdade, o loop é iterado novamente e, se a condição for falsa, o controle retornará à próxima linha imediatamente após o loop.

Vamos entender implementando o exemplo acima no do-while.

 // exemplo está em Java. class while {public estático void main (args []) {int n = 1; do {system.out.println ("n =" + n); n ++; } while (n <10)}} // output n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Aqui, o valor de n = 1 o controle retorna ao corpo do loop, o valor de 'n' é impresso e, em seguida, seu valor é incrementado. Em seguida, o controle é retomado para a condição do loop do-while; a condição é verificada, o que é verdade para n = 1, então, o loop é repetido novamente e continua até que a condição se torne falsa.

Principais diferenças entre while e do-while Loop

  1. O loop while verifica a condição no início do loop e, se a condição estiver satisfeita dentro do loop, é executada. No loop do-while, a condição é verificada após a execução de todas as instruções no corpo do loop.
  2. Se a condição em um loop while for falsa, nem uma única instrução dentro do loop é executada, e se a condição no loop 'do-while' for falsa, o corpo do loop será executado pelo menos uma vez e a condição será testada.

Conclusão:

Tanto while quanto do-while são a instrução de iteração, se queremos isto primeiro, a condição deve ser verificada, e então as instruções dentro do loop devem ser executadas, então o loop while é usado. Se você quiser testar a condição de terminação no final do loop, o loop do-while será usado.

Top