JavaScript while e do ... while Loop (com exemplos)

Neste tutorial, você aprenderá sobre o loop while e fará … loop while com a ajuda de exemplos.

Na programação, os loops são usados ​​para repetir um bloco de código. Por exemplo, se você quiser mostrar uma mensagem 100 vezes, poderá usar um loop. É apenas um exemplo simples; você pode conseguir muito mais com loops.

No tutorial anterior, você aprendeu sobre o loop for de JavaScript. Aqui, você está indo para aprender sobre whilee do… whileloops.

JavaScript while Loop

A sintaxe do whileloop é:

 while (condition) ( // body of loop )

Aqui,

  1. Um whileloop avalia a condição entre parênteses ().
  2. Se a condição for avaliada como true, o código dentro do whileloop será executado.
  3. A condição é avaliada novamente.
  4. Este processo continua até que a condição seja false.
  5. Quando a condição é avaliada como false, o loop para.

Para saber mais sobre as condições , visite Comparação de JavaScript e operadores lógicos.

Fluxograma do loop while

Fluxograma de JavaScript while loop

Exemplo 1: números de exibição de 1 a 5

 // program to display numbers from 1 to 5 // initialize the variable let i = 1, n = 5; // while loop from i = 1 to 5 while (i <= n) ( console.log(i); i += 1; )

Resultado

 1 2 3 4 5

Veja como funciona este programa.

Iteração Variável Condição: i <= n Açao
i = 1
n = 5
true 1 é impresso. i é aumentado para 2 .
i = 2
n = 5
true 2 é impresso. i é aumentado para 3 .
i = 3
n = 5
true 3 é impresso. i é aumentado para 4 .
i = 4
n = 5
true 4 é impresso. i é aumentado para 5 .
5 ª i = 5
n = 5
true 5 é impresso. i é aumentado para 6 .
i = 6
n = 5
false O loop é encerrado

Exemplo 2: apenas soma de números positivos

 // program to find the sum of positive numbers // if the user enters a negative numbers, the loop ends // the negative number entered is not added to sum let sum = 0; // take input from the user let number = parseInt(prompt('Enter a number: ')); while(number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive number = parseInt(prompt('Enter a number: ')); ) // display the sum console.log(`The sum is $(sum).`);

Resultado

 Insira um número: 2 Insira um número: 5 Insira um número: 7 Insira um número: 0 Insira um número: -3 A soma é 14.

No programa acima, o usuário é solicitado a inserir um número.

Aqui, parseInt()é usado porque prompt()recebe a entrada do usuário como uma string. E quando strings numéricas são adicionadas, ele se comporta como uma string. Por exemplo '2' + '3' = '23',. Portanto, parseInt()converte uma string numérica em número.

O whileloop continua até que o usuário insira um número negativo. Durante cada iteração, o número inserido pelo usuário é adicionado à sumvariável.

Quando o usuário insere um número negativo, o loop termina. Finalmente, a soma total é exibida.

JavaScript faz … while Loop

A sintaxe do do… whileloop é:

 do ( // body of loop ) while(condition)

Aqui,

  1. O corpo do loop é executado primeiro. Em seguida, a condição é avaliada.
  2. Se a condição for avaliada como true, o corpo do loop dentro da doinstrução será executado novamente.
  3. A condição é avaliada mais uma vez.
  4. Se a condição for avaliada como true, o corpo do loop dentro da doinstrução será executado novamente.
  5. Esse processo continua até que a condição seja avaliada como false. Em seguida, o loop para.

Nota : o do… whileloop é semelhante ao whileloop. A única diferença é que no do… whileloop, o corpo do loop é executado pelo menos uma vez.

Fluxograma de do … while Loop

Fluxograma de JavaScript do … while loop

Vamos ver o funcionamento do do… whileloop.

Exemplo 3: números de exibição de 1 a 5

 // program to display numbers let i = 1; const n = 5; // do… while loop from 1 to 5 do ( console.log(i); i++; ) while(i <= n);

Resultado

 1 2 3 4 5

Veja como funciona este programa.

Iteração Variável Condição: i <= n Açao
i = 1
n = 5
não checado 1 é impresso. i é aumentado para 2 .
i = 2
n = 5
true 2 é impresso. i é aumentado para 3 .
i = 3
n = 5
true 3 é impresso. i é aumentado para 4 .
i = 4
n = 5
true 4 é impresso. i é aumentado para 5 .
i = 5
n = 5
true 6 é impresso. i é aumentado para 6 .
5 ª i = 6
n = 5
false O loop é encerrado

Exemplo 4: Soma de números positivos

 // to find the sum of positive numbers // if the user enters negative number, the loop terminates // negative number is not added to sum let sum = 0; let number = 0; do ( sum += number; number = parseInt(prompt('Enter a number: ')); ) while(number>= 0) console.log(`The sum is $(sum).`);

Produto 1

 Insira um número: 2 Insira um número: 4 Insira um número: -500 A soma é 6.

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -80 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while Loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true)( // body of loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop const count = 1; do ( // body of loop ) while(count == 1)

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for Vs while Loop

A for loop is usually used when the number of iterations is known. For example,

 // this loop is iterated 5 times for (let i = 1; i <=5; ++i) ( // body of loop )

Os loops And whilee do… whilesão geralmente usados ​​quando o número de iterações é desconhecido. Por exemplo,

 while (condition) ( // body of loop )

Artigos interessantes...