CARLOS CRUZ
CARLOS CRUZ11/03/2025 16:33
Compartilhe

O Uso do Do-While em Java

    image

    O laço do-while é uma estrutura de repetição em Java que garante que o bloco de código seja executado pelo menos uma vez antes de verificar a condição de continuidade. Diferente do while, que avalia a condição antes da execução, o do-while avalia a condição após a primeira execução.

    Estrutura do Do-While

    A sintaxe do do-while é a seguinte:

     do {
      // Bloco de código a ser executado pelo menos uma vez
     } while (condicao);
    

    O bloco de código será executado uma vez e, em seguida, a expressão da condição será avaliada. Se a condição for verdadeira, o laço se repete; caso contrário, a execução é encerrada.

    O do-while é uma ferramenta útil quando precisamos garantir que um bloco de código seja executado pelo menos uma vez. Ele é comumente usado em situações onde os dados do usuário precisam ser lidos antes da verificação da condição. Praticar com esses exercícios ajudará a entender melhor seu funcionamento.

    10 Exercícios em Java com Entrada de Dados e Uso do do-while

    Neste artigo, você encontrará 10 exercícios que combinam a prática de entrada de dados com o uso do laço do-while. Essa estrutura garante que o bloco de código seja executado pelo menos uma vez e, ao término de cada operação, permite que o usuário escolha se deseja repetir o exercício. Os exemplos a seguir podem ser testados na IDE Eclipse, criando um novo projeto Java e adicionando cada classe em arquivos separados.

    Exercício 1: Conversão de Celsius para Fahrenheit

    Neste exercício, o usuário informa a temperatura em Celsius e o programa converte para Fahrenheit.

    import java.util.Scanner;
    
    public class ConversaoCelsiusFahrenheit {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          
          do {
              System.out.print("Digite a temperatura em Celsius: ");
              double celsius = scanner.nextDouble();
              double fahrenheit = celsius * 9/5 + 32;
              System.out.println("Temperatura em Fahrenheit: " + fahrenheit);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 2: Conversão de Fahrenheit para Celsius

    Aqui, o usuário informa a temperatura em Fahrenheit e o programa converte para Celsius.

    import java.util.Scanner;
    
    public class ConversaoFahrenheitCelsius {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          
          do {
              System.out.print("Digite a temperatura em Fahrenheit: ");
              double fahrenheit = scanner.nextDouble();
              double celsius = (fahrenheit - 32) * 5/9;
              System.out.println("Temperatura em Celsius: " + celsius);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 3: Conversão de Real para Dólar

    Utilizando uma cotação fixa (1 Dólar = 5 Reais), o usuário informa um valor em Reais e o programa converte para Dólares.

    import java.util.Scanner;
    
    public class ConversaoRealDolar {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          final double cotacao = 5.0;
          
          do {
              System.out.print("Digite o valor em Reais: ");
              double reais = scanner.nextDouble();
              double dolar = reais / cotacao;
              System.out.println("Valor em Dólares: " + dolar);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 4: Conversão de Dólar para Real

    Neste exercício, o usuário informa um valor em Dólares e o programa converte para Reais (utilizando a mesma cotação de 1 Dólar = 5 Reais).

    import java.util.Scanner;
    
    public class ConversaoDolarReal {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          final double cotacao = 5.0;
          
          do {
              System.out.print("Digite o valor em Dólares: ");
              double dolar = scanner.nextDouble();
              double reais = dolar * cotacao;
              System.out.println("Valor em Reais: " + reais);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 5: Conversão de Quilômetros para Milhas

    Considerando que 1 km ≈ 0.621371 milhas, o programa converte a distância informada em quilômetros para milhas.

    import java.util.Scanner;
    
    public class ConversaoKmMilhas {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          final double fator = 0.621371;
          
          do {
              System.out.print("Digite a distância em quilômetros: ");
              double km = scanner.nextDouble();
              double milhas = km * fator;
              System.out.println("Distância em milhas: " + milhas);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 6: Conversão de Metros para Pés

    Utilizando o fator de conversão 1 metro ≈ 3.28084 pés, o programa realiza a conversão da medida em metros para pés.

    import java.util.Scanner;
    
    public class ConversaoMetrosPes {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          final double fator = 3.28084;
          
          do {
              System.out.print("Digite a medida em metros: ");
              double metros = scanner.nextDouble();
              double pes = metros * fator;
              System.out.println("Medida em pés: " + pes);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 7: Soma de Dois Números

    O usuário informa dois números e o programa exibe a soma dos valores.

    import java.util.Scanner;
    
    public class SomaDoisNumeros {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          
          do {
              System.out.print("Digite o primeiro número: ");
              double num1 = scanner.nextDouble();
              System.out.print("Digite o segundo número: ");
              double num2 = scanner.nextDouble();
              
              double soma = num1 + num2;
              System.out.println("A soma é: " + soma);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 8: Subtração de Dois Números

    O programa lê dois números e exibe o resultado da subtração (minuendo - subtraendo).

    import java.util.Scanner;
    
    public class SubtracaoDoisNumeros {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          
          do {
              System.out.print("Digite o minuendo: ");
              double num1 = scanner.nextDouble();
              System.out.print("Digite o subtraendo: ");
              double num2 = scanner.nextDouble();
              
              double resultado = num1 - num2;
              System.out.println("O resultado da subtração é: " + resultado);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 9: Multiplicação de Dois Números

    Neste exercício, o usuário informa dois números e o programa mostra o resultado da multiplicação.

    import java.util.Scanner;
    
    public class MultiplicacaoDoisNumeros {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          
          do {
              System.out.print("Digite o primeiro número: ");
              double num1 = scanner.nextDouble();
              System.out.print("Digite o segundo número: ");
              double num2 = scanner.nextDouble();
              
              double resultado = num1 * num2;
              System.out.println("O resultado da multiplicação é: " + resultado);
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Exercício 10: Divisão de Dois Números

    O programa realiza a divisão de dois números, verificando se o divisor é diferente de zero para evitar erro.

    import java.util.Scanner;
    
    public class DivisaoDoisNumeros {
      public static void main(String[] args) {
          Scanner scanner = new Scanner(System.in);
          char repetir;
          
          do {
              System.out.print("Digite o dividendo: ");
              double num1 = scanner.nextDouble();
              System.out.print("Digite o divisor: ");
              double num2 = scanner.nextDouble();
              
              if(num2 == 0) {
                  System.out.println("Erro: Divisão por zero não é permitida.");
              } else {
                  double resultado = num1 / num2;
                  System.out.println("O resultado da divisão é: " + resultado);
              }
              
              System.out.print("Deseja repetir? (s/n): ");
              repetir = scanner.next().charAt(0);
          } while (repetir == 's' || repetir == 'S');
          
          scanner.close();
      }
    }
    

    Cada um desses exemplos utiliza o laço do-while para garantir que a operação seja executada pelo menos uma vez, e ao final, o programa pergunta se o usuário deseja repetir o processo. Essa abordagem é muito útil para fixar conceitos de conversão, cálculos aritméticos e a interação com o usuário.

    Experimente os códigos, teste cada um deles na sua IDE Eclipse e sinta-se à vontade para modificar ou combinar os exercícios conforme sua necessidade.

    Compartilhe
    Comentários (1)
    DIO Community
    DIO Community - 11/03/2025 16:57

    Carlos, seu artigo apresenta uma abordagem prática e bem estruturada sobre o laço do-while em Java, tornando mais fácil a compreensão desse conceito essencial!

    A forma como você destacou a diferença entre while e do-while foi fundamental para ajudar quem está começando a entender quando cada um deve ser utilizado. Além disso, a sequência de exercícios práticos oferece um ótimo caminho para fixação do aprendizado, permitindo que os leitores apliquem o conhecimento de forma imediata.

    Assim como na DIO, onde os bootcamps incentivam a aprendizagem ativa e prática, sua abordagem com exemplos e aplicações reais reflete essa metodologia. Aprender codificando, testando diferentes cenários e iterando sobre o código é um dos melhores caminhos para quem deseja se aprofundar em Java e na lógica de programação!