Java while e do... while Loop
Java while e do...while Loop
Neste tutorial, aprenderemos como usar while e do 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ê aprenderá sobre while
e do...while
rotações.
Loop while Java
Java
while
loop é usado para executar um código específico até que uma determinada condição seja atendida. A sintaxe do while
laço é:
while (testExpression) {
// body of loop
}
Aqui,
- Um
while
loop avalia a textExpression dentro dos parênteses()
. - Se a expressão de texto avalia para
true
, o código dentro dowhile
loop é executado. - A expressão de texto é avaliado novamente.
- Esse processo continua até que a textExpression é
false
. - Quando a expressão de texto avalia para
false
, o loop é interrompido.
Para saber mais sobre as condições, visite Operadores lógicos e relacionais Java.
Fluxograma do loop while
Exemplo 1:exibir números 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++;
}
}
}
Saída
1 2 3 4 5
Aqui está como este programa funciona.
Iteração | Variável | Condição:i <=n | Ação |
---|---|---|---|
1º | i = 1 n = 5 | true |
1
é impresso. eu é aumentado para 2 . |
2º | i = 2 n = 5 | true |
2
é impresso. eu é aumentado para 3 . |
3º | i = 3 n = 5 | true |
3
é impresso. eu é aumentado para 4 . |
4º | i = 4 n = 5 | true |
4
é impresso. eu é aumentado para 5 . |
5º | i = 5 n = 5 | true |
5
é impresso. eu é aumentado para 6 . |
6º | i = 6 n = 5 | false | O loop é finalizado |
Exemplo 2:Soma apenas 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();
}
}
Saída
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
No programa acima, usamos a classe Scanner para receber a entrada do usuário. Aqui,
nextInt()
recebe entrada inteira 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 ao sum
variável. Quando o usuário insere um número negativo, o loop termina. Por fim, a soma total é exibida.
O Java faz... while loop
O
do...while
loop é semelhante ao loop while. No entanto, o corpo de do...while
loop é executado uma vez antes que a expressão de teste seja verificada. Por exemplo,
do {
// body of loop
} while(textExpression);
Aqui,
- O corpo do loop é executado primeiro. Em seguida, a expressão de texto é avaliado.
- Se a expressão de texto avalia para
true
, o corpo do loop dentro dodo
instrução é executada novamente. - A expressão de texto é avaliado mais uma vez.
- Se a expressão de texto avalia para
true
, o corpo do loop dentro dodo
instrução é executada novamente. - Esse processo continua até que a textExpression avalia para
false
. Em seguida, o loop para.
Fluxograma do loop do...while
Vamos ver o funcionamento de
do...while
ciclo. Exemplo 3:exibir números 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);
}
}
Saída
1 2 3 4 5
Aqui está como este programa funciona.
Iteração | Variável | Condição:i <=n | Ação |
---|---|---|---|
i = 1 n = 5 | não marcado |
1
é impresso. eu é aumentado para 2 . | |
1º | i = 2 n = 5 | true |
2
é impresso. eu é aumentado para 3 . |
2º | i = 3 n = 5 | true |
3
é impresso. eu é aumentado para 4 . |
3º | i = 4 n = 5 | true |
4
é impresso. eu é aumentado para 5 . |
4º | i = 5 n = 5 | true |
6
é impresso. eu é aumentado para 6 . |
5º | i = 6 n = 5 | false | O loop é finalizado |
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();
}
}
Saída 1
Enter a number 25 Enter a number 9 Enter a number 5 Enter a number -3 Sum = 39
Aqui, o usuário insere um número positivo, esse número é adicionado à soma variável. E esse processo continua até que o número seja negativo. Quando o número é negativo, o loop termina e exibe a soma sem adicionar o número negativo.
Saída 2
Enter a number -8 Sum is 0
Aqui, o usuário insere um número negativo. A condição de teste será
false
mas o código dentro do loop é executado uma vez. Loop while infinito
Se a condição de um loop é sempre
true
, o loop é executado por infinitas vezes (até que a memória esteja cheia). Por exemplo,
// infinite while loop
while(true){
// body of loop
}
Aqui está um exemplo de um infinito
do...while
ciclo.
// infinite do...while loop
int count = 1;
do {
// body of loop
} while(count == 1)
Nos programas acima, o textExpression é sempre
true
. Portanto, o corpo do loop será executado por infinitas vezes. loops for e while
O
for
loop é usado quando o número de iterações é conhecido. Por exemplo,
for (let i = 1; i <=5; ++i) {
// body of loop
}
E
while
e do...while
loops são geralmente usados quando o número de iterações é desconhecido. Por exemplo,
while (condition) {
// body of loop
}
Java
- Variáveis e literais Java
- Expressões, instruções e blocos Java
- Java para cada loop
- Classe e objetos Java
- Classe abstrata Java e métodos abstratos
- Java aninhado e classe interna
- Java joga e joga
- Autoboxing e unboxing Java
- Diferença entre while e do-while:explicado com exemplos
- Programa Palindrome Number em Java usando while &for Loop