domingo, 30 de septiembre de 2012

la Clase Math

Buenas amigos, en este nuevo tema vamos a hablar de la clase Math, la cual nos proporciona métodos para realizar operaciones matemáticas, para mi gusto, es una de las clases más importantes.

La clase Math no se puede instanciar, ya que todos sus métodos son estáticos, es decir, no podemos crear objetos de esta clase e ir llamando a sus métodos. Esta clase posee 2 atributos estáticos que contiene las 2 constantes más usadas:
      • static double E: Posee el valor numérico real más cercano a E
      • static double PI: Posee el valor numérico real más cercano a PI

Que decir tiene, que estas 2 constantes son las más utilizadas en el mundo matemático y están escritas en mayúsculas (E,PI) no para resaltar su importancia, sino porque las constantes en Java son escritas en mayúsculas en su totalidad, para que se sepa que es una constante y no una variable.

Los métodos más utilizados de esta clase son:
  • double random(): Devuelve un número aleatorio igual o mayor que 0.0 y menor que 1.0:
En este ejemplo vamos a obtener 10 números aleatorios de 1 a 10 (da igual si están repetidos) y los vamos a mostrar por pantalla, vamos a comentar las dudas que os puedan surgir:
      • ¿Por qué pongo (int) delante de Math.random()? 
        • Eso es un "casting". Como Math.random() nos devuelve un valor "double" con el "casting" le hacemos entender que aunque me devuelva un valor "double" yo lo quiero "int", con lo cual me hace la conversión de "double" a "int".
      • ¿Por qué multiplico por 10?
        • Multiplico por 10 porque el número real que nos va a devolver está comprendido entre 0 .0 y 1 con lo cual, si nos devolviese "0.73" al multiplicarlo por 10, nos devolvería 7.3, posteriormente con el "casting" a "int" nos devolvería el redondeo de 7.3, que en este caso es 7.
      • ¿Por qué pongo +1?
        • El +1 se pone para que nos de un resultado entre 1 y 10, ya que sino nos devolvería un valor entre 0 y 9, recordar que dije igual o mayor que 0.0 y menor que 1, que no igual a 1, nunca nos dará 1, pero si un valor muy aproximado de él.
  • tipo_basico max(numero1,numero2): Devuelve el mayor de los 2 números pasados por parámetros, este método está sobrecargado para devolver diferentes tipos de números(int, long, float, double).
  • tipo_basico min(numero1,numero2): Exactamente igual que el método anterior "max" pero devolviendo el valor mínimo:

  • double ceil(double numero): Devuelve el entero mayor del número pasado por parámetro:

  • double floor(double número): Devuelve el entero menor del número pasado por parámetro:
  • double round(double número): Devuelve el redondeo del número pasado por parámetro:
  • double pow(double a, double b): Devuelve el resultado de elevar "a" a "b":
  • double sqrt(double número): Devuelve la raíz cuadrada del número pasado por parámetro:

Bien, estos son a mi parecer los más interesantes, tiene más, pero estos son los más utilizados. Espero servir de ayuda.

Un saludo

No hay comentarios:

Publicar un comentario