Contenido del Curso
Fundamentos de Java
Fundamentos de Java
Operaciones Matemáticas en Char
¿Por qué son posibles las operaciones matemáticas en el tipo char?
El tipo de dato char
es bastante interesante. Almacena caracteres, pero también se pueden realizar operaciones sobre este tipo de dato.
¿Cuál será el resultado de ejecutar este código?
Main
package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
Se podría pensar que el resultado sería A(
, pero como podemos ver, el resultado es i
. ¿Por qué sucede esto? char
no es un tipo de dato puramente de carácter; toma los caracteres de la tabla ASCII. El carácter A
corresponde al número 65 en la tabla, mientras que el carácter (
corresponde al número 40. Como habrás deducido, el carácter i
corresponde a 105, ya que 65 + 40 = 105.
Es importante conocer esto porque nos permite operar sobre el tipo de dato char
de manera excelente y flexible.
Aquí tienes un enlace a la tabla ASCII.
Conversión de tipos
En el código anterior, puede que hayas notado esta sintaxis inusual:
python
¿Pero por qué se requiere (char)
? La operación de suma devuelve un resultado de tipo int
porque suma los códigos numéricos de los caracteres. Para almacenar este resultado en una variable de tipo char
, es necesaria una conversión explícita. Esto es exactamente lo que hace la construcción (char)
: convierte el valor numérico de nuevo en un carácter.
En nuestro ejemplo, el resultado de la suma es el número 105. La construcción (char)
convierte este número en el carácter correspondiente al código 105 en la tabla ASCII, que resulta ser el carácter i
.
¡Gracias por tus comentarios!