
Este texto-base aborda os seguintes temas:
Na unidade anterior, você conheceu o comando “para...fim-para”, utilizado em situações em que você sabe exatamente o número vezes que as instruções deverão ser repetidas. Como exemplo, você estudou programas que realizam instruções repetidamente para exibir aos usuários os números de 0 a 9.
Mas, como fazer em situações nas quais não é possível definir quantas vezes a instrução deverá ser repetida?
Os Laços de Repetição abordados nessa unidade são utilizados nesses contextos. São comandos que só encerram suas repetições quando a condição é satisfeita. Dê uma olhada:
Este Laço de Repetição, como apresentado anteriormente, trabalha enquanto a condição for verdadeira e vai executando as instruções. Porém, a condição sendo falsa, ele sai do loop e vai para o próximo comando na programação.
PSEUDOCÓDIGO | FLUXOGRAMA | JAVA |
---|---|---|
Enquanto <condição> faça <Comando> <Comando> <Comando> Fim enquanto |
![]() |
while (condição){ instrução } |
Agora que você conheceu a definição e a estrutura do laço, veja o exemplo a seguir.
Elabore um Algoritmo, um Fluxograma e um Programa em Java que mostre todos os números menores que 10.

PSEUDOCÓDIGO | FLUXOGRAMA |
---|---|
Programa ex Declare num como inteiro Início Num <- 0 Enquanto (num < 10) faça escreva num num <- num+1 fim-enquanto |
![]() |
Agora, veja o programa em Java.
public class ex01 {
public static void main(String[]args) {
int num =0;
while (num < 10) {
System.out.println("Número " + num);
num++;
}
}
}
Observe que na linha 5 temos a estrutura de repetição enquanto while tendo como condição a situação que o exercício colocou (números menores que 10). As linhas 6 e 7 apresentam os comandos que são executados dentro desta estrutura.
Como resultado, o computador apresenta:

Você percebeu que a condição colocada acima foi “num < 10”, por isso o resultado apresentado são números de 0 até o 9.
O Laço de repetição Enquanto...Fim-Enquanto não possui incremento automático como o laço Para...Fim...Para.
Fique atento a isso! O exemplo a seguir apresenta uma repetição infinita e demonstra as implicações da ausência de contador:
PSEUDOCÓDIGO | FLUXOGRAMA |
---|---|
Programa ex Declare num como inteiro Início Num <- 0 Enquanto (num < 10) faça escreva num fim-enquanto |
![]() |
No Java:
public class exemploLoopInfinito {
public static void main(String[]args) {
int num =0;
while (num < 10) {
System.out.println(“Número “ + num);
}
}
}
Note que o programa é idêntico ao anterior com a exceção de que não temos o incremento do contador num (num <- num+1). Com isso, o contador fica eternamente com o valor de 0 (zero) e o programa nunca terá um fim.
Resultado:

Como você já sabe, esta estrutura é parecida com a while, que você acabou de conhecer. A única diferença é que a condição dela é executada por último. Vamos aos detalhes para entender melhor?
PSEUDOCÓDIGO | FLUXOGRAMA | JAVA |
---|---|---|
Repita <condição> faça <Comando> <Comando> <Comando> até que<Comando> |
![]() |
do { instrução } while (condição) |
Agora que você conheceu um pouco mais esta estrutura, vamos voltar ao exemplo anterior.

Elabore um Algoritmo, um Fluxograma e um Programa em Java que mostre todos os números menores que 10.
PSEUDOCÓDIGO | FLUXOGRAMA |
---|---|
Programa ex01 Declare num como inteiro Início repita escreva num num < num + 1 até que (num < 10) fim. |
![]() |
Agora, veja o programa em Java:
public class ex01 {
public static void main(String[]args) {
int num =0;
do{
System.out.println("Número " + num);
num++;
}
while (num < 10);
}
}
Observe que, como o programa responde ao mesmo exercício, e o resultado é o mesmo. Porém, o programa foi construído utilizando outro Laço de repetição. Note que as linhas 6 até 10 apresentam a sintaxe do comando repita até.
Na videoaula a seguir, o professor Sandro Valérios retoma os conteúdos estudados até o momento.
Nas unidades anteriores você viu que é possível utilizar o comando para (for) em conjunto com o se (if) para atingir a solução de um problema na programação. Assim, como no caso do para, também podemos usar o enquanto (while) e o repita até (do while) em conjunto com o se (if) com o mesmo propósito.
Veja o exemplo a seguir, um programa de uma empresa financeira. Nele, o usuário informa seu cargo e salário e, a partir dessas informações, o programa informa quanto de empréstimo a pessoa pode obter.
import java.util.Scanner;
public class ex03 {
public static void main(String[]args) {
String nome, cargo;
float sal, emprestimo=0;
System.out.println("Por favor informe seu nome");
nome = new Scanner(System.in).nextLine();
System.out.println("E agora informe seu cargo (Diretor, Gerente ou Operacional)");
cargo = new Scanner(System.in).nextLine();
while (cargo == "Diretor" || cargo == "Gerente" || cargo == "Operacional") {
System.out.println("Cargo incorreto, por favor informe o cargo novamente");
cargo = new scanner(System.in).nextLine();
}
System.out.println("Agora informe o seu salário");
sal = new scanner(System.in).nextFloat();
if (cargo.equals("Gerente"))
emprestimo = sal*25/100;
else if (cargo.equals("Diretor"))
emprestimo = sal*30/100;
else
emprestimo = sal*20/100;
System.out.println("Olá" + nome);
System.out.println("Seu cargo é" + cargo);
System.out.println("Seu salário é" + sal);
System.out.println("Olá" + nome);
System.out.println("E você tem direito a pegar R$" + emprestimo + "de empréstimo");
}
}
Você notou que além dos usos do Laço de repetição while (linhas 15 até 18), da estrutura de seleção if (linhas 23 até 28), foi utilizado, também, o scanner (linhas 1, 10, 13, 17 e 21)? Pois é, neste momento do curso você já tem diversos comandos em seu repertório, e deve utilizá-los conjuntamente para solucionar os desafios propostos.
Para finalizar, assista à videoaula do professor Rogério Silva, que sintetiza o conteúdo da unidade.