Implantación de Aplicaciones Web

UT3. Programación orientada a objetos. Programación Java

13. Clase Math

La clase Math representa la librería matemática de Java. Proviene de java.lang.Math cuyos métodos (todos estáticos) nos permiten realizar algunos cálculos matemáticos comunes.

Constantes Matemáticas

La clase Math define dos constantes muy útiles, el número pi y el número e.

public static final double E = 2.7182818284590452354;
public static final double PI = 3.14159265358979323846;
			

Funciones Trigonométricas

En las funciones trigonométricas los argumentos se expresan en radianes. Por ejemplo, el ángulo 45º se convierte en radianes y luego se halla el seno, el coseno y la tangente

double angulo = 45.0 * Math.PI/180.0;

System.out.println("cos(" + angulo + ") es " + Math.cos(angulo));
System.out.println("sin(" + angulo + ") es " + Math.sin(angulo));
System.out.println("tan(" + angulo + ") es " + Math.tan(angulo));
			

Funciones exponencial y logarítmica

La función exponencial exp devuelve el número e elevado a una potencia

System.out.println("exp(1.0) es " +  Math.exp(1.0));
System.out.println("exp(10.0) es " + Math.exp(10.0));
System.out.println("exp(0.0) es " +  Math.exp(0.0));
			

La función log calcula el logaritmo natural (de base e) de un número

System.out.println("log(1.0) es " + Math.log(1.0));
System.out.println("log(10.0) es " + Math.log(10.0));
System.out.println("log(Math.E) es " + Math.log(Math.E));
			

Función potencia y raíz cuadrada

Para elevar un número x a la potencia y, se emplea pow(x, y)

System.out.println("pow(10.0, 3.5) es " +  Math.pow(10.0,3.5));
			

Para hallar la raíz cuadrada de un número, se emplea la función sqrt

System.out.println("La raíz cuadrada de " + x + " is " + Math.sqrt(x));
			

Aproximación de un número decimal

Para expresar un número real con un número especificado de números decimales empleamos la función round. Por ejemplo, para expresar los números x e y con dos cifras decimales escribimos

double x = 72.3543;
double y = 0.3498;
System.out.println(x + " es aprox. " + (double)Math.round(x*100)/100);
System.out.println(y + " es aprox. " + (double)Math.round(y*100)/100);
			

El mayor y el menor de dos números

Para hallar el mayor y el menor de dos números se emplean las funciones min y max que comparan números del mismo tipo.

int i = 3;
int j = -4;
double x = 26.345;
double y = 5.326;
// para hallar el menor de dos número
    System.out.println("min(" + i + "," + j + ") es " + Math.min(i,j));
    System.out.println("min(" + x + "," + y + ") es " + Math.min(x,y));
// Para hallar el mayor de dos números
     System.out.println("max(" + i + "," + j + ") es " + Math.max(i,j));
     System.out.println("max(" + x + "," + y + ") es " + Math.max(x,y));
			

Números aleatorios

La clase Math define una función denominada random que devuelve un número pseudoaleatorio comprendido en el intervalo [0.0, 1.0). Existe otra alternativa, se pueden generar números pseudoaleatorios a partir de un objeto de la clase Random, que llame a la función miembro nextDouble.

System.out.println("Número aleatorio: " + Math.random());
System.out.println("Otro número aleatorio: " + Math.random());
			

Recursos

http://www2.uah.es/jcaceres/capsulas/java_math.pdf

http://www.sc.ehu.es/sbweb/fisica/cursoJava/fundamentos/estatico/math/math.htm

http://lefunes.wordpress.com/2009/03/14/la-clase-javalangmath-i/