Como Verificar se um Número é Maior que Outro em Java

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como comparar dois números em Java para determinar se um é maior que o outro. Exploraremos o uso de operadores de comparação, especificamente o operador "maior que" (>), que é fundamental para tomar decisões condicionais em programação.

Através de exercícios práticos, você implementará código para ler a entrada do usuário, aplicar o operador maior que para comparar diferentes tipos numéricos e lidar com casos em que os números são iguais. Este laboratório fornecerá experiência prática no uso de instruções condicionais e operadores de comparação em Java.

Usar o Operador de Comparação 'Maior que'

Nesta etapa, aprenderemos como usar operadores de comparação em Java para comparar dois números. Especificamente, focaremos no operador "maior que" (>). Os operadores de comparação são fundamentais em programação, pois nos permitem tomar decisões com base na relação entre os valores.

Vamos criar um novo programa Java para demonstrar o operador maior que.

  1. Abra o arquivo HelloJava.java no editor WebIDE, caso ele ainda não esteja aberto.

  2. Substitua todo o conteúdo do arquivo pelo seguinte código:

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter the first number: ");
            int number1 = scanner.nextInt();
    
            System.out.print("Enter the second number: ");
            int number2 = scanner.nextInt();
    
            if (number1 > number2) {
                System.out.println("The first number is greater than the second number.");
            }
    
            scanner.close();
        }
    }

    Vamos analisar as novas partes deste código:

    • import java.util.Scanner;: Ainda precisamos do Scanner para obter a entrada do usuário.
    • System.out.print("Enter the first number: ");: Solicita ao usuário que insira o primeiro número.
    • int number1 = scanner.nextInt();: Lê o primeiro inteiro inserido pelo usuário e o armazena na variável number1.
    • System.out.print("Enter the second number: ");: Solicita ao usuário que insira o segundo número.
    • int number2 = scanner.nextInt();: Lê o segundo inteiro inserido pelo usuário e o armazena na variável number2.
    • if (number1 > number2): É aqui que usamos o operador maior que (>). Esta linha verifica se o valor de number1 é maior que o valor de number2. O código dentro das chaves {} só será executado se essa condição for verdadeira.
    • System.out.println("The first number is greater than the second number.");: Esta linha será impressa se number1 for realmente maior que number2.
  3. Salve o arquivo (Ctrl+S ou Cmd+S).

  4. Compile o programa modificado no Terminal:

    javac HelloJava.java

    Se não houver erros de compilação, você não verá nenhuma saída.

  5. Execute o programa compilado:

    java HelloJava
  6. O programa solicitará que você insira dois números. Insira um número para a primeira solicitação, pressione Enter, depois insira um segundo número e pressione Enter novamente.

    Por exemplo, se você inserir 10 para o primeiro número e 5 para o segundo número, a saída será:

    Enter the first number: 10
    Enter the second number: 5
    The first number is greater than the second number.

    Se você inserir 5 para o primeiro número e 10 para o segundo número, não haverá saída após inserir o segundo número, porque a condição number1 > number2 é falsa.

Você usou com sucesso o operador de comparação maior que para comparar dois números e executar código com base no resultado.

Testar com Diferentes Tipos Numéricos

Na etapa anterior, comparamos dois números inteiros. Java possui diferentes tipos numéricos para lidar com vários tipos de números, como números inteiros (inteiros) e números com casas decimais (números de ponto flutuante). Nesta etapa, exploraremos como os operadores de comparação funcionam com diferentes tipos numéricos.

Java possui vários tipos numéricos primitivos, incluindo:

  • int: para números inteiros (inteiros)
  • double: para números de ponto flutuante (números com decimais)
  • float: também para números de ponto flutuante, mas geralmente menos preciso que double
  • long: para números inteiros muito grandes

Operadores de comparação como > podem ser usados para comparar valores de diferentes tipos numéricos. Java frequentemente realizará a conversão automática de tipos (ampliação) para tornar a comparação possível. Por exemplo, ao comparar um int e um double, o int será convertido em um double antes da comparação.

Vamos modificar nosso programa para comparar um inteiro e um double.

  1. Abra o arquivo HelloJava.java no editor WebIDE.

  2. Substitua o código existente pelo seguinte:

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter an integer: ");
            int intNumber = scanner.nextInt();
    
            System.out.print("Enter a decimal number: ");
            double doubleNumber = scanner.nextDouble();
    
            if (intNumber > doubleNumber) {
                System.out.println("The integer is greater than the decimal number.");
            }
    
            if (doubleNumber > intNumber) {
                System.out.println("The decimal number is greater than the integer.");
            }
    
            scanner.close();
        }
    }

    Neste código atualizado:

    • Agora lemos um int na variável intNumber usando scanner.nextInt().
    • Lemos um double na variável doubleNumber usando scanner.nextDouble().
    • Usamos o operador > para comparar intNumber e doubleNumber. Observe que adicionamos uma segunda instrução if para verificar se o número decimal é maior que o inteiro.
  3. Salve o arquivo (Ctrl+S ou Cmd+S).

  4. Compile o programa no Terminal:

    javac HelloJava.java
  5. Execute o programa:

    java HelloJava
  6. Insira um inteiro e um número decimal quando solicitado.

    Por exemplo, se você inserir 10 para o inteiro e 9.5 para o número decimal, a saída será:

    Enter an integer: 10
    Enter a decimal number: 9.5
    The integer is greater than the decimal number.

    Se você inserir 5 para o inteiro e 5.1 para o número decimal, a saída será:

    Enter an integer: 5
    Enter a decimal number: 5.1
    The decimal number is greater than the integer.

Isso demonstra que Java pode comparar diferentes tipos numéricos usando o operador maior que.

Lidar com Números Iguais

Nas etapas anteriores, usamos o operador maior que (>) para verificar se um número é maior que outro. No entanto, o que acontece se os dois números forem iguais? Nosso programa atual não lida explicitamente com esse caso.

Nesta etapa, aprenderemos como verificar a igualdade usando o operador de igualdade (==) e como usar as instruções if-else if-else para lidar com múltiplas possibilidades, inclusive quando os números são iguais.

O operador de igualdade (==) em Java é usado para verificar se dois valores são iguais. Ele retorna true se os valores forem os mesmos e false caso contrário.

Vamos modificar nosso programa para comparar dois números e imprimir uma mensagem indicando se o primeiro número é maior que, menor que ou igual ao segundo número.

  1. Abra o arquivo HelloJava.java no editor WebIDE.

  2. Substitua o código existente pelo seguinte:

    import java.util.Scanner;
    
    public class HelloJava {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
    
            System.out.print("Enter the first number: ");
            double number1 = scanner.nextDouble();
    
            System.out.print("Enter the second number: ");
            double number2 = scanner.nextDouble();
    
            if (number1 > number2) {
                System.out.println("The first number is greater than the second number.");
            } else if (number1 < number2) {
                System.out.println("The first number is less than the second number.");
            } else {
                System.out.println("The two numbers are equal.");
            }
    
            scanner.close();
        }
    }

    Vamos examinar as mudanças:

    • Agora estamos lendo dois valores double para permitir mais flexibilidade nos testes.
    • if (number1 > number2): Esta é a mesma verificação de antes. Se number1 for maior que number2, a primeira mensagem é impressa.
    • else if (number1 < number2): Esta é uma nova parte. O bloco else if é executado somente se a condição if anterior (number1 > number2) for falsa. Aqui, usamos o operador menor que (<) para verificar se number1 é menor que number2.
    • else: Este bloco é executado se nenhuma das condições if ou else if precedentes for verdadeira. Neste caso, se number1 não for maior que number2 e não for menor que number2, ele deve ser igual a number2.
  3. Salve o arquivo (Ctrl+S ou Cmd+S).

  4. Compile o programa no Terminal:

    javac HelloJava.java
  5. Execute o programa:

    java HelloJava
  6. Insira dois números, incluindo casos em que eles são iguais.

    Se você inserir 7.5 para o primeiro número e 7.5 para o segundo número, a saída será:

    Enter the first number: 7.5
    Enter the second number: 7.5
    The two numbers are equal.

    Se você inserir 10 e 5, verá "The first number is greater than the second number." Se você inserir 5 e 10, verá "The first number is less than the second number."

Você agora usou com sucesso as instruções if-else if-else e o operador de igualdade (==) para lidar com diferentes resultados de comparação, incluindo a igualdade.

Resumo

Neste laboratório, aprendemos como verificar se um número é maior que outro em Java. Começamos usando o operador de comparação > dentro de uma instrução if para comparar dois valores inteiros inseridos pelo usuário. Isso demonstrou o conceito fundamental de usar operadores de comparação para tomar decisões em nosso código.

Em seguida, exploramos como lidar com diferentes tipos numéricos, garantindo que nossa lógica de comparação funcione corretamente para vários tipos de dados, como double e float. Finalmente, abordamos o cenário em que os dois números são iguais, expandindo nossa lógica condicional para incluir o operador "maior ou igual a" (>=) ou verificações separadas para igualdade.