Neste tutorial, aprenderemos como usar while e fazer while loop em Java com a ajuda de exemplos.
Na programação de computadores, 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 Java for loop. Aqui, você está indo para aprender sobre while
e do… while
loops.
Java while loop
O while
loop Java é usado para executar um código específico até que uma determinada condição seja atendida. A sintaxe do while
loop é:
while (testExpression) ( // body of loop )
Aqui,
- Um
while
loop avalia o textExpression dentro do parêntese()
. - Se textExpression for avaliado como
true
, o código dentro dowhile
loop será executado. - O textExpression é avaliado novamente.
- Este processo continua até que textExpression seja
false
. - Quando textExpression é avaliado como
false
, o loop para.
Para saber mais sobre as condições, visite Operadores relacionais e lógicos Java.
Fluxograma do loop while

Exemplo 1: números de exibição de 1 a 5
// Program to display numbers from 1 to 5 class Main ( public static void main(String() args) ( // declare variables int i = 1, n = 5; // while loop from 1 to 5 while(i <= n) ( System.out.println(i); i++; ) ) )
Resultado
1 2 3 4 5
Veja como funciona este programa.
Iteração | Variável | Condição: i <= n | Açao |
---|---|---|---|
1ª | i = 1 n = 5 | true | 1 é impresso. i é aumentado para 2 . |
2ª | i = 2 n = 5 | true | 2 é impresso. i é aumentado para 3 . |
3ª | i = 3 n = 5 | true | 3 é impresso. i é aumentado para 4 . |
4º | i = 4 n = 5 | true | 4 é impresso. i é aumentado para 5 . |
5 ª | i = 5 n = 5 | true | 5 é impresso. i é aumentado para 6 . |
6º | i = 6 n = 5 | false | O loop é encerrado |
Exemplo 2: apenas soma de números positivos
// Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // take integer input from the user System.out.println("Enter a number"); int number = input.nextInt(); // while loop continues // until entered number is positive while (number>= 0) ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) System.out.println("Sum = " + sum); input.close(); ) )
Resultado
Digite um número 25 Digite um número 9 Digite um número 5 Digite um número -3 Soma = 39
No programa acima, usamos a classe Scanner para obter a entrada do usuário. Aqui, nextInt()
recebe a entrada de inteiro do usuário.
O while
loop continua até que o usuário insira um número negativo. Durante cada iteração, o número inserido pelo usuário é adicionado à sum
variável.
Quando o usuário insere um número negativo, o loop termina. Finalmente, a soma total é exibida.
Java do … while loop
O do… while
loop é semelhante ao loop while. No entanto, o corpo do do… while
loop é executado uma vez antes de a expressão de teste ser verificada. Por exemplo,
do ( // body of loop ) while(textExpression)
Aqui,
- O corpo do loop é executado primeiro. Em seguida, o textExpression é avaliado.
- Se textExpression for avaliado como
true
, o corpo do loop dentro dado
instrução será executado novamente. - O textExpression é avaliado mais uma vez.
- Se textExpression for avaliado como
true
, o corpo do loop dentro dado
instrução será executado novamente. - Esse processo continua até que textExpression seja avaliado como
false
. Em seguida, o loop para.
Fluxograma do do … while loop

Vamos ver o funcionamento do do… while
loop.
Exemplo 3: números de exibição de 1 a 5
// Java Program to display numbers from 1 to 5 import java.util.Scanner; // Program to find the sum of natural numbers from 1 to 100. class Main ( public static void main(String() args) ( int i = 1, n = 5; // do… while loop from 1 to 5 do ( System.out.println(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 . |
|
1ª | i = 2 n = 5 | true | 2 é impresso. i é aumentado para 3 . |
2ª | i = 3 n = 5 | true | 3 é impresso. i é aumentado para 4 . |
3ª | i = 4 n = 5 | true | 4 é impresso. i é aumentado para 5 . |
4º | 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
// Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; int number = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // do… while loop continues // until entered number is positive do ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) while(number>= 0); System.out.println("Sum = " + sum); input.close(); ) )
Produto 1
Digite um número 25 Digite um número 9 Digite um número 5 Digite um número -3 Soma = 39
Here, the user enters a positive number, that number is added to the sum variable. And this process continues until the number is negative. When the number is negative, the loop terminates and displays the sum without adding the negative number.
Output 2
Enter a number -8 Sum is 0
Here, the user enters a negative number. The test condition will be false
but the code inside of the loop executes once.
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 int count = 1; do ( // body of loop ) while(count == 1)
In the above programs, the textExpression is always true
. Hence, the loop body will run for infinite times.
for and while loops
O for
loop é usado quando o número de iterações é conhecido. Por exemplo,
for (let i = 1; i <=5; ++i) ( // body of loop )
Os loops And while
e do… while
geralmente são usados quando o número de iterações é desconhecido. Por exemplo,
while (condition) ( // body of loop )