public class Capsulas { public static void main(String[] args) { // Inicializar Primitivos int i1 = 12; int i2 = 300; long l1 = 200L; // sufijo para primitivo long long l2 = 200l; // sufijo para primitivo long long l3 = 200; float f1 = 1e-39F; // sufijo para primitivo float float f2 = 1e+11f; // sufijo para primitivo float float f3 = 1; double d1 = 32e46d; // sufijo para primitivo double double d2 = 14D; // sufijo para primitivo double double d3 = 1; // Inicializar "Wrappers" con primitivos Integer wi1 = new Integer(i1); Long wl1 = new Long(l1); Float wf1 = new Float(f1); Double wd1 = new Double(d1); // Convertir/Imprimir Valores de "Wrappers" como double (primitivo) prt(wi1.doubleValue()); prt(wl1.doubleValue()); prt(wf1.doubleValue()); prt(wd1.doubleValue()); // Convertir/Imprimir Valores de "Wrappers" como float (primitivo) prt(wi1.floatValue()); prt(wl1.floatValue()); prt(wf1.floatValue()); prt(wd1.floatValue()); // Convertir/Imprimir Valores de "Wrappers" como long (primitivo) prt(wi1.longValue()); prt(wl1.longValue()); prt(wf1.longValue()); prt(wd1.longValue()); // Convertir/Imprimir Valores de "Wrappers" como integer (primitivo) prt(wi1.intValue()); prt(wl1.intValue()); prt(wf1.intValue()); prt(wd1.intValue()); // Inicializar "String's" con valores numericos String str1 = "7"; String str2 = "57"; String str3 = "3.23"; String str4 = "797.43"; // Inicializar "Wrappers" con "String's" Integer wi2 = new Integer(str1); Long wl2 = new Long(str2); Float wf2 = new Float(str3); Double wd2 = new Double(str4); // Imprimir Valores prt(wi2); prt(wl2); prt(wf2); prt(wd2); // Convertir/Imprimir Valores de "Wrappers" como String's prt(wi2.toString()); prt(wl2.toString()); prt(wf2.toString()); prt(wd2.toString()); // Inicializar "Wrappers" con primitivos Integer wi3 = new Integer(0); Long wl3 = new Long(0); Float wf3 = new Float(0); Double wd3 = new Double(0); // Convertir/Imprimir Valores de "Wrappers" a través de "String's" // a su respectivo primitivo prt(wi3.parseInt(str1)); prt(wl3.parseLong(str2)); prt(wf3.parseFloat(str3)); prt(wd3.parseDouble(str4)); } static void prt(String s) { System.out.println("Un String con valor " + s); } static void prt(Integer i) { System.out.println("Un Integer (\"Wrapper\") con valor " + i); } static void prt(Long l) { System.out.println("Un Long (\"Wrapper\") con valor " + l); } static void prt(Float f) { System.out.println("Un Float (\"Wrapper\") con valor " + f); } static void prt(Double d) { System.out.println("Un Double (\"Wrapper\") con valor " + d); } static void prt(int i) { System.out.println("Un int (primitivo) con valor " + i); } static void prt(long l) { System.out.println("Un long (primitivo) con valor " + l); } static void prt(float f) { System.out.println("Un float (primitivo) con valor " + f); } static void prt(double d) { System.out.println("Un double (primitivo) con valor " + d); } } |
Como en todo programa Java , primeramente se define la Clase a través del vocablo class
.
Se define el método principal main
y dentro de éste se generan diversos campos ("fields"), nótese que en algunas declaraciones se emplea un sufijo para definir el valor del primitivo (L,l,F,f,D,d
), lo anterior se hace con la finalidad de asignar un espacio apropiado para futuras manipulaciones numéricas.
Uso de SufijosAunque el uso de sufijos no es obligatorio, su uso se hace más evidente cuando los primitivos son empleados para realizar operaciones matemáticas con mayor precisión. Tomemos un número definido como |
Posteriormente, se inicializan cuatro "Wrappers" a través de los primitivos definidos anteriormente.
Seguido se emplean una serie de declaraciones con el método prt
para imprimir valores a pantalla; en esta serie de declaraciones se manda imprimir el valor de los "Wrappers" definidos anteriormente a través de métodos auxiliares xxxxValue()
.
Dichos métodos auxiliares se encuentran disponibles para todo "Wrapper" de primitivo y permiten restringir el rango del mismo, esto en términos computacionales es conocido como "Casting" (Concepto ilustrado a más detalle en otra sección de este curso); mediante esta utilización de "Casting" se puede ilustrar la pérdida de exactitud en primitivos, tal sería el caso al realizar un "Cast" de double
a int
.
Posteriormente son definidos cuatro "String's" con valores numéricos.
Se declara otra serie de "Wrappers" que son inicializados a través de los "String's" definidos anteriormente.
Son impresos a pantalla (a través de prt
) los valores de los "Wrappers", en la primer serie como "Wrappers" directamente y en la segunda serie manipulados hacia "String's" mediante el método auxiliar toString()
disponible en todo "Wrapper".
Se inicializan otra serie de "Wrappers" con primitivos 0 (cero)
Son impresos a pantalla los valores de estos últimos "Wrappers" como primitivos a través de los "String's" definidos previamente, dicha impresión de "String's" como primitivos se logra a través de los métodos auxiliares parseXXX
.
Finalmente son definidos una serie de métodos prt
que toman distintos argumentos de entrada ; el diseño de estos métodos prt
es conocido como overloading, concepto que será ilustrado a detalle en una futura sección del curso.