Java ofrece ocho tipos de datos pri­mi­ti­vos, además de muchos otros complejos. Éstos de­te­r­mi­nan qué valores pueden al­ma­ce­nar­se y mostrarse dentro de una variable. Ciertos tipos de datos se asignan a todas las variables en Java.

¿Qué tipos de datos existen en Java?

En todos los lenguajes de pro­gra­ma­ción existen distintos tipos de datos que contienen de­te­r­mi­na­dos objetos y ope­ra­cio­nes definidas. Aunque suelen ser similares, a veces existen grandes di­fe­re­n­cias en las opciones que ofrece un lenguaje. Si co­m­pa­ra­mos Python y Java, por ejemplo, notaremos numerosas di­fe­re­n­cias aparte de las si­mi­li­tu­des, las cuales pre­de­s­ti­nan a cada lenguaje a de­te­r­mi­na­das tareas. Java utiliza dos tipos di­fe­re­n­tes de datos: pri­mi­ti­vos y complejos (también conocidos como “tipos de re­fe­re­n­cia”). Estos tipos de datos in­di­vi­dua­les de Java difieren en cuanto a su tamaño y de­te­r­mi­nan qué valores pueden al­ma­ce­nar­se en una variable.

Mientras que los tipos de datos pri­mi­ti­vos solo pueden almacenar valores simples, los tipos de re­fe­re­n­cia se utilizan para crear es­tru­c­tu­ras más complejas y organizar y manipular grandes ca­n­ti­da­des de datos. Si quieres aprender a programar, es im­po­r­ta­n­te no solo que conozcas los distintos tipos de datos, sino también que sepas cómo uti­li­zar­los. Por un lado, debemos conocer la gama de funciones y, por otro, el espacio de memoria que ocupa o ahorra cada tipo.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7

Tipos de datos pri­mi­ti­vos en Java

Hay un total de ocho tipos de datos pri­mi­ti­vos di­fe­re­n­tes en Java que contienen rangos de valores definidos. Se pueden dividir en cuatro ca­te­go­rías: tipo de datos lógicos, tipo de datos in­te­gra­les, tipo de datos de coma flotante y tipo de datos de ca­ra­c­te­res. No tienen ca­pa­ci­da­des es­pe­cia­les adi­cio­na­les y también se conocen como tipos de datos ele­me­n­ta­les. Cada tipo de datos tiene un número fijo de bits. A co­n­ti­nua­ción, pre­se­n­ta­mos con más detalle estos tipos de datos pri­mi­ti­vos:

  • boolean
  • byte
  • short
  • int oder integer
  • long
  • float
  • double
  • char

Boolean

El Java Boolean no es un tipo numérico. En su lugar, solo ofrece dos valores posibles: true y false. Por lo tanto, puede uti­li­zar­se para de­te­r­mi­nar si una condición se aplica (true) o no (false). Su valor por defecto es false y pertenece a los tipos de datos lógicos. Consta de 1 bit y tiene la siguiente sintaxis:

boolean booleanVar;
java

Byte

Byte es un tipo de datos integral y un valor de co­m­ple­me­n­to a dos con un tamaño de 8 bits o 1 byte. Se utiliza pri­n­ci­pa­l­me­n­te cuando se desea ahorrar memoria en arrays más grandes. Su rango de valores va desde -128 hasta 127 y su valor pre­de­te­r­mi­na­do es 0. Esta es su sintaxis:

byte byteVar;
java

Short

Short también es uno de los tipos de datos in­te­gra­les en Java y se utiliza pri­n­ci­pa­l­me­n­te para ahorrar memoria en arrays más grandes. El valor en co­m­ple­me­n­to a dos en sí mismo es 16 bits o 2 bytes de tamaño y su rango de valores va desde -32768 hasta 32767, inclusive. Por defecto, su valor es 0. Short se utiliza así:

short shortVar
java

int oder integer

Int o integer también es un valor en co­m­ple­me­n­to a dos y un tipo de dato integral con un tamaño de 4 bytes o 32 bits. Su rango de valores abarca números enteros entre -2147483648 y 2147483647, y su valor pre­de­te­r­mi­na­do es 0. Su sintaxis es la siguiente:

int intVar
java

long

El tipo de dato integral más grande es long. Esto se aplica tanto a su rango de valores, que va entre -9223372036854775808 y 9223372036854775807, como a su tamaño, que es de 8 bytes o 64 bits. El valor en co­m­ple­me­n­to a dos se utiliza cuando los otros tipos de datos in­te­gra­les no son su­fi­cie­n­tes. Sin embargo, también requiere la mayor cantidad de memoria. Su valor pre­de­te­r­mi­na­do es 0. Esta es su sintaxis:

lomg longVar
java

float

Float es un tipo de dato de punto flotante utilizado para almacenar números reales. Tiene un tamaño de 32 bits y sigue la norma IEEE 754, que define la re­pre­se­n­ta­ción estándar de números de punto flotante en sistemas in­fo­r­má­ti­cos. El valor pre­de­te­r­mi­na­do de float es 0.0 y puede re­pre­se­n­tar hasta siete dígitos decimales en su rango de valores. Sin embargo, en co­m­pa­ra­ción con double, float no es tan preciso y no debería ser utilizado para valores donde la precisión sea crucial. Si la precisión no es crítica, float puede ayudar a ahorrar espacio. La sintaxis co­rre­s­po­n­die­n­te es la siguiente:

float floatVar;
java

double

Double es apro­xi­ma­da­me­n­te el doble de preciso que float y cumple un propósito similar. Tiene un tamaño de 64 bits y puede re­pre­se­n­tar hasta 16 dígitos decimales. Al igual que float, su valor pre­de­te­r­mi­na­do es 0.0. Si necesitas valores más precisos, es re­co­me­n­da­ble optar por double, aunque este tipo de dato tampoco puede ser co­m­ple­ta­me­n­te exacto en todos los casos. Si requieres valores ab­so­lu­ta­me­n­te precisos, deberías co­n­si­de­rar el uso de la clase Bi­g­De­ci­mal. La sintaxis de double es la siguiente:

double doubleVar;
java

char

Char es un tipo de dato de ca­ra­c­te­res. Almacena ca­ra­c­te­res basados en el conjunto de ca­ra­c­te­res Unicode, lo que permite la po­r­ta­bi­li­dad a numerosas pla­ta­fo­r­mas di­fe­re­n­tes. Cada carácter ocupa 2 bytes de espacio en memoria. Su rango de valores co­rre­s­po­n­de al estándar ASCII (American Standard Code for In­fo­r­ma­tion In­te­r­cha­n­ge) y se sitúa entre “\u0000” (equi­va­le­n­te a 0) y “\uffff” (que es 65535). El valor pre­de­te­r­mi­na­do de char es “\u0000” y su sintaxis la siguiente:

char charVar
java

Tipos de datos Java: ejemplos de tipos de datos complejos

La segunda clase de tipos de datos en Java son los llamados tipos de re­fe­re­n­cia o tipos de datos complejos. Tienen este nombre porque remiten a objetos. A di­fe­re­n­cia de los tipos de datos pri­mi­ti­vos, no­r­ma­l­me­n­te no están pre­de­fi­ni­dos, sino que los determina el pro­gra­ma­dor (una excepción es string). Pueden utilizar métodos y también pueden tener el valor 0 (en el sentido de vacíos). Mientras que los tipos de datos pri­mi­ti­vos empiezan con minúscula, los tipos de re­fe­re­n­cia empiezan con mayúscula. Te pre­se­n­ta­mos los tipos de re­fe­re­n­cia más im­po­r­ta­n­tes.

Strings

String es una clase que puede uti­li­zar­se para re­pre­se­n­tar una secuencia de ca­ra­c­te­res. Esto distingue este tipo de datos complejo del primitivo char, entre otros. El string existe como un objeto de la clase java.lang. Los distintos métodos de la clase string permiten examinar ca­ra­c­te­res in­di­vi­dua­les de la cadena, comparar cadenas entre sí, buscar cadenas y copiarlas. El string se ca­ra­c­te­ri­za por llevar comillas en la parte superior. La sintaxis de este tipo de re­fe­re­n­cia es la siguiente:

<Tipo_String> <Variable_String> = "<SecuenciaString>";
java

Los strings funcionan como en este fragmento de código, por ejemplo:

// Crear un string sin un nuevo operador 
String a = "Este es tu nuevo string"; 
/ / Crear un string con un nuevo operador 
String a1 = nuevo string ("Este es tu nuevo string");
java

Arrays

Los arrays se utilizan para almacenar varios valores dentro de una variable en lugar de crear variables di­fe­re­n­tes para cada valor in­di­vi­dual. Se indican mediante corchetes. Los valores al­ma­ce­na­dos se colocan de nuevo entre llaves y se separan por comas. Esta es la sintaxis de un array:

tipodedatos[] arrayName = {Valor1, Valor2, Valor3,…};
java

Si quieres crear un array con strings, procede como en este ejemplo:

String[] colores = {"azul", "rojo", "amarillo", "lila"};
java

Si deseas crear un array con números enteros, puedes proceder del siguiente modo:

int[] números = {5, 10, 15, 20};
java

Clases

En Java, las clases son tipos de datos que sirven de plantilla en la que luego se crean objetos. Contienen varios co­m­po­ne­n­tes. Entre ellos, el nombre de la clase, su mo­di­fi­ca­dor y un cuerpo, que se encierra entre llaves. Un ejemplo sería el siguiente:

public class Main { 
int a = 10; 
}
java

In­te­r­fa­ces

En Java, una interfaz es una clase abstracta. Actúa como una interfaz a través de la cual una clase puede acceder a diversas funciones. Para ello, sin embargo, primero debes im­ple­me­n­tar­las. Las in­te­r­fa­ces solo contienen co­n­s­ta­n­tes y métodos ab­s­tra­c­tos. Por lo tanto, su sintaxis es la siguiente:

interface { 
Métodos abstractos
}
java

Para explicar cómo funcionan las in­te­r­fa­ces, te mostramos un sencillo ejemplo:

interface Pizza { 
public void listadeingredientes(); 
public void preparación(); 
} 
class Funghi implements Pizza { 
public void listadeingredientes() { 
System.out.println("Champiñones, salsa de tomate, orégano, queso"); 
} 
public void prepración() { 
System.out.println("La pizza estará lista después de hornearla un cuarto de hora"); 
} 
} 
class Main { 
public static void main(String[] args) { 
Funghi myFunghi = new Funghi(); 
myFunghi.listadeingredientes(); 
myFunghi.preparación(); 
} 
}
java

El resultado co­rre­s­po­n­die­n­te del comando Java System.out.println tendrá este aspecto:

Champiñones, salsa de tomate, orégano, queso 
La pizza estará lista después de hornearla un cuarto de hora
java

Objetos

En Java, los objetos también pe­r­te­ne­cen a los tipos de datos que son más complejos. Los objetos son in­s­ta­n­cias de clases que pueden in­ter­ac­tuar entre sí mediante métodos. En el siguiente ejemplo, creamos varios objetos dentro de una clase Main:

public class Main { 
int a = 10; 
public static void main(String[] args) { 
Main myObj1 = new Main(); 
Main myObj2 = new Main(); 
System.out.println(myObj1.a); 
System.out.println(myObj2.a); 
} 
}
java

El resultado co­rre­s­po­n­die­n­te es el siguiente:

10 
10
java

Enums

Los enums son una clase especial que te permite in­co­r­po­rar co­n­s­ta­n­tes in­mu­ta­bles en tu código. A estas variables se les asignan valores fijos que no pueden mo­di­fi­car­se po­s­te­rio­r­me­n­te. Este tipo de datos es pa­r­ti­cu­la­r­me­n­te útil si necesitas variables que solo deben tener unos pocos estados posibles. La sintaxis de un enum es la siguiente:

enum Nombre_de_la_clase { 
VALOR1, 
VALOR2, 
VALOR3 
}
java
Ir al menú principal