Programming

T02-002-Tipos de datos básicos en Java

Enunciado

Tipos de datos

Como sabemos, los datos se almacenan en binario, usando exclusivamente ceros y unos. Como también sabemos, con ceros y unos podemos representar cualquier tipo de información: números, letras, colores, imágenes, sonidos, vídeo, etc.

Afortunadamente, los programadores no trabajamos con los datos a bajo nivel (ceros y unos), sino que utilizamos las abstracciones de alto nivel de los mismos. Así, los programadores trabajamos con números, letras, colores, imágenes, etc. Es decir, trabajamos con la interpretación de alto nivel de esos ceros y unos: trabajamos con lo que llamamos tipos de datos. Un tipo de dato establece cómo una secuencia de ceros y unos debe ser interpretada según lo que esté representando: como un número, como una letra, como un booleano, etc.

En muchos lenguajes, cada variable solo pueden contener valores de un tipo: números enteros, números decimales, letras, booleanos, etc.

En estos lenguajes, el tipo de una variable se establece en la definición de la misma y no puede ser cambiado posteriormente en el programa. Si tratamos de asignar un valor de un tipo distinto a dicha variable, el compilador dará un error.  Este tipo de lenguajes se llaman LENGUAJES FUERTEMENTE TIPADOS.

Java es un lenguaje fuertemente tipado.

Los lenguajes de programación tipados tienen definidos una serie de tipos de datos primitivos o básicos, que generalmente son: numéricos (números, enteros o reales), alfanuméricos (letras/caracteres o cadenas de caracteres) y lógicos o booleanos (valor verdadero o falso). Por lo tanto, los tipos de datos primitivos son los proporcionados por el propio lenguaje de manera nativa.

También suelen permitir definir y utilizar datos más complejos a partir de combinaciones de datos primitivos. Estos tipos de datos se llaman datos estructurados. Los tipos de datos estructurados son construidos por los programadores (o suministrados en librerías del lenguaje) y, en los lenguajes orientados a objetos, se definen definiendo su propia clase y objetos. En java, las cadenas de caracteres, son un tipo estructurado: la clase String.

TIPOS DE DATOS
PRIMITIVOS ESTRUCTURADOS
NUMÉRICOS ALFANUMÉRICOS LÓGICOS/BOOLEANOS ...
ENTERO REAL CARÁCTER CADENA DE CARACTERES    

De momento, nosotros nos centraremos exclusivamente en los tipos de datos primitivos.

Tipos de datos y memoria

Cuando se establece el tipo de una variable, realmente lo que estamos haciendo es establecer la cantidad de memoria que reservamos para dicha variable. Por lo tanto, el tipo de dato de una variable establece el rango de valores que dicha variable puede almacenar.

Por ejemplo, si el tipo de datos “número” es un tipo de dato de 16 bits, quiere decir que cuando se declare una variable de dicho tipo (por ejemplo, la variable precio), se reservarán 16 bits en memoria para guardar ceros y unos, que representarán el número entero que dicha variable puede almacenar.

Automáticamente, esto implica que dicha variable sólo va a poder almacenar 2^16 números distintos.

Declaración de variables en Java

Para definir una variable en Java, usaremos la siguiente sintaxis:

Tipo Nombre;

donde:

  • Tipo es el tipo de dato de la variable
  • Nombre es el nombre o identificador de la variable

Ejemplos:

int numero;
float numeroReal;
char letra;
boolean estaLloviendo;

Las variables pueden ser declaradas en cualquier parte del código, pero se aconseja hacerlo siempre en el inicio del bloque en el que van a usarse.

Inicialización de variables en Java

Una vez que se define una variable, debemos darle siempre un valor inicial. Esto es lo que se conoce con el nombre de INICIALIZAR una variable.

Para darle un valor a una variable, ya sea durante la inicialización de la misma o posteriormente en el programa, usaremos una sentencia de asignación. En Java, el operador de asignación es el símbolo =

Si intentamos usar una variable sin haberla inicializado, el IDE nos avisará marcando el error y nos dará un error de compilación.

Ejercicio

Crea una aplicación en Java que declare e inicialice las siguientes variables:

numero de tipo entero.
numeroReal de tipo float.
letra de tipo carácter.
estaLloviendo de tipo booleano.

Los valores de cada una de esas variables será el siguiente.

numero: 18
numeroReal: 3,14
letra: P
estaLloviendo: false

El resultado de la aplicación será el que se puede observar en el OUTPUT.

Solución


											
package variables; public class Variables { public static void main(String[] args) { int numero; float numeroReal; char letra; boolean estaLloviendo; numero = 18; numeroReal = 3.14f; letra = 'P'; estaLloviendo = false; System.out.println("El contenido de la variable numero es " + numero); System.out.println("El contenido de la variable numeroReal es " + numeroReal); System.out.println("El contenido de la variable letra es " + letra); System.out.println("El contenido de la variable estaLloviendo es " + estaLloviendo); } }

Input

Output

El contenido de la variable numero es 18 El contenido de la variable numeroReal es 3.14 El contenido de la variable letra es P El contenido de la variable estaLloviendo es false
El contenido de la variable numero es 18 El contenido de la variable numeroReal es 3.14 El contenido de la variable letra es P El contenido de la variable estaLloviendo es false