Buenas compañeros,
En este tema trataremos sobre la clase Math.
La clase Math
Sirve para hacer diferentes operaciones de una manera mas sencilla mediante sus métodos, asi como también nos brinda valores como podría ser el de π mediante sus constantes.
Se encuentra en el paquete java.langpor lo que no necesita ser importada.
Metodos mas utiles
Consultar tambien la API para ver otros métodos interesantes.
| Método | Descripción | Ejemplo |
|---|---|---|
.abs(x) |
Devuelve el valor absoluto de x. | Math.abs(-7) // Devuelve 7. |
.round(x) |
Devuelve x redondeado a un numero entero (int). | Math.round(1.5) // Devuelve 2. |
.ceil(x) |
Devuelve x redondeado hacia arriba al entero más cercano (double). | Math.ceil(6.1) // Devuelve 7.0. |
.floor(x) |
Devuelve x redondeado hacia abajo al entero más cercano (double). | Math.floor(10.7) // Devuelve 10.0. |
.max(a, b) |
Devuelve el mayor de dos valores. | Math.max(10, 20) // Devuelve 20 |
.min(a, b) |
Devuelve el menor de dos valores. | Math.min(10, 20) // Devuelve 10 |
.pow(a, b) |
Devuelve el valor de a elevado a b. | Math.pow(5, 2) // Devuelve 25.0. |
.sqrt(x) |
Devuelve la raíz cuadrada de x. | Math.sqrt(16) // Devuelve 4.0 |
.random() |
Devuelve un número pseudoaleatorio entre 0.0 y 1.0. * | Math.random() // Devuelve 0.9477708648356935. |
*Sobre Math.random(), recomiendo utilizar la clase Random (#24) ya que cuenta con funciones mucho mas cómodas y útiles que el método de Math. Ademas de ser mucho mas aleatoria. Siendo asi que este metodo no es confiable para tareas como criptografía o seguridad.
Geometria
| Método | Descripción | Ejemplo |
|---|---|---|
.sin(x) |
Devuelve el seno de un ángulo (x) en radianes. | Math.sin(3.1416 / 2) // Devuelve 1. |
.cos(x) |
Devuelve el coseno de un ángulo (x) en radianes. | Math.cos(0) // Devuelve 1. |
.tan(x) |
Devuelve la tangente de un ángulo (x) en radianes. | Math.tan(3.1416 / 4) // Devuelve 1. |
.toDegrees(x) |
Convierte radianes (x) a grados. | Math.toDegrees(3.1416) // Devuelve 180.0. |
.toRadians(x) |
Convierte grados (x) a radianes. | Math.toRadians(180) // Devuelve 3.1416. |
Constantes
La clase Math, a día de publicación de este tema solo cuenta con 3 constantes:
| Constante | Descripción | Valor |
|---|---|---|
Math.PI |
Almacena el valor de π (pi). | 3.141592653589793 |
Math.E |
Almacena el valor de e ( Euler). | 2.718281828459045 |
Math.TAU |
Almacena el valor de τ (tau o 2π). | 6.283185307179586 |
Uso de Math
La clase Math no cuenta con un constructor y no se puede heredar de ella (final) Asi que si queremos acceder a sus métodos y constantes debemos hacerlo llamando a la clase de manera estática, sin declarar un objeto:
Math.[elemento];
Veamoslo con un ejemplo:
Mates.java
public class Mates
{
public static void main(String[] args)
{
System.out.println("PI: " + Math.PI);
System.out.println("E: " + Math.E);
System.out.println("TAU: " + Math.TAU);
System.out.println("Numero aleatorio entre 0 y 1: " + Math.random());
System.out.println("Numero aleatorio entre 0 y 10: " + Math.round(Math.random() * 10));
System.out.println("Numero aleatorio entre 0 y 100: " + Math.round(Math.random() * 100));
System.out.println("7 elevado al cuadrado es: " + Math.pow(7, 2));
System.out.println("La raíz cuadrada de 49 es: " + Math.sqrt(49));
System.out.println("El mas grande entre 7 y -8 es: " + Math.max(7, -7));
}
}
Output
PI: 3.141592653589793
E: 2.718281828459045
TAU: 6.283185307179586
Numero aleatorio entre 0 y 1: 0.14041686793497854
Numero aleatorio entre 0 y 10: 7
Numero aleatorio entre 0 y 100: 16
7 elevado al cuadrado es: 49.0
La raíz cuadrada de 49 es: 7.0
El mas grande entre 7 y -8 es: 7
En el siguiente tema veremos la clase Random la cual nos ayuda a generar desde caracteres hasta números aleatorios de manera cómoda y sencilla.
- Indice.
- → Siguiente:
- ← Anterior: Curso básico de Java - #22 - Excepciones: Crear y lanzar excepciones