Páginas

Tipos de Datos en Java: Primitivos y Referenciados

En Java existen dos grandes categorías de tipos de datos: primitivos y referenciados. Comprender la diferencia entre ambos es esencial para programar correctamente.

1. Tipos de Datos Primitivos

Son los más básicos en Java, guardan el valor directamente en memoria.

Tipo Tamaño Ejemplo Uso
byte 8 bits byte b = 100; Números pequeños (–128 a 127).
short 16 bits short s = 2000; Números enteros un poco más grandes.
int 32 bits int i = 100000; Enteros comunes (el más usado).
long 64 bits long l = 10000000000L; Enteros grandes (nota la L al final).
float 32 bits float f = 3.14f; Decimales de precisión simple (nota la f).
double 64 bits double d = 3.141592; Decimales de precisión doble.
char 16 bits char c = 'A'; Un carácter Unicode (‘a’, ‘1’, ‘?’).
boolean 1 bit boolean v = true; Verdadero o falso (true/false).

Ejemplo con todos los primitivos:

public class Primitivos {
    public static void main(String[] args) {
        byte b = 120;
        short s = 32000;
        int i = 123456;
        long l = 12345678910L;
        float f = 3.14f;
        double d = 3.14159265359;
        char c = 'J';
        boolean vivo = true;

        System.out.println("byte: " + b);
        System.out.println("short: " + s);
        System.out.println("int: " + i);
        System.out.println("long: " + l);
        System.out.println("float: " + f);
        System.out.println("double: " + d);
        System.out.println("char: " + c);
        System.out.println("boolean: " + vivo);
    }
}

2. Tipos de Datos Referenciados

Son objetos que apuntan a una dirección en memoria. No guardan el valor directo, sino una referencia al objeto.

  • String → para texto:
    String nombre = "Shayla";
  • Arreglos (Arrays) → para almacenar varios valores juntos:
    int[] numeros = {1, 2, 3};
  • Clases y objetos propios → definidos por el programador:
    Persona p = new Persona();
  • Clases envoltorio (Wrappers) → versiones objeto de los primitivos:
    Integer (para int), Double (para double), Boolean (para boolean), Character (para char).

Diferencia entre Primitivos y Referenciados

int x = 5;         // primitivo → guarda el 5 directamente
Integer y = 5;     // referenciado → objeto Integer que apunta al valor 5

En resumen, los primitivos son más rápidos y ocupan menos memoria, mientras que los referenciados permiten aprovechar métodos y comportamientos propios de los objetos.