Cursos Online Gratis

Tipos de datos primitivos en Java

En JAVA se pueden distinguir 8 tipos de datos primitivos, que detallaremos a continuación, y son:


Números enteros en Java

La única diferencia entre los números enteros en Java es la cantidad de almacenamiento que poseen (en bits) y, por lo tanto, el rango de valores que podremos representar con cada uno de ellos. Y estos son:

Tipo de dato Espacio en memoria Valor mínimo Valor máximo
byte 8 bits -128 127
short 16 bits -32768 32767
int 32 bits -2147483648 2147483647
long 64 bits -9223372036854775808 9223372036854775807

Hay que tener en cuenta un par de conceptos para realizar operaciones con números enteros: el desbordamiento y la división por cero. El desbordamiento es el momento en que sobrepasamos el valor máximo que puede representar un entero (excepto los de tipo long, que no se pueden sobrepasar). Cuando esto ocurre, el compilador no nos va a avisar, simplemente se limitará a mostrarnos un resultado incorrecto, que sería en función del dato:

Tipo Operación Resultado
byte 127 + 1 -128
short 32767 + 1 -32768
int 2147483647 + 1 -2147483648

Para que esto no ocurra, hay que tener presente la tabla anterior, del rango de valores, y calcular que nuestro resultado esté comprendido entre los valores del tipo de dato, en caso de duda, usar un dato con una capacidad de almacenamiento mayor.

La división por cero no existe, esto quiere decir que no podremos dividir en ningún momento un número por cero, porque el programa terminará de forma brusca dándonos el siguiente error en tiempo de ejecución:

Exception in thread "main"
java.lang.ArithmeticException: / by zero
at...


Números en coma flotante en Java

Utilizaremos estos tipos de datos para representar decimales, tienen un rango de valores muy amplio, por lo que podremos representar tanto números muy pequeños como números muy grandes. y son:

Tipo de dato Espacio en memoria Mínimo (valor absoluto) Máximo (valor absoluto) Dígitos significativos
float 32 bits 1.4 x 10-45 3.4 x 1038 6
double 64 bits 4.9 x 10-324 1.8 x 10308 15

Una "ventaja" de este tipo de datos numéricos es que las operaciones con ellos no dan error como con los enteros. Si realizamos una operación con desbordamiento el resultado será:

+Infinity / -Infinity

Cuando realizamos una división por cero o cualquier otro tipo de operación cuyo resultado sea indeterminado, obtendremos como resultado:

NaN (Not A Number)


Caracteres y cadenas de caracteres en Java

Los datos de tipo char se utilizan para almacenar caracteres. En realidad lo que estamos almacenando son números ya que emplea la codificación unicode, en la que a cada caracter se le asigna un número concreto, y ese número es lo que almacenamos para luego mostrar el caracter.

Tipo de dato Espacio en memoria Codificación
char 16 bits UNICODE

Los caracteres se almacenan poniendo el valor entre comillas simples, por ejemplo: 'a' '1' '*'... Pero existen una serie de secuencias de escape para representar ciertos caracteres especiales, que son:

Secuencia Descripción
\t Tabulador
\n Salto de línea (Intro)
\r Retorno de carro
\b Retroceso
\' Comillas simples
\" Comillas dobles
\\ Barra invertida
\? Signo de interrogación

Las cadenas de caracteres no son tipos de datos primitivos, sino una clase predefinida (string). Como su propio nombre indica, una cadena de caracteres es una secuencia de letras, y son inmutables, una vez que tengamos la cadena no podremos cambiar los caracteres individuales que la componen. Lo veremos más detalladamente en temas posteriores. Las cadenas de caracteres las vamos a almacenar introduciendo el texto entre comillas dobles. Para almacenar ciertos caracteres vamos a necesitar las secuencias de escape vistas anteriormente. Por ejemplo, almacenaremos: Esta "cadena" de 'caracteres'

"Esta \"cadena\" de \'caracteres\'"

Datos booleanos en Java

Los tipos de datos booleanos nos van a permitir evaluar expresiones con valores de verdadero o falso. Trabajan a nivel de bits, por lo que darán como respuesta 1 en caso de que sea verdadero (true) o 0 en caso de que sea falso (false):

Tipo de dato Espacio en memoria Valores
boolean 1 bit true o false

Dentro de los operadores utilizados para realizar expresiones con este tipo de datos, tenemos relacionales (son válidos para números y caracteres) y lógicos (son booleanos y sirven para evaluar expresiones lógicas mediante el uso de tablas de verdad)

Operadores relacionales
Operador Significado
== Igual
!= Distinto
< Menor que
> Mayor que
<= Menor o igual que
> Mayor o igual que

Operadores lógicos
Operador Nombre Significado
! NOT Negación lógica
&& AND 'y' lógico
|| OR 'o' inclusivo
^ XOR 'o' exclusivo

Tablas de verdad
A B !A A&&B A||B A^B
false false true false false false
false true true false true true
true false false false true true
true true false true true false

Volver al índiceIr arriba