Neste artigo, vamos discutir as diferenças entre o loop “while” e o loop “do-while”.
Gráfico de comparação
Base para comparação | enquanto | fazer enquanto |
---|---|---|
Forma geral | while (condição) { afirmações; // body of loop } | Faz{ . afirmações; // corpo do loop. . } enquanto (Condição); |
Condição de controle | No 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ções | As 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
- 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.
- 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.