División entera en Java

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás sobre la división de enteros en Java. La división es la operación matemática que nos permite dividir una cantidad por otra. En Java, hay diferentes maneras de realizar la división de enteros, y es importante entender las diferencias entre ellas.

Configuración del entorno

Abre la terminal y crea un nuevo archivo Java con el siguiente comando:

touch ~/project/IntegerDivision.java

División de enteros simple

En este paso, aprenderás a realizar la división de enteros simple en Java. La división de enteros simple es cuando tanto el divisor como el dividendo son números enteros y el resultado también es un entero.

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);
    }
}

Aquí, definimos dos enteros a y b, y realizamos la operación de división utilizando el operador /. El resultado se almacena en el entero c. Finalmente, imprimimos el resultado utilizando System.out.println().

Para ejecutar el código, utiliza el siguiente comando:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

25 / 5 = 5

Perder datos en la división de enteros

En este paso, aprenderás a manejar situaciones en las que se puede perder precisión en la división de enteros.

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);
    }
}

En este caso, definimos dos enteros a y b, pero obtenemos un resultado diferente porque perdemos precisión. El resultado de esta operación no es 3.3333 sino 3, ya que estamos trabajando con enteros.

Para ejecutar el código, utiliza el mismo comando que en el paso 2:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

10 / 3 = 3

División con el tipo de datos Double

En este paso, aprenderás a manejar situaciones en las que es necesario mantener la precisión.

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);
    }
}

Aquí, definimos dos enteros a y b. Sin embargo, cambiamos el tipo de datos de c de int a double. También convertimos a a un doble para asegurarnos de que la operación de división se realice con precisión de doble. Finalmente, imprimimos el resultado.

Para ejecutar el código, utiliza el mismo comando que en el paso 2:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

10 / 3 = 3.3333333333333335

División con el tipo de datos Double común

En este paso, aprenderás otra forma de manejar situaciones en las que es necesario mantener la precisión.

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);
    }
}

Aquí, simplemente cambiamos uno de los operandos a un double usando 3.0 en lugar de 3. Esto asegura que a se divida con precisión de double.

Para ejecutar el código, utiliza el mismo comando que en el paso 2:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

10 / 3.0 = 3.3333333333333335

Múltiples divisiones con el tipo de datos Double común

En este paso, aprenderás a realizar múltiples divisiones con precisión de 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 dos variables double c y d, y realizamos dos divisiones. Como se mencionó anteriormente, usamos 3.0 para asegurar la precisión de doble en la primera división. En la segunda división, usamos 2.0 para asegurar la precisión de doble.

Para ejecutar el código, utiliza el mismo comando que en el paso 2:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

10 / 3.0 = 3.3333333333333335
2.0 / 3 = 0.6666666666666666

Asignación de división

En este paso, aprenderás a realizar una división utilizando el operador de asignación de división /=, que es una notación abreviada de 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 una variable int a, una variable int b y una variable double c. Inicializamos c con 2.0. Luego usamos el operador de asignación de división para dividir c por b. Finalmente, imprimimos el resultado.

Para ejecutar el código, utiliza el mismo comando que en el paso 2:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

2.0 / 3 = 0.6666666666666666

División entera con el operador módulo

En este paso, aprenderás sobre el operador módulo %, que te da el residuo de una operación de división.

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 las variables int a y b, y usamos el operador módulo % para obtener el residuo de la operación de división. El resultado se almacena en la variable int c, y luego imprimimos el resultado.

Para ejecutar el código, utiliza el mismo comando que en el paso 2:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

10 % 3 = 1

División por cero

En este paso, aprenderás lo que sucede cuando se divide por cero.

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 dos variables int a y b, y tratamos de dividir a por b. Dado que no está permitido dividir por cero, Java lanza una excepción en tiempo de ejecución llamada ArithmeticException.

Si intentas ejecutar el código, verás un mensaje de error como este:

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

Corrigiendo la división por cero

En este paso, aprenderás cómo corregir los errores de división por cero utilizando declaraciones condicionales.

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("No se puede dividir por cero");
        }
    }
}

Aquí, usamos una declaración if para comprobar si b es distinto de cero. Si b no es cero, realizamos la operación de división e imprimimos el resultado. De lo contrario, imprimimos un mensaje de error.

Para ejecutar el código, utiliza el mismo comando que en el paso 2:

javac IntegerDivision.java && java IntegerDivision

La salida debe ser:

No se puede dividir por cero

Resumen

En este laboratorio, aprendiste sobre diferentes maneras de realizar divisiones enteras en Java. Aprendiste cómo manejar situaciones en las que es posible perder precisión, cómo realizar divisiones con precisión de double y cómo usar el operador módulo. También aprendiste cómo manejar los errores de división por cero utilizando declaraciones condicionales.