Operador módulo
Parte de la sección Fundamentos del Journey de Java de Coddy. Lección 16 de 73.
El operador módulo % proporciona el resto de una división. En Java, se usa con una sintaxis sencilla:
result = dividend % divisor;- dividend: El número que se divide.
- divisor: El número que divide al dividendo.
- result: El resto de la división.
Por ejemplo:
result = 10 % 3;Aquí, 10 se divide entre 3. 3 cabe en 10 tres veces, con un resto de 1. Por lo tanto, result será 1.
¿Qué ocurre si el dividendo es menor que el divisor? En ese caso, el divisor cabe 0 veces, por lo que el resto es simplemente el dividendo. Por ejemplo, 2 % 3 es igual a 2, porque 3 cabe en 2 cero veces y quedan 2.
Normalmente, el módulo se utiliza para comprobar si un número es par o impar:
- Si un número es par, dividirlo entre 2 dejará un resto de 0.
- Si un número es impar, dividirlo entre 2 dejará un resto de 1.
Al usar el módulo con números de coma flotante (doubles), funciona de manera similar a los enteros, pero conserva la precisión decimal. Por ejemplo:
double result = 5.5 % 2.0;
// result es 1.5Así es como funciona: 2.0 cabe dos veces (4.0) en 5.5, 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 muestran con un pequeño error. Por ejemplo, 5.2 % 2.0 muestra 1.2000000000000002 en lugar de 1.2. Ese es un comportamiento normal de los números de punto flotante, no un error en tu código.
Otro ejemplo:
double result = 7.5 % 3.5;
// result es 0.5Desafío
PrincipianteEscribe 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, inicializa las siguientes variables:
d (int)que almacenará el resultado deamódulo2e (int)que almacenará el resultado deamódulo3f (double)que almacenará el resultado debmódulo1.5g (double)que almacenará el resultado debmódulo3.9h (int)que almacenará el resultado decmódulo10
Comprueba el resultado y observa cómo los diferentes dividendos y divisores afectan al resultado.
Pruébalo tú mismo
public class Main {
public static void main(String[] args) {
// Escribe tu código a continuación
// 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);
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores, parte 1
Operadores aritméticosOperador móduloIncremento/decrementoIncremento/decremento posteriorAtajos aritméticosOperadores de comparaciónComparación de cadenas7Entrada y salida básicas
Métodos de System.outFormato de salidaClase ScannerRepaso: hasta 120Repaso: verdadero o falso10Métodos (Funciones)
Declaración de métodosParámetros de métodosTipos de retornoSobrecarga de métodosRepaso: función SigmaRepaso: función de validaciónMétodos void13Operaciones con cadenas
Métodos de cadenas, parte 1Métodos de cadenas, parte 2Formato de cadenasComparación de cadenas5Operadores, parte 2
Operadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simpleOperadores lógicos, parte 3Operadores lógicos, parte 48Aplicación de calculadora
Mensaje de bienvenidaObtención de números3Variables Parte 2
ConstantesConvenciones de nomenclaturaRepaso: inicializar variablesConversión de tipos Parte 1Conversión de tipos Parte 26Toma de decisiones
Sentencia IfIf - ElseSentencia SwitchOperador ternarioRepaso - If ElseIf - Else anidadoPractica por tu cuenta: Compilador de Java online