Redondeo y límites matemáticos
floor, ceil, round, min, max
Redondeo y límites matemáticos es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 4 lecciones en total.
Redondeo y límites
Esta lección se centra en la familia de métodos de Math para redondear (floor, ceil, round) y en limitar valores mediante min y max.
Math.floor
Math.floor redondea hacia abajo hasta el valor entero más cercano y devuelve un double. Math.floor(2.9) es 2.0.
public class Main {
public static void main(String[] args) {
System.out.println(Math.floor(2.9));
System.out.println(Math.floor(-2.1));
}
}Math.ceil
Math.ceil redondea hacia arriba. Math.ceil(2.1) es 3.0, y Math.ceil(-2.9) es -2.0.
public class Main {
public static void main(String[] args) {
System.out.println(Math.ceil(2.1));
System.out.println(Math.ceil(-2.9));
}
}Math.round
Math.round redondea al entero más cercano; en los empates (.5), redondea hacia arriba. Para un argumento double, devuelve un long.
public class Main {
public static void main(String[] args) {
System.out.println(Math.round(2.4));
System.out.println(Math.round(2.5));
System.out.println(Math.round(-2.5));
}
}Sorpresas al redondear números negativos
Para los números negativos, floor se aleja más de cero y ceil se acerca a cero. Math.round(-2.5) es -2 porque redondea los valores medios hacia arriba, es decir, hacia el infinito positivo.
Truncar mediante una conversión
Convertir un double a int simplemente elimina la parte fraccionaria, truncando hacia cero. Esto es diferente de floor para los números negativos.
public class Main {
public static void main(String[] args) {
System.out.println((int) 2.9);
System.out.println((int) -2.9);
System.out.println((int) Math.floor(-2.9));
}
}Min y max como límites
Combine Math.max y Math.min para limitar un valor a un rango. Math.max(0, Math.min(100, v)) mantiene v entre 0 y 100.
public class Main {
public static void main(String[] args) {
int v = 130;
int clamped = Math.max(0, Math.min(100, v));
System.out.println(clamped);
}
}Math.clamp
Java moderno añadió Math.clamp(value, min, max), que realiza la limitación directamente y es más fácil de leer que las llamadas anidadas a min/max.
public class Main {
public static void main(String[] args) {
System.out.println(Math.clamp(130, 0, 100));
System.out.println(Math.clamp(-5, 0, 100));
System.out.println(Math.clamp(50, 0, 100));
}
}floorDiv y floorMod
La división entera trunca hacia cero, lo que puede resultar sorprendente con números negativos. Math.floorDiv y Math.floorMod redondean hacia el infinito negativo y producen resultados coherentes.
public class Main {
public static void main(String[] args) {
System.out.println(-7 / 2);
System.out.println(Math.floorDiv(-7, 2));
System.out.println(Math.floorMod(-7, 2));
}
}Redondeo a posiciones decimales
Para redondear a N decimales, amplíe la escala, redondee y después reduzca la escala: para redondear x a 2 posiciones, utilice Math.round(x * 100.0) / 100.0.
public class Main {
public static void main(String[] args) {
double price = 3.14159;
double rounded = Math.round(price * 100.0) / 100.0;
System.out.println(rounded);
}
}Elegir un método de redondeo
Utilice floor para redondear siempre hacia abajo, ceil para redondear siempre hacia arriba, round para redondear al valor más cercano y una conversión de tipo para truncar. Para establecer límites, prefiera Math.clamp.
Comprobación rápida
Compruebe su comprensión del redondeo.
Resumen
Ha aprendido sobre el redondeo y los límites.
floorredondea hacia abajo,ceilredondea hacia arriba yroundredondea al valor más cercano (los empates hacia arriba).- Una conversión de tipo trunca hacia cero.
Math.clamp(o min/max anidados) limita un valor a un intervalo.floorDivyfloorModgestionan los valores negativos de forma coherente.
Preguntas frecuentes
¿La lección «Redondeo y límites matemáticos» es gratis?
Sí — el texto completo de «Redondeo y límites matemáticos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Redondeo y límites matemáticos»?
floor, ceil, round, min, max Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Java Academy?
No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Redondeo y límites matemáticos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Java Academy?
Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- La clase Math
- Generación de números aleatorios
- Rangos aleatorios y mezclado
- Redondeo y límites matemáticos