Saltar al contenido principal

🧮 La Clase Math

La clase java.lang.Math contiene métodos para realizar operaciones numéricas básicas como exponencial, logaritmo, raíz cuadrada y funciones trigonométricas.

Métodos Matemáticos

La clase Math es utilitaria, por lo que todos sus métodos son estáticos.

Operaciones Comunes

MétodoDescripciónEjemplo
abs(x)Valor absolutoMath.abs(-3) -> 3
max(a, b)Máximo valorMath.max(3.5, 1.2) -> 3.5
min(a, b)Mínimo valorMath.min(3.5, 1.2) -> 1.2
pow(a, b)Potencia ($a^b$)Math.pow(10, 3) -> 1000.0
sqrt(x)Raíz cuadradaMath.sqrt(25) -> 5.0

Redondeo

double techo = Math.ceil(3.5);  // 4.0 (Hacia arriba)
double piso = Math.floor(3.5); // 3.0 (Hacia abajo)
long entero = Math.round(3.5); // 4 (Redondeo aritmético)

Trigonometría

Unidades

Las funciones trigonométricas en Java (sin, cos, tan) esperan recibir el ángulo en radianes, no en grados.

double grados = 90.0;
double radianes = Math.toRadians(grados);

System.out.println("sin(90): " + Math.sin(radianes)); // 1.0
System.out.println("cos(90): " + Math.cos(radianes)); // 6.12e-17 (aprox 0)

Números Aleatorios

Math.random()

Genera un número double pseudoaleatorio mayor o igual a 0.0 y menor que 1.0.

// Número aleatorio simple
double random = Math.random();

// Seleccionar elemento de un arreglo
String[] colores = { "azul", "rojo", "verde" };
int indice = (int) (Math.random() * colores.length);
System.out.println("Color: " + colores[indice]);

Clase Random

La clase java.util.Random proporciona métodos más versátiles para generar diferentes tipos de datos aleatorios.

import java.util.Random;

Random rnd = new Random();

// Entero aleatorio en rango [0, 100) (exclusivo)
int n = rnd.nextInt(100);

// Entero en rango [15, 25]
int min = 15;
int max = 25;
int rango = rnd.nextInt(max - min + 1) + min;