Divisão de Inteiros em Java

JavaBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá sobre a divisão inteira em Java. A divisão é a operação matemática que nos permite dividir uma quantidade por outra. Em Java, existem diferentes maneiras de realizar a divisão inteira, e é importante entender as diferenças entre elas.

Configurando o Ambiente

Abra o terminal e crie um novo arquivo Java usando o seguinte comando:

touch ~/project/IntegerDivision.java

Divisão Simples de Inteiros

Nesta etapa, você aprenderá como realizar a divisão inteira simples em Java. A divisão inteira simples ocorre quando tanto o divisor quanto o dividendo são números inteiros e o resultado também é um inteiro.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 25;
        int b = 5;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Aqui, definimos dois inteiros a e b, e realizamos a operação de divisão usando o operador /. O resultado é armazenado no inteiro c. Finalmente, imprimimos o resultado usando System.out.println().

Para executar o código, use o seguinte comando:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

25 / 5 = 5

Perda de Dados na Divisão de Inteiros

Nesta etapa, você aprenderá como lidar com situações em que pode perder precisão na divisão inteira.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Neste caso, definimos dois inteiros a e b, mas obtemos um resultado diferente porque perdemos precisão. O resultado desta operação não é 3.3333, mas sim 3, uma vez que estamos lidando com inteiros.

Para executar o código, use o mesmo comando da etapa 2:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

10 / 3 = 3

Divisão com Tipo de Dados Double

Nesta etapa, você aprenderá como lidar com situações em que precisa manter a precisão.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = (double) a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Aqui, definimos dois inteiros a e b. No entanto, alteramos o tipo de dados de c de int para double. Também fazemos um cast (conversão) de a para um double para garantir que a operação de divisão seja feita usando a precisão double. Finalmente, imprimimos o resultado.

Para executar o código, use o mesmo comando da etapa 2:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

10 / 3 = 3.3333333333333335

Divisão com Tipo de Dados Double Comum

Nesta etapa, você aprenderá outra maneira de lidar com situações em que precisa manter a precisão.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        System.out.println(a + " / 3.0 = " + c);
    }
}

Aqui, simplesmente mudamos um dos operandos para um double usando 3.0 em vez de 3. Isso garante que a seja dividido usando a precisão double.

Para executar o código, use o mesmo comando da etapa 2:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

10 / 3.0 = 3.3333333333333335

Múltiplas Divisões com Tipo de Dados Double Comum

Nesta etapa, você aprenderá como realizar múltiplas divisões com precisão double.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = a / 3.0;
        double d = 2.0 / b;
        System.out.println(a + " / 3.0 = " + c);
        System.out.println("2.0 / " + b + " = " + d);
    }
}

Definimos duas variáveis double, c e d, e realizamos duas divisões. Como mencionado anteriormente, usamos 3.0 para garantir a precisão double na primeira divisão. Na segunda divisão, usamos 2.0 para garantir a precisão double.

Para executar o código, use o mesmo comando da etapa 2:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

10 / 3.0 = 3.3333333333333335
2.0 / 3 = 0.6666666666666666

Atribuição de Divisão

Nesta etapa, você aprenderá como realizar uma divisão usando o operador de atribuição de divisão /=, que é uma notação abreviada para x = x / y.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        double c = 2.0;
        c /= b;
        System.out.println("2.0 / " + b + " = " + c);
    }
}

Definimos uma variável int a, uma variável int b e uma variável double c. Inicializamos c com 2.0. Em seguida, usamos o operador de atribuição de divisão para dividir c por b. Finalmente, imprimimos o resultado.

Para executar o código, use o mesmo comando da etapa 2:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

2.0 / 3 = 0.6666666666666666

Divisão Inteira com Operador Módulo

Nesta etapa, você aprenderá sobre o operador módulo %, que fornece o resto de uma operação de divisão.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 3;
        int c = a % b;
        System.out.println(a + " % " + b + " = " + c);
    }
}

Definimos as variáveis int a e b, e usamos o operador módulo % para obter o resto da operação de divisão. O resultado é armazenado na variável int c, e imprimimos o resultado.

Para executar o código, use o mesmo comando da etapa 2:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

10 % 3 = 1

Divisão por zero

Nesta etapa, você aprenderá o que acontece quando você divide por zero.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        int c = a / b;
        System.out.println(a + " / " + b + " = " + c);
    }
}

Definimos duas variáveis int a e b, e tentamos dividir a por b. Como a divisão por zero não é permitida, Java lança uma exceção em tempo de execução chamada ArithmeticException.

Se você tentar executar o código, verá uma mensagem de erro como esta:

Exception in thread "main" java.lang.ArithmeticException: / by zero
 at IntegerDivision.main(IntegerDivision.java:5)

Corrigindo a Divisão por Zero

Nesta etapa, você aprenderá como corrigir erros de divisão por zero usando instruções condicionais.

public class IntegerDivision {
    public static void main(String[] args) {
        int a = 10;
        int b = 0;
        if (b != 0) {
            int c = a / b;
            System.out.println(a + " / " + b + " = " + c);
        } else {
            System.out.println("Cannot divide by zero");
        }
    }
}

Aqui, usamos uma instrução if para verificar se b é diferente de zero. Se b não for zero, realizamos a operação de divisão e imprimimos o resultado. Caso contrário, imprimimos uma mensagem de erro.

Para executar o código, use o mesmo comando da etapa 2:

javac IntegerDivision.java && java IntegerDivision

A saída deve ser:

Cannot divide by zero

Resumo

Neste laboratório, você aprendeu sobre diferentes maneiras de realizar a divisão de inteiros em Java. Você aprendeu como lidar com situações em que pode perder precisão, como realizar divisões com precisão double e como usar o operador módulo. Você também aprendeu como lidar com erros de divisão por zero usando instruções condicionais.