|
Clases Java |
Anterior | Siguiente |
La
Clase Float Cada tipo numérico tiene su propia clase de obtetos. Así el tipo float tiene el objeto Float. De la misma forma que con la clase Character, se han codificado muchas funciones útiles dentro de los métodos de la clase Float. La primera sentencia creará una variable float y la segunda un objeto Float: float f; Float F; Float.POSITIVE_INFINITY Float.NEGATIVE_INFINITY Float.NaN Float.MAX_VALUE Float.MIN_VALUE String s = Float.toString( f ); f = Float.valueOf( "3.14" ); boolean b = Float.isNaN( f ); boolean b = Float.isInfinite( f ); El método isNaN() comprueba si f es un No-Número. Un ejemplo de no-número es raíz cuadrada de -2. La especificación del IEEE para la coma flotante trata a estos dos valores de forma muy especial, y en el ejemplo java802.java, se crean dos objetos double , uno es infinito y el otro es un no-número. class java802 { public static void main( String args[] ) { Double d1 = new Double( 1/0. ); Double d2 = new Double( 0/0. ); System.out.println( d1 + ": " + d1.isInfinite() + ", " + d1.isNaN() ); System.out.println( d2 + ": " + d2.isInfinite() + ", " + d2.isNaN() ); } } Si se ejecuta este programa, la salida obtenida es la que se reproduce C:\> java java802 Infinity: true, false NaN: false, true Float F = new Float( Float.PI ); String s = F.toString(); int i = F.intValue(); long l = F.longValue(); float F = F.floatValue(); double d = F.doubleValue(); int i = F.hashCode(); boolean b = F.equals( Object obj ); int i = Float.floatToIntBits( f ); float f = Float.intBitsToFloat( i ); Cada tipo numérico tiene su propia clase de objetos. Así el tipo double tiene el objeto Double. De la misma forma que con la clase Character, se han codificado muchas funciones útiles dentro de los métodos de la clase Double. La clase Double tiene un constructor para inicializarla con un valor double o, lo que es muy práctico, con una representación tipo String del valor. El programa java803.java, demuestra la creación de una clase Double pasando un valor double y también pasando una cadena que se puede interpretar como double. class java803 { public static void main( String args[] ) { Double d1 = new Double( 3.14159 ); Double d2 = new Double( "314159E-5" ); System.out.println( d1 + " = " + d2 + " -> " + d1.equals( d2 ) ); } } Si se ejecuta y observa la salida, se comprueba que ambos constructores han creado instancias de Double idénticas, como lo demuestra el hecho de que el método equals() devuelva true. C:\> java java803 3.14159 = 3.14159 -> true La primera sentencia creará una variable double y la segunda un objeto Double: double d; Double D; Double.POSITIVE_INFINITY Double.NEGATIVE_INFINITY Double.NaN Double.MAX_VALUE Double.MIN_VALUE D.isNaN(); Double.isNaN( d ); D.isInfinite(); Double.isInfinite( d ); boolean D.equals(); String D.toString(); int D.intValue(); long D.longValue(); float D.floatValue(); double D.doubleValue(); int i = D.hashCode(); Double V.valueOf( String s ); long l = Double.doubleToLongBits( d ); double d = Double.longBitsToDouble( l ); Cada tipo numérico tiene su propia clase de objetos. Así el tipo int tiene el objeto Integer. De la misma forma que con la clase Character, se han codificado muchas funciones útiles dentro de los métodos de la clase Integer. La primera sentencia creará una variable int y la segunda un objeto Integer: int i; Integer I; Integer.MIN_VALUE; Integer.MAX_VALUE;
En los métodos toString(), parseInt() y valueOf() que no se especifica la base sobre la que se trabaja, se asume que es base 10. Cada tipo numérico tiene su propia clase de objetos. Así el tipo long tiene el objeto Long. De la misma forma que con la clase Character, se han codificado muchas funciones útiles dentro de los métodos de la clase Long. La primera sentencia creará una variable long y la segunda un objeto Long: long l; Long L; Long.MIN_VALUE; Long.MAX_VALUE; String Long.toString( long l,int base ); String Long.toString( long l ); long L.parseLong( String s,int base ); long L.parseLong( String s ); Long Long.valueOf( String s,int base ); Long Long.valueOf( String s ); int L.intValue(); long L.longValue(); float L.floatValue(); double L.doubleValue(); String L.toString(); int L.hashCode(); boolean L.equals( Object obj ); En los métodos toString(), parseInt() y valueOf() que no se especifica la base sobre la que se trabaja, se asume que es base 10. Los valores boolean también tienen su tipo asociado Boolean, aunque en este caso hay menos métodos implementados que para el resto de las clases numéricas. La primera sentencia creará una variable boolean y la segunda un objeto Boolean: boolean b; Boolean B; Boolean.TRUE; Boolean.FALSE; boolean B.booleanValue(); String B.toString(); boolean B.equals( Object obj ); |
|