Tipos de variables en Java
Declaración de variables
Antes de comenzar con los tipos de datos en java y
operaciones de variables. Primero deberás aprender como declararlas y asignarles
valores.
Una variable se declara escribiendo su tipo de dato y el
nombre o identificador de la variable. Como se observa en la imagen, se han declarado
3 variables, “num1”, “valor1” y “letra1” de tipos “int”, “boolean” y “char” respectivamente.
No te preocupes por el tipo de datos todavía, solo ten
presente que deben ir antes del nombre de la variable. Para asignarles un valor
solo basta con igualar al valor que le deseamos asignar:
Tipos de datos
Los tipos de datos en java son un conjunto de valores y
operaciones sobre esos valores. Consideremos los datos primitivos: “int”, “double”, “boolean” y
“char”.
Ejemplos:
-
Int
valor1 = 2
-
double
valor2 = 1.2
-
boolean
valor 3 = false
-
char
valor4 = ‘A’
Es común
escuchar o leer que en Java “todo es un objeto”. Sin embargo, los valores
primitivos en Java no son objetos propiamente dichos, ya que no tienen
atributos ni métodos que puedan ser llamados.
A diferencia
de los objetos, los valores primitivos en Java son tipos de datos simples y básicos
que representan valores individuales, como números enteros, valores booleanos,
caracteres, entre otros. A pesar de que no son objetos, Java proporciona una
serie de operadores y funciones que permiten trabajar con ellos de manera
efectiva.
En las imágenes
siguientes se puede observar la diferencia entre una variable que almacena un
valor primitivo y una que almacena un objeto.
En el
código de la imagen superior he declarado dos variables: “primitivo” y “noprimitivo”,
de tipo “char” y “String”, respectivamente. En la línea 11, he vuelto a llamar
a la variable “noprimitivo” seguida de un punto para acceder a alguna de sus
propiedades. Al ser no primitiva, esta variable es un objeto que tiene métodos
y atributos que podemos llamar. Después del punto, se muestra una pequeña ventana
que lista los métodos posibles que podemos utilizar, como “charAt”, “chars” y “concat”,
entre otros.
En la
siguiente imagen, hemos elegido el método “concat(String str)”, el cual nos
permite concatenar cadenas de texto o palabras y agregarlas al valor de la
variable que lo utiliza. Sin embargo, cuando intentamos realizar el mismo proceso
con la variable “primitivo” en la línea 13, se muestra una ventana con el
mensaje “No Default Proposals”. Esto significa que no existen métodos o atributos
disponibles que podamos llamar, lo cual se denota con un subrayado rojo para
indicar un error.
Además de
lo visto anteriormente, los tipos de datos primitivos asignan menos espacio en
memoria para sus valores.
Tipos de
datos primitivos
1. Enteros
Los números
enteros se pueden almacenar en 4 tipos diferentes de datos: long, int, short y
byte.
Nombre |
Rango |
long |
-9223372036854775808
a 9223372036854775807 |
int |
-2147483648 a 2147483647 |
short |
-32768 a 32767 |
byte |
-128 a 127 |
Esto quiere decir por ejemplo que, según el
rango de los números que deseamos almacenar usaremos un tipo u otro de dato. En
el siguiente ejemplo he asignado la velocidad de la luz aproximada 300000000
m/s a cada tipo de dato y, como es de esperarse ni short ni byte pueden
almacenarlo, muestran un subrayado de color rojo debajo del número para denotar
error.
2. De punto
flotante o Reales
Los números
reales, se pueden asignar a variables de tipo double o float.
Tipo de dato |
Precisión |
float |
Simple de 6 - 7 dígitos decimales |
double |
Doble de 15 - 16 dígitos decimales |
Recuerda
que al declarar la variable como tipo “float”, debes agregar el sufijo “f” al valor
asignado. Si solo se agrega “float” para el tipo, Java lo reconocerá como “double”.
Como se
puede observar en la tabla, el tipo “double” ofrece más precisión en la
variable a costa de un mayor espacio de almacenamiento. Esto se puede ilustrar
mejor en el ejemplo de la imagen: se declararon dos variables de tipo “float” con
valores de 8 y 3, se dividen para crear la variable “resultado1”. Luego, se declaran
dos variables de tipo “double”, se dividen dando lugar a la variable “resultado2”.
Para imprimir esto, se utiliza la clase “System”. Si no recuerdas como hacerlo puedes
revisar el artículo de instalación de Eclipse.
En la consola se pueden observar los valores de los dos resultados y, como es de esperarse, la variable “resultado2” tiene más precisión al ser de tipo “double”.
3. Booleanos
Para el
tipo de dato “boolean” solo le pueden ser asignados dos valores: false y true.
Si has estudiado el tema de lógica proposicional en los años escolares, centro
preuniversitario o primeros años de universidad, el tipo “boolean”
probablemente te suene familiar. Es análogo al valor de verdad de una
proposición.
En la
segunda imagen del este post, se puede observar la declaración de una variable
de tipo “boolean” llamada “valor1” con un valor inicial de “false”. Sin embargo,
me gustaría mostrar un caso frecuente en el que se utilizan estas variables:
los condicionales.
En el paréntesis
que acompaña a la palabra reservada “if” se escribe la condición que se quiere
comprobar. En este caso se desea saber si la variable “lector” es igual a “true”,
para lo cual se utiliza el operador de comparación doble igual “==”.
Si esta
condición es verdadera se ejecutará el código que se encuentra entre las llaves
que siguen al paréntesis. Si no es verdadera, se ejecutará el código que se encuentra
entre las llaves que siguen a la palabra reservada “else”.
En este ejemplo, como la variable “lector”
tiene un valor de “true”, se imprimirá en consola “Sí.”. El caso de que “lector”
tuviera un valor de “false”, se imprimiría en su lugar “No.”. Esto se puede
observar en la siguiente imagen.
Además,
para abreviar el código, en lugar de escribir “lector == true” se puede utilizar
simplemente lector. Al colocar la variable “lector” dentro del paréntesis que
acompaña a la palabra reservada “if”, por defecto se evalúa si su valor es
verdadero (true) o no (false).
4. Cadenas
Este tipo
de dato primitivo se representa con la palabra “char”. Este tipo de dato se
utiliza para representar un solo carácter Unicode. Un carácter Unicode es una
representación numérica de un carácter, que puede ser un número, una letra, un
signo de puntuación, un símbolo, entre otros.
En el siguiente
ejemplo, se imprime en la consola el valor de cada variable tal y como fueron
asignados. Cabe mencionar que el tipo de dato “char” solamente puede almacenar
un carácter como valor, es decir no se pueden asignar cadenas de caracteres y deben
encerrarse en comillas simples.
Es importante destacar que cada carácter puede ser representado mediante una secuencia de dígitos utilizando la notación Unicode. La representación Unicode es una secuencia de números que abarca un rango de 0 a 65535, lo cual permite representar una amplia variedad de caracteres.
Comentarios
Publicar un comentario