Clase Math
En el mundo de la programación en Java, la clase Math se destaca como una
herramienta fundamental, proporcionando una amplia gama de métodos y
constantes esenciales para realizar operaciones matemáticas comunes con
facilidad y precisión.
Una de las ventajas más destacadas de esta clase radica en su accesibilidad
instantánea. No es necesario crear un objeto específico para utilizar sus
funcionalidades, ya que todos sus métodos son estáticos. Esto significa que
puedes invocar directamente cualquier método desde la clase misma,
simplificando significativamente el proceso de realizar cálculos matemáticos en
tus programas. Además, la clase Math forma parte del paquete [Link], lo que
elimina la necesidad de importarla explícitamente. Simplemente precede el
nombre del método que desees utilizar con "Math.", y estarás listo para acceder a
su potencial completo.
Pero la clase Math no solo ofrece métodos; también alberga dos constantes
matemáticas de gran importancia: PI y E. Estas constantes, representadas como
valores de tipo double, pueden integrarse en tus cálculos matemáticos con una
precisión excepcional. Desde calcular áreas de círculos hasta resolver
ecuaciones exponenciales, PI y E se convierten en aliados confiables,
proporcionando una base sólida para tus operaciones matemáticas más
complejas.
[Link]; //3.141592653589793
Math.E; //2.718281828459045
Algunos de los métodos más comunes de la clase Math incluyen:
● [Link](): Devuelve el valor absoluto de un número.
int num = -10;
int absNum = [Link](num); // absNum será igual a 10
● [Link](): Calcula la raíz cuadrada de un número.
double num = 16;
double sqrtNum = [Link](num); // sqrtNum será igual a 4.0
● [Link](): Calcula la potencia de un número.
double base = 2;
double exponente = 3;
double resultado = [Link](base, exponente); // resultado será igual a 8.0
● [Link](): Genera un número aleatorio entre 0.0 (inclusive) y 1.0
(exclusivo).
double randomNum = [Link](); // Genera un número aleatorio entre 0.0 y 1.0
● [Link](): Realiza el redondeo de un número al entero más cercano.
double num = 3.6;
long roundedNum = [Link](num); // roundedNum será igual a 4
● [Link](): Redondea hacia abajo un número decimal al entero más
cercano.
double num = 4.9;
double flooredNum = [Link](num); // flooredNum será igual a 4.0
● [Link](): Redondea hacia arriba un número decimal al entero más
cercano.
double num = 2.2;
double ceiledNum = [Link](num); // ceiledNum será igual a 3.0
Métodos de la clase Math
En este anexo, puedes ver algunos de los distintos métodos que tiene la clase
Math explicados brevemente:
Método Descripción Tipo de Dato
Constante matemática e, la base del logaritmo
E (Tipo de dato: double)
natural
Constante matemática π, la relación entre la
PI (Tipo de dato: double)
circunferencia de un círculo y su diámetro
Calcula el residuo de la división de dos números
IEEEremainder(double
en formato de punto flotante según la norma IEEE (Tipo de dato: double)
dividendo, double divisor)
754
abs(int valor) Devuelve el valor absoluto de un número entero (Tipo de dato: int)
Devuelve el valor absoluto de un número entero,
absExact(int valor) lanzando una excepción si el resultado no se (Tipo de dato: int)
puede representar como un entero
Devuelve el arcocoseno de un número en formato
acos(double angulo) (Tipo de dato: double)
de punto flotante
Devuelve la suma de dos números enteros,
addExact(int a, int b) lanzando una excepción si el resultado no se (Tipo de dato: int)
puede representar como un entero
Devuelve el arcoseno de un número en formato de
asin(double angulo) (Tipo de dato: double)
punto flotante
Devuelve el arcotangente de un número en
atan(double angulo) (Tipo de dato: double)
formato de punto flotante
Devuelve el arcotangente del cociente de dos
atan2(double y, double x) (Tipo de dato: double)
números en formato de punto flotante
Devuelve la raíz cúbica de un número en formato
cbrt(double valor) (Tipo de dato: double)
de punto flotante
Redondea hacia arriba un número en formato de
ceil(double valor) (Tipo de dato: double)
punto flotante al entero más cercano
Devuelve el objeto Class que representa la clase
class (Tipo de dato: Class<?>)
de la instancia actual
copySign(double magnitud, Devuelve un número con la magnitud del primer
(Tipo de dato: double)
double signo) parámetro y el signo del segundo parámetro
Devuelve el coseno de un ángulo en formato de
cos(double angulo) (Tipo de dato: double)
punto flotante
Devuelve el coseno hiperbólico de un número en
cosh(double angulo) (Tipo de dato: double)
formato de punto flotante
Resta 1 a un número entero, lanzando una
decrementExact(int valor) excepción si el resultado no se puede representar (Tipo de dato: int)
como un entero
Devuelve el valor de “e” elevado a la potencia de
exp(double valor) (Tipo de dato: double)
un número en formato de punto flotante
Devuelve el valor de “e” elevado a la potencia de
expm1(double valor) (Tipo de dato: double)
un número en formato de punto flotante, menos 1
Redondea hacia abajo un número en formato de
floor(double valor) (Tipo de dato: double)
punto flotante al entero más cercano
floorDiv(int dividendo, int Realiza la división entera de dos números enteros
(Tipo de dato: int)
divisor) y devuelve el resultado redondeado hacia abajo
floorMod(int dividendo, int Calcula el módulo de dos números enteros y
(Tipo de dato: int)
divisor) devuelve el resultado redondeado hacia abajo
fma(double a, double b, Realiza una multiplicación y suma precisa de tres
(Tipo de dato: double)
double c) números en formato de punto flotante
Devuelve el exponente de un número en formato
getExponent(double valor) (Tipo de dato: int)
de punto flotante
hypot(double cateto1, Calcula la hipotenusa de un triángulo rectángulo
(Tipo de dato: double)
double cateto2) dados los dos catetos
Suma 1 a un número entero, lanzando una
incrementExact(int valor) excepción si el resultado no se puede representar (Tipo de dato: int)
como un entero
Calcula el logaritmo natural de un número en
log(double valor) (Tipo de dato: double)
formato de punto flotante
Calcula el logaritmo en base 10 de un número en
log10(double valor) (Tipo de dato: double)
formato de punto flotante
Calcula el logaritmo natural de (1 + valor) de
log1p(double valor) (Tipo de dato: double)
forma precisa para valores cercanos a 0
Devuelve el valor máximo entre dos números
max(int a, int b) (Tipo de dato: int)
enteros
Devuelve el valor mínimo entre dos números
min(int a, int b) (Tipo de dato: int)
enteros
Multiplica dos números enteros, lanzando una
multiplyExact(int a, int b) excepción si el resultado no se puede representar (Tipo de dato: int)
como un entero
Multiplica dos números enteros y devuelve los 64
multiplyFull(int a, int b) (Tipo de dato: long)
bits de más peso del resultado
Multiplica dos números enteros y devuelve los 32
multiplyHigh(int a, int b) (Tipo de dato: int)
bits de más peso del resultado
Cambia el signo de un número entero, lanzando
negateExact(int valor) una excepción si el resultado no se puede (Tipo de dato: int)
representar como un entero
nextAfter(double start, Devuelve el número más cercano al primer
(Tipo de dato: double)
double direction) parámetro en la dirección del segundo parámetro
Devuelve el número más cercano al valor
nextDown(double valor) (Tipo de dato: double)
especificado, menor que dicho valor
Devuelve el número más cercano al valor
nextUp(double valor) (Tipo de dato: double)
especificado, mayor que dicho valor
pow(double base, double Calcula la potencia de un número en formato de
(Tipo de dato: double)
exponente) punto flotante
Genera un número pseudoaleatorio en el rango de
random() (Tipo de dato: double)
0.0 (incluido) a 1.0 (excluido).
Redondea un número en formato de punto
rint(double valor) (Tipo de dato: double)
flotante al entero más cercano
Redondea un número en formato de punto
round(float valor) (Tipo de dato: int)
flotante al entero más cercano
Redondea un número en formato de punto
round(double valor) (Tipo de dato: long)
flotante al entero más cercano
scalb(double valor, int Escala un número en formato de punto flotante
(Tipo de dato: double)
escala) según una potencia de 2 especificada
Devuelve el signo de un número en formato de
signum(double valor) (Tipo de dato: double)
punto flotante
Devuelve el seno de un ángulo en formato de
sin(double angulo) (Tipo de dato: double)
punto flotante
Devuelve el seno hiperbólico de un número en
sinh(double angulo) (Tipo de dato: double)
formato de punto flotante
Calcula la raíz cuadrada de un número en formato
sqrt(double valor) (Tipo de dato: double)
de punto flotante
subtractExact(int a, int b) Resta dos números enteros, lanzando una (Tipo de dato: int)
excepción si el resultado no se puede representar
como un entero
Devuelve la tangente de un ángulo en formato de
tan(double angulo) (Tipo de dato: double)
punto flotante
Devuelve la tangente hiperbólica de un número en
tanh(double angulo) (Tipo de dato: double)
formato de punto flotante
toDegrees(double
Convierte un ángulo en radianes a grados (Tipo de dato: double)
anguloRad)
Convierte un número largo a un entero, lanzando
toIntExact(long valor) una excepción si el resultado no se puede (Tipo de dato: int)
representar como un entero
toRadians(double
Convierte un ángulo en grados a radianes (Tipo de dato: double)
anguloDeg)
Devuelve la unidad de menor magnitud en el
ulp(double valor) (Tipo de dato: double)
rango del valor especificado
💡Siempre es recomendable utilizar la documentación oficial para obtener más detalles
sobre el material proporcionado, su uso y su implementación. Puedes acceder a la
información sobre la Clase Math desde aquí.