Conversion Tipos de Datos Java
Conversion Tipos de Datos Java
APRENDERAPROGRAMAR.COM
CONVERSIN DE TIPOS DE
DATOS EN JAVA
(MOLDEADO O TIPADO).
EJEMPLOS. MTODO
VALUEOF (CU00670B)
Seccin: Cursos
Categora: Curso Aprender programacin Java desde cero
Fecha revisin: 2029
Resumen: Entrega n70 curso Aprender programacin Java desde cero.
aprenderaprogramar.com, 2006-2029
Una forma de realizar conversiones consiste en colocar el tipo destino entre parntesis, a la izquierda
del valor que queremos convertir de la forma siguiente: Tipo VariableNueva = (NuevoTipo)
VariableAntigua;
Por ejemplo: int miNumero = (int) ObjetoInteger;
char c = (char)System.in.read();
En el primer ejemplo, extraemos como tipo primitivo int el valor entero contenido en un campo del
objeto Integer. En el segundo caso, la funcin read devuelve un valor int, que se convierte en un char
debido a la conversin (char), y el valor resultante se almacena en la variable de tipo carcter c.
El tamao de los tipos que queremos convertir es muy importante. No todos los tipos se convertirn de
forma segura. Por ejemplo, al convertir un long en un int, el compilador corta los 32 bits superiores del
long (de 64 bits), de forma que encajen en los 32 bits del int, con lo que si contienen informacin til,
sta se perder. Este tipo de conversiones que suponen prdida de informacin se denominan
conversiones no seguras y en general se tratan de evitar, aunque de forma controlada pueden usarse
puntualmente.
De forma general trataremos de atenernos a la norma de que "en las conversiones debe evitarse la
prdida de informacin". En la siguiente tabla vemos conversiones que son seguras por no suponer
prdida de informacin.
TIPO ORIGEN
TIPO DESTINO
byte
short
char
int
long
double, float
float
Double
No todos los tipos se pueden convertir de esta manera. Como alternativa, existen otras formas para
realizar conversiones.
aprenderaprogramar.com, 2006-2029
INTERPRETACIN aprenderaprogramar.com
Con i entero primitivo que se transforma en Integer
No todas las conversiones son posibles. Muchas veces por despiste los programadores escriben
instrucciones de conversin incoherentes como miInteger = (int) miString;. El resultado en este caso es
un error de tipo Inconvertible types. Un uso tpico de valueOf es para convertir tipos primitivos en
objetos.
EJERCICIO
El API de Java proporciona herramientas para pedir datos al usuario a travs de ventanas. Un ejemplo
de ello es el uso de la clase JOptionPane perteneciente al paquete javax.swing.JOptionPane del API
Java. El mtodo showInputDialog permite pedir un dato al usuario y almacena su respuesta en un
objeto de tipo String. Queremos crear un programa que pida al usuario un nmero y muestre por
pantalla el doble de ese nmero. Para ello hemos creado este cdigo:
import javax.swing.JOptionPane;
public class ejemplo1 {
public static void main (String[] Args) {
String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un nmero:" );
System.out.println ("El doble del nmero introducido es: " + 2*entradaUsuario);
}
}
El problema que tenemos es que nos salta un mensaje de error operator * cannot be applied to int,
java.lang.String. Qu interpretacin haces de este mensaje de error? Cmo se puede corregir el
cdigo para que a travs de una conversin de tipos se ejecute el programa? Puedes comprobar si tu
cdigo y respuestas son correctas consultando en los foros aprenderaprogramar.com.
Prxima entrega: CU00671B
Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la direccin siguiente:
http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188
aprenderaprogramar.com, 2006-2029