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.

 (Haz clic en las imágenes si no son muy claras)

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.




Ahora usemos el código anterior, pero esta vez asignaremos los valores Unicode de los caracteres usados a cada variable. Los códigos los puedes encontrar en la tabla anterior.



Como resultado, al imprimir los valores de las variables en la consola se obtienen los caracteres esperados.


Comentarios

Entradas populares de este blog

Instalación del IDE Eclipse para Java y JShell

POO (Programación Orientada a Objetos), public, private y clases en Java - 1

Estructuras de datos en Java