Menu
Coddy logo textTech

Modulo Operator

Parte de la sección Fundamentos del Journey de Java de Coddy — lección 16 de 73.

El operador módulo % devuelve el resto de una división. En Java, se utiliza con una sintaxis sencilla:

result = dividend % divisor;
  • dividend: El número que se está dividiendo.
  • divisor: El número que divide al dividendo.
  • result: El resto de la división.

Por ejemplo:

result = 10 % 3;

Aquí, 10 se divide por 3. El 3 cabe en el 10 tres veces, con un resto de 1. Por lo tanto, result será 1.

¿Qué pasa si el dividendo es menor que el divisor? En ese caso, el divisor cabe 0 veces, por lo que el resto es simplemente el propio dividendo. Por ejemplo, 2 % 3 es igual a 2, porque el 3 cabe en el 2 cero veces y sobran 2.

Normalmente, el módulo se utiliza para comprobar si un número es par o impar:

  • Si un número es par, al dividirlo por 2 el resto será 0.
  • Si un número es impar, al dividirlo por 2 el resto será 1.

Al usar el operador módulo con números de punto flotante (doubles), funciona de manera similar a los enteros pero mantiene la precisión decimal. Por ejemplo:

double result = 5.5 % 2.0;
// el resultado es 1.5

Así es como funciona: 2.0 cabe en 5.5 dos veces (4.0), y el resto es 1.5 (5.5 - 4.0 = 1.5).

Nota: los valores double se almacenan como aproximaciones, por lo que algunos restos se imprimen con un pequeño error. Por ejemplo, 5.2 % 2.0 imprime 1.2000000000000002 en lugar de 1.2. Ese es un comportamiento normal de punto flotante, no un error en su código.

Otro ejemplo:

double result = 7.5 % 3.5;
// result es 0.5
challenge icon

Desafío

Principiante

Escribe un código que inicialice tres variables, a (int), b (double) y c (int) con los valores 9, 2.6, y 11 (respectivamente).

Después de eso, inicializa las siguientes variables:

  • d (int) que contendrá el resultado de a módulo 2 
  • e (int) que contendrá el resultado de a módulo 3
  • f (double) que contendrá el resultado de b módulo 1.5
  • g (double) que contendrá el resultado de b módulo 3.9
  • h (int) que contendrá el resultado de c módulo 10

Revisa el resultado y observa cómo diferentes dividendos y divisores afectan el resultado.

Pruébalo tú mismo

public class Main {
    public static void main(String[] args) {
        // Escribe tu código debajo
        
        
        // No cambies la línea de abajo
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("c = " + c);
        System.out.println("d = " + d);
        System.out.println("e = " + e);
        System.out.println("f = " + f);
        System.out.println("g = " + g);
        System.out.println("h = " + h);
    }
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos