Puntos escenciales sobre las asociaciones de clases en java y muchas cosas mas para guiarte con las clasesDescripción completa
Descripción: Lacan Seminario 5 - Clase 9, 10, 11
LECCIÓN 9 Y 10 ESTRUCTURAS PRINCIPALES DEL LENGUAJE VI OTROS CÁLCULOS NUMÉRICOS. CLASE MATH I Y II. REFUNDICIONES Todo programa java debe estar compuesto al menos por una clase. En java podemos tener clases propias y clases predefinidas. CLASES PROPIAS: Estas son las clases que creamos nosotros mismos. Como por ejemplo las clases que se muestran en la imagen que son las que hemos venido creando:
CLASES PREDEFINIDAS: Estas son las clases que están ya construidas dentro del lenguaje de programación java. En la siguiente imagen se muestran por ejemplo 4 clases predefinidas de java:
En java existen muchas clases, y cada clase puede tener muchos métodos. Por lo cual tratar de memorizar todo esto no es nada fácil. API JAVA: Es una biblioteca donde vienen todas las clases del lenguaje de programación java. CLASE MATH: Esta clase se utiliza para efectuar cálculos matemáticos. ALGUNOS MÉTODOS DE LA CLASE MATH:
CONSTANTES PREDEFINIDAS O CONSTANTES DE CLASES: Anteriormente aprendimos a crear nuestras propias constantes. También en java existen constantes predefinidas que vienen incluidas en las clases java las cuales no se pueden modificar. Como ejemplo de estas constantes tenemos al número PI (π). EJEMPLOS UTILIZANDO LA CLASE MATH Para ello empezamos creando la siguiente clase:
RAIZ CUADRADA DE UN NÚMERO. MÉTODO Math.sqrt(); Este método de la clase math nos permite obtener la raíz cuadrada de un número. Es importante mencionar que “este método solo admite datos tipo double y también devuelve datos tipo double”.
En este ejemplo se ha declarado una variable a la cual llamamos “raiz” la cual almacena un dato tipo double. “ojo la variable raiz debe almacenar estrictamente un dato tipo double ya que dicha variable almacenará nuestro resultado y el método Math.sqrt(); solo devuelve como resultado un dato tipo double”. Como se dijo anteriormente el método Math.sqrt(); solo admite datos tipo double. Y aunque como argumento hemos colocado un dato entero (el número 2) el método Math.sqrt(); lo considera como un double igual a (2.0)
Como podemos observar al ejecutar el programa se nos muestra en la consola de comandos de eclipse el resultado. PROBANDO CON OTRO NÚMERO En este caso se ha colocado como argumento el número 9. Ya sabemos que este es un entero y no un double, pero también sabemos que el método Math.sqrt(); lo considera como un double (9.0) De la misma manera sabemos que la raiz cuadrada del número 9 es un entero (el número 3). Pero también sabemos que el método Math.sqrt(); devuelve solo datos tipo double. Por tal razón nos aparece como resultado el decimal (3.0)
REDONDEO DE UN NÚMERO. MÉTODO Math.round(); Para redondear un número se debe utilizar el método Math.round(); Existen 2 tipos de métodos tipo Math.round(); El primero solo recibe datos tipo float y devuelve datos tipo int.
El segundo solo recibe datos tipo double y devuelve datos tipo long. EJEMPLO 1: (REDONDEO DE 5.5 A 6) RECORDAR QUE LOS DATOS TIPO FLOAT LLEVAN EL SUFIJO F AL FINAL.
EJEMPLO 1: (REDONDEO DE 5.49 A 5)
SITUACIONES O PROBLEMAS COMUNES EN LA PROGRAMACIÓN (USO DE LAS REFUNDICIONES) Para explicar el tema de las refundiciones consideremos el siguiente ejemplo. Supongamos que tenemos un dato tipo “double” igual a 6.88 Y supongamos que queremos redondearlo a 7. Este redondeo podemos realizarlo sin problemas utilizando
.
Este redondeo nos daría como resultado un dato tipo “long” con valor igual a 7. Pero supongamos también que en vez de que se nos arroje un dato tipo “long” queremos obtener obligatoriamente un dato tipo “int”. En este caso debemos realizar la siguiente refundición: En la línea 5 se ha declarado una variable tipo double con el nombre “numero1” y se ha iniciado dándole como valor el dato tipo double igual a 6.88
En la línea 6 se ha declarado otra variable la cual es tipo int y se le dio como nombre “redondeo”. También en la misma línea se ha iniciado la variable aplicando el método Math.round(); a la variable “numero1”. Como bien se sabe el resultado que devuelve el método Math.round(); cuando admite datos tipo double, es un dato tipo long. Por tal razón para evitar que se produzca un error al tratar de almacenarse un resultado tipo long en una variable que fue declarada como int se hace una refundición colocando “(int)” antes del método Math.round();
Observamos el resultado:
De esta manera el resultado que devuelve el método math.round(); es transformado de long a int y se puede almacenar sin problemas en la variable “redondeo”.
ELEVACIÓN DE UN NÚMERO A UNA POTENCIA. MÉTODO Math.pow(); Para trabajar con las potenciaciones se utiliza el método Math.pow();
El dato correspondiente a la base debe ser definido como un double. El dato correspondiente al exponente también debe ser definido como un double. El resultado que nos devuelve el método es un double. EJEMPLO 1 ELEVACIÓN DE 23
Podemos cambiar la variable resultado de double a byte y almacenar sin problemas el resultado que nos arroje Math.round(); haciendo una refundición de double a byte.