Inicio > Cursos > Java > Tipos de Datos y Variables
JavaIntroducción a JavaLección 2 de 15

Tipos de Datos y Variables

Java divide los tipos en dos categorías fundamentales. Los tipos primitivos son los más básicos: int (entero de 32 bits, hasta 2 mil millones), long (64 bits para números más grandes), double (decimal de 64 bits), boolean (verdadero o falso), char (un carácter Unicode). Los tipos objeto (como String, Integer, ArrayList) son clases que encapsulan datos y comportamiento.

La diferencia práctica: los primitivos se guardan directamente en la pila de memoria, los objetos se guardan en el heap con una referencia.

El casting (conversión de tipos) es necesario cuando quieres convertir un tipo a otro. Java hace conversiones implícitas cuando no hay pérdida de información (int a double es seguro). Para conversiones con posible pérdida debes hacer cast explícito: (int) 9.99 da 9, truncando los decimales.

Para convertir entre texto y números: • Integer.parseInt("42") → convierte el texto "42" en el int 42 • Double.parseDouble("3.5") → convierte "3.5" en el double 3.5 • String.valueOf(42) → convierte el número 42 en el texto "42" Error típico: Integer.parseInt("abc") lanza NumberFormatException, porque "abc" no es un número.

La palabra var (Java 10+) permite que el compilador deduzca el tipo: var edad = 25; crea un int.

// Tipos primitivos
byte  b = 127;          // 8-bit: -128 a 127
short s = 32767;        // 16-bit
int   i = 2147483647;   // 32-bit (más común)
long  l = 9876543210L;  // 64-bit (sufijo L)
float  f = 3.14f;       // 32-bit decimal (sufijo f)
double d = 3.14159265;  // 64-bit decimal (más preciso)
boolean v = true;
char   c = 'A';         // Carácter Unicode

// Strings (son objetos, no primitivos)
String saludo = "Hola";
String nombre = new String("Ana"); // Igual pero más costoso

// Operaciones con Strings
System.out.println(saludo.length());       // 4
System.out.println(saludo.toUpperCase());  // HOLA
System.out.println(saludo + " " + nombre); // Concatenación
System.out.println(saludo.contains("ol")); // true

// Casting (conversión de tipos)
double precio = 9.99;
int precioEntero = (int) precio; // 9 (trunca)
String num = String.valueOf(42); // "42"
int parsed = Integer.parseInt("100"); // 100

// var (Java 10+) - inferencia de tipo local
var lista = new ArrayList<String>();
var contador = 0;
Consejo⚠️ int vs long: usa int para la mayoría de números enteros (hasta ~2 mil millones). Para números más grandes usa long con el sufijo L.
← ¿Qué es Java?Control de Flujo →

Practica esta lección

Resuelve los ejercicios del curso de Java en la app, gratis y con corrección automática.

Empezar a practicar