Tipos de datos en Java

2020-02-25 Java

En Java existen básicamente dos tipos de datos, los primitivos y los objetos.

Primitivos

Son tipos básicos de datos que guardan un solo valor. Entre ellos tenemos los siguientes.

- Números
- Caracteres
- Booleanos

Todos los tipos de datos primitivos están declarados en minúsculas. A continuación tienes una lista de los tipos primitivos en Java, su tamaño y rango.

TipoDescripciónTamañoRango
byte Números diminutos 1 byte -128 to 127
short Números enteros
(rango pequeño)
2 bytes -32,768 a 32,767
int Números enteros 4 bytes -2,147,483,648 a
2,147,483,647
long Números enteros
(rango grande)
8 bytes -9,223,372,036,854,775,808 a
9,223,372,036,854,775,807
float Números de punto flotante 4 bytes ???
double Números de doble precisión 8 bytes ???
boolean Booleanos 1 bit true / false
char Caracteres simples 2 bytes Unicode
\u0000 hasta \uffff

Tal vez habrás notado que los tipos float y double no tienen un tamaño específico. Esto podría ser tema para otro post, sin embargo, te dejo la documentación oficial para que investigues un poco acerca del tamaño de estos tipos de datos.

https://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.2.3

Si ya haz programado en otros lenguajes de programación notarás que no existe un tipo String para cadenas de texto. Esto es parcialmente cierto, si bien en Java el tipo String no es un primitivo si no más bien un objeto, java soporta otra variedad de tipos de datos a través de los Tipos Simples de datos.

Por otro lado, cada uno de los tipos de datos vistos no necesita necesariamente un valor de inicialización. Si un atributo de un objeto es declarado sin valor de inicialización (de lo cual hablaremos más adelante) tomará uno de los siguientes valores por defecto según el tipo.

TipoValor por defecto
byte 0
short 0
int 0
long 0L
float 0.0f
double 0.0d
char \u0000
String
(o cualquier objeto)
null
boolean false

Sin embargo ten en cuenta que no inicializar variables o atributos está considerado como una mala práctica de programación. Siempre se debe inicializar las variables con algún valor para evitar comportamientos inesperados. Las variables locales se comportan diferente y no asignan los valores mostrados en la anterior tabla.

Si eres observador, habrás notado que algunas variables terminan con una letra específica, esto corresponde a que están indicadas con notación alfa. Para profundizar un poco más en el tema te recomandamos nuestro post Declaración de Variables en Java.

Tipos simples de datos

Como se dijo al comienzo de este post, java soporta tipos primitivos y objetos. Ya vimos anteriormente los primitivos (más abajo verás la declaración e inicialización), ahora veremos los tipos simples de datos que hacer parte de los objetos. Con el tiempo te darás cuenta que en Java existen infinidad de objetos incorporados en el lenguaje, por lo cuál veremos solamente los más básicos. No profundizaremos mucho en estos tipos de datos ya que el objetivo del presente post es dar una introducción a los tipos de datos, su declaración e inicialización.

Strings

Los strings en Java son secuencias de caracteres. Java provee la clase String para manejar y manipular secuencias de caracteres.

Números

Java provee la clase Number en el paquete java.lang para manejar y manipular números de manera más amigable No solamente esto, sino que Java además provee varias subclases de este namespace que te ayudarán a realizar operaciones sobre números, aritmética y otras ramas de la matemática de manera mucho más fluida y sencilla.

Declaración e inicialización

Java es un leguaje de tipado estático, lo cuál significa que todas las variables deben ser declaradas para poder ser utilizadas. Una variable se declara colocando en una sentencia como primera instancia el tipo de variable, seguido del nombre de la variable, el operador de asignación igual ( = ) y finalmente el valor. Si solamente se indica el tipo sin asignar algún valor, entonces se dice que se declaró la variable más no se inicializó. Veamos a continuación como declarar distintos tipos de variables.

byte min;
int entero;
char letra;

Ahora bien, veamos cómo asignar valores a estas variables inicializadas.

min = 8;
entero = 3435;
letra = 'S';

Esto mismo lo hubiéramos podido hacer en una sola sentencia.

byte min = 8;
int entero = 3435;
char letra = 'S';

Veamos el siguiente ejemplo en donde se representa el número 26 como entero en distintos sistemas de numeración.

// número 26, en decimal
int decVal = 26;
//  número 26, en hexadecimal
int hexVal = 0x1a;
// número 26, en binario
int binVal = 0b11010;

Veamos ahora como representar el valor 123.4 en distintas notaciones de punto flotante.

// número 123.4, doble precisión
double d1 = 123.4;
// número 123.4, notación científica
double d2 = 1.234e2;
// número 123.4, punto flotante
float f1  = 123.4f;

Acerca de Darío Rivera

Author

Ingeniero de desarrollo en PlacetoPay , Medellín. Darío ha trabajado por más de 6 años en lenguajes de programación web especialmente en PHP. Creador del microframework DronePHP basado en Zend y Laravel.

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.