Buscar publicaciones

Matemáticas en Java

Como todo lenguaje, Java también se dedica a las Matemáticas y lo hace a través de la clase java.lang.Math, con la particularidad que todos sus métodos son estáticos.

Además, la clase java.lang.Math tiene algo de historia, ya que mientras antes implementaba por su cuenta todos los métodos, hoy utiliza la clase java.lang.StrictMath para implementarlos. La clase StrictMath utiliza para sus cálculos librerías nativas escritas en C, lo que le asegura mejor perfonmance en varias operaciones.

Ahora, para conocer un poco mejor a la clase veremos algunos ejemplos:

  • Constantes matemáticas

[JAVA]
System.out.println(“pi = ” + Math.PI);
System.out.println(“e  = ” + Math.E);
[/JAVA]

  • Funciones trigonométricas

[JAVA]
double val = 0;
double ang = 45;

double rad = Math.toRadians(ang);

val = Math.cos(rad);
System.out.println(“Coseno de ” + ang + “º = ” + val);

val = Math.sin(rad);
System.out.println(“Seno de ” + ang + “º = ” + val);

val = Math.tan(rad);
System.out.println(“Tangente de ” + ang + “º = ” + val);

val = 0.707;
rad = Math.acos(val);
ang = Math.toDegrees(rad);
System.out.println(“Arco Coseno de ” + val + ” = ” + ang + “º”);

rad = Math.asin(val);
ang = Math.toDegrees(rad);
System.out.println(“Arco Seno de ” + val + ” = ” + ang + “º”);

rad = Math.atan(val);
ang = Math.toDegrees(rad);
System.out.println(“Arco Tangente de ” + val + ” = ” + ang + “º”);
[/JAVA]

  • Potenciación, radicación y logaritmos

[JAVA]
int val=2;
int exp=6;

System.out.println( val + ” elevado ” + exp + ” = ” + java.lang.Math.pow(val,exp) );

val=64;
System.out.println( “Raiz cuadrada de ” + val + ” = ” + java.lang.Math.sqrt(val) );

val = 256;
System.out.println( “Logaritmo en base 2 de ” + val + ” = ” + java.lang.Math.log10(val)/java.lang.Math.log10(2) );

System.out.println( “Logaritmo natural de ” +  java.lang.Math.E  + ” = ” + java.lang.Math.log(java.lang.Math.E) + “(¿acaso esperabas otra resultado?)” );
[/JAVA]

Vía: Le Funes

1 comment on Matemáticas en Java

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *