Conversión de Tipos en Java
Cuando programamos en Java, usamos diferentes tipos de datos para almacenar información, como
números, letras y palabras. A veces, necesitamos cambiar un tipo de dato a otro, y a eso se le llama
conversión de tipos.
Java tiene dos formas de hacer esta conversión:
1. Conversión automática (implícita): Java hace el cambio por sí solo.
2. Conversión manual (explícita o "casting"): Nosotros le decimos a Java cómo hacer la conversión.
Conversión Automática
Java puede convertir algunos tipos de datos sin que hagamos nada. Esto ocurre cuando pasamos de un
tipo más pequeño a uno más grande.
Ejemplo
Si escribimos:
Aunque el número 5 es un entero (int), Java lo convierte automáticamente en un flotante (float),
mostrando 5.0.
Esto sucede porque float puede contener valores más grandes y detallados que int, por lo que Java hace
la conversión sin problemas.
Aquí hay un orden de los tipos de datos de menor a mayor:
Si vamos de izquierda a derecha, Java convierte automáticamente el valor.
Conversión Manual (Casting)
Cuando queremos pasar de un tipo más grande a uno más pequeño, Java no hace la conversión
automáticamente porque podríamos perder información. En estos casos, debemos usar el proceso de
"casting".
Ejemplo
Aquí convertimos un double (número decimal grande) en un float (número decimal más pequeño).
Usamos (float) antes del valor para que Java entienda que queremos hacer el cambio.
Pérdida de información:
Si convertimos un decimal a un entero, Java elimina los decimales.
Conversión de Caracteres a Números
En Java, las letras también pueden convertirse en números porque tienen un valor Unicode.
Ejemplo
Salida: 65
El número 65 es el código Unicode de la letra 'A'.
Cada letra tiene un número:
• 'A' → 65
• 'B' → 66
• 'C' → 67
Y así sucesivamente.
Resumen
✔ Si conviertes un tipo pequeño a uno grande, Java lo hace automáticamente.
✔ Si conviertes un tipo grande a uno pequeño, necesitas usar casting manual.
✔ Cuando conviertes un decimal a un entero, Java elimina los decimales.
✔ Los caracteres tienen un valor numérico (Unicode) cuando los conviertes a enteros.