Clase Math en Java: Guía completa de abs(), round(), ceil(), floor(), min(), max() y más – Con ejemplos prácticos
La clase Math de Java es esencial para desarrolladores que abordan cálculos complejos —desde simulaciones físicas hasta computaciones geográficas. Esta guía cubre los métodos principales —abs(), round(), ceil(), floor(), min(), max()— y demuestra cada uno con ejemplos de código prácticos.
Constantes clave disponibles en java.lang.Math:
- Math.E – 2.718281828459045 (base del logaritmo natural)
- Math.PI – 3.141592653589793 (ratio de circunferencia a diámetro)
| Método | Descripción | Argumentos |
|---|---|---|
| abs | Devuelve el valor absoluto del argumento | double, float, int, long |
| round | Redondea al int o long más cercano | double o float |
| ceil | Menor entero ≥ valor | double |
| floor | Mayor entero ≤ valor | double |
| min | Menor de dos argumentos | double, float, int, long |
| max | Mayor de dos argumentos | double, float, int, long |
A continuación se muestra un fragmento de código conciso que ilustra estos métodos (no se necesita importación explícita; java.lang.Math está disponible automáticamente):
int i1 = 27; int i2 = -45; double d1 = 84.6; double d2 = 0.45;
// abs()
System.out.println("abs(i1) = " + Math.abs(i1));
System.out.println("abs(i2) = " + Math.abs(i2));
System.out.println("abs(d1) = " + Math.abs(d1));
System.out.println("abs(d2) = " + Math.abs(d2));
// round()
System.out.println("round(d1) = " + Math.round(d1));
System.out.println("round(d2) = " + Math.round(d2));
// ceil() & floor()
System.out.println("ceil(d1) = " + Math.ceil(d1));
System.out.println("floor(d1) = " + Math.floor(d1));
System.out.println("ceil(d2) = " + Math.ceil(d2));
System.out.println("floor(d2) = " + Math.floor(d2));
// min() & max()
System.out.println("min(i1, i2) = " + Math.min(i1, i2));
System.out.println("max(i1, i2) = " + Math.max(i1, i2));
System.out.println("min(d1, d2) = " + Math.min(d1, d2));
System.out.println("max(d1, d2) = " + Math.max(d1, d2));
Salida de ejemplo:
abs(i1) = 27 abs(i2) = 45 abs(d1) = 84.6 abs(d2) = 0.45 round(d1) = 85 round(d2) = 0 ceil(d1) = 85.0 floor(d1) = 84.0 ceil(d2) = 1.0 floor(d2) = 0.0 min(i1, i2) = -45 max(i1, i2) = 27 min(d1, d2) = 0.45 max(d1, d2) = 84.6
Más allá de la aritmética básica, java.lang.Math ofrece potentes funciones científicas:
| Método | Descripción | Argumentos |
|---|---|---|
| exp | e elevado al valor de entrada | double |
| log | Logaritmo natural | double |
| pow | Base elevada al exponente | double, double |
| sqrt | Raíz cuadrada | double |
double d1 = 84.6; double d2 = 0.45;
System.out.println("exp(d2) = " + Math.exp(d2));
System.out.println("log(d2) = " + Math.log(d2));
System.out.println("pow(5, 3) = " + Math.pow(5.0, 3.0));
System.out.println("sqrt(16) = " + Math.sqrt(16));
Salida:
exp(d2) = 1.568312185490169 log(d2) = -0.7985076962177716 pow(5, 3) = 125.0 sqrt(16) = 4.0
Y la caja de herramientas trigonométrica:
| Método | Descripción | Argumentos |
|---|---|---|
| sin | Seno (entrada en radianes) | double |
| cos | Coseno (radianes) | double |
| tan | Tangente (radianes) | double |
| atan2 | Arco tangente de y/x (devuelve radianes) | double, double |
| toDegrees | Radianes a grados | double |
| toRadians | Grados a radianes | double |
double anguloGrados = 30.0;
double anguloRad = Math.toRadians(anguloGrados);
System.out.println("sin(30°) = " + Math.sin(anguloRad));
System.out.println("cos(30°) = " + Math.cos(anguloRad));
System.out.println("tan(30°) = " + Math.tan(anguloRad));
System.out.println("atan2(4, 2) = " + Math.atan2(4, 2));
Salida:
sin(30°) = 0.49999999999999994 cos(30°) = 0.8660254037844387 tan(30°) = 0.5773502691896257 atan2(4, 2) = 1.1071487177940904
Con estos bloques de construcción, puedes crear calculadoras científicas robustas, realizar cálculos de ingeniería o procesar coordenadas geográficas con confianza.
Java
- Polimorfismo en C++ explicado: Ejemplos prácticos y conceptos clave
- Función round() en Python explicada con ejemplos prácticos
- Encapsulamiento en Java: Guía completa con ejemplo práctico
- Variables y tipos de datos en Java – Guía completa con ejemplos
- Método Java String length(): Cómo obtener el tamaño de un String (Ejemplo)
- Entendiendo Java String.charAt(): Sintaxis, tipo de retorno, excepciones y ejemplo práctico
- Método Java String.contains(): Cómo comprobar subcadenas – Ejemplos prácticos
- Dominando Java String.endsWith(): Cómo comprobar sufijos de cadena con ejemplos
- Lectura de archivos en Java con BufferedReader – Guía práctica con ejemplos
- Algoritmo Insertion Sort en Java: Ejemplo Claro y Guía Paso a Paso
- Selection Sort en Java: Ejemplo Paso a Paso y Código Completo