Si estás aquí es porque has escuchado que Java es "difícil", "verboso" o "solo para expertos". Mentira. Java es uno de los lenguajes más estructurados y lógicos para aprender programación. En 15 minutos vas a tener tu primer programa funcionando.
¿Qué vamos a aprender?
Al terminar este tutorial sabrás:
¿Qué es Java exactamente?
Java es un lenguaje de programación que te permite crear aplicaciones que funcionan en cualquier ordenador. ¿La magia? La JVM (Java Virtual Machine) - piénsala como un traductor universal.
💡 Analogía simple:
Imagina que escribes una carta en español. La JVM es como un traductor que puede leerla en inglés, francés, alemán... Tu código Java funciona igual en Windows, Mac o Linux.
¿Por qué elegir Java?
Lleva más de 25 años siendo estable y funciona en Windows, Mac y Linux sin cambiar una línea de código. Los bancos, las aseguradoras y las grandes empresas de telecomunicaciones lo usan masivamente — lo que significa que hay trabajo, y bastante.
Instalación: hazlo bien desde el principio
Vamos a instalar todo lo necesario sin complicaciones:
Paso 1: Descargar Java Development Kit (JDK)
- Ve a Oracle JDK Downloads
- Descarga JDK 24 (versión estable más reciente)
- Instala con todas las opciones por defecto
Paso 2: Verificar la instalación
Abre tu terminal (CMD en Windows, Terminal en Mac/Linux) y escribe:
// Verificar que Java está instalado
java -version
// Verificar que puedes compilar
javac -version
❌ ¿No funciona? Sigue estos pasos:
Si ves "java no se reconoce como comando":
- Windows: Necesitas permisos de administrador. Haz clic derecho en "Símbolo del sistema" → "Ejecutar como administrador"
- Ve a Panel de Control → Sistema → Configuración avanzada del sistema
- Clic en "Variables de entorno"
- En "Variables del sistema", busca "Path" y haz clic en "Editar"
- Clic en "Nuevo" y añade:
C:\Program Files\Java\jdk-24\bin(o donde instalaste Java) - Acepta todo y reinicia tu terminal
💡 Alternativa fácil: Usa VS Code con la extensión Java - no necesita configurar PATH.
Paso 3: Instalar un IDE (Editor de código)
Necesitas un lugar donde escribir tu código Java. Aquí tienes las mejores opciones para principiantes:
🏆 Recomendado para principiantes: Visual Studio Code
- Descarga VS Code gratis
- Instala la extensión "Extension Pack for Java" (lo hace todo automáticamente)
- ¡Listo! Ya puedes escribir, compilar y ejecutar Java desde el editor
Ventajas: Gratis, fácil de usar, autocompleta tu código, detecta errores mientras escribes.
💡 Alternativas si quieres algo más avanzado:
- IntelliJ IDEA Community - Más potente pero más complejo
- Eclipse IDE - Clásico pero interface antigua
- Notepad++ - Solo si eres masoquista 😅
Tu primer programa Java
Vamos a crear el clásico "Hola Mundo" pero explicando cada palabra:
🔄 El workflow de Java (siempre igual):
- Escribir código en archivo .java
- Compilar con
javac(crea archivo .class) - Ejecutar con
java(corre el programa)
Este proceso es SIEMPRE igual para cualquier programa Java.
Paso 1: Crear el archivo
📁 ¿Dónde crear el archivo?
- Crea una carpeta en tu Escritorio llamada "MisPrograsJava"
- Abre VS Code
- Arrastra la carpeta a VS Code (o File → Open Folder)
- Clic derecho en el explorador → New File
- Nombra el archivo:
MiPrimerPrograma.java
Ahora escribe exactamente esto en tu archivo (respeta mayúsculas y minúsculas):
public class MiPrimerPrograma {
public static void main(String[] args) {
System.out.println("¡Hola Mundo desde Java!");
}
}
Explicación línea por línea
🧩 Desglosando el código:
- public class MiPrimerPrograma - Define una clase pública (como una caja que contiene código)
- public static void main - El punto de entrada, donde empieza tu programa
- String[] args - Parámetros que puede recibir tu programa
- System.out.println - Comando para imprimir texto en pantalla
Paso 2: Compilar y ejecutar
En tu terminal, navega hasta donde guardaste el archivo y ejecuta:
// Compilar (crea un archivo .class)
javac MiPrimerPrograma.java
// Ejecutar
java MiPrimerPrograma
¡Deberías ver "¡Hola Mundo desde Java!" en pantalla! 🎉
Ejemplo intermedio: lee lo que escribe el usuario
Antes de la calculadora compleja, vamos con algo más simple. Crea un nuevo archivo llamado Saludo.java:
import java.util.Scanner;
public class Saludo {
public static void main(String[] args) {
// Crear objeto para leer lo que escribe el usuario
Scanner entrada = new Scanner(System.in);
// Preguntar el nombre
System.out.print("¿Cómo te llamas? ");
String nombre = entrada.nextLine();
// Saludar personalmente
System.out.println("¡Hola " + nombre + "! Bienvenido a Java.");
entrada.close();
}
}
💡 Compilar y ejecutar (mismo proceso siempre):
// Compilar
javac Saludo.java
// Ejecutar
java Saludo
El programa te preguntará tu nombre, escribes tu respuesta y presionas Enter. ¡Interacción real!
Conceptos necesarios para el proyecto
Antes de hacer la calculadora, necesitas entender estos conceptos básicos:
¿Qué es Scanner?
Scanner es como un "lector" que permite que tu programa reciba información del usuario. Es decir, que el usuario pueda escribir algo y tu programa lo entienda.
// Importar Scanner al inicio del archivo
import java.util.Scanner;
// Crear un Scanner dentro del método main
Scanner entrada = new Scanner(System.in);
// Leer diferentes tipos de datos
String texto = entrada.nextLine(); // Lee texto completo
int numero = entrada.nextInt(); // Lee número entero
double decimal = entrada.nextDouble(); // Lee número con decimales
Tipos de datos básicos en Java
Java maneja diferentes tipos de información, cada uno con su propósito:
// Números enteros (sin decimales)
int edad = 25;
// Números con decimales - PERFECTO para cálculos
double precio = 19.99;
double resultado = 10.5 + 5.2; // resultado = 15.7
// Texto (siempre entre comillas)
String nombre = "Ana";
💪 ¿Por qué double para la calculadora?
Usamos double porque permite cálculos con decimales. Si usáramos int, 10/3 daría 3 en lugar de 3.33...
¿Qué es boolean?
boolean es un tipo de dato que solo puede ser true (verdadero) o false (falso). Se usa para tomar decisiones en el programa.
boolean esValido = true;
boolean tieneError = false;
// Usar en condiciones
if (esValido) {
System.out.println("Todo bien");
}
¿Qué es switch?
switch es como un "menú de opciones". En lugar de escribir muchos if, usas switch para elegir entre varias posibilidades.
String opcion = "A";
switch (opcion) {
case "A":
System.out.println("Elegiste A");
break;
case "B":
System.out.println("Elegiste B");
break;
default:
System.out.println("Opcion no valida");
}
⚠️ Importante sobre switch:
Nunca olvides poner break; al final de cada case. Sin break, el programa ejecutará todos los casos siguientes.
Proyecto práctico: calculadora por consola
Vamos a crear algo útil - una calculadora que pida números al usuario:
import java.util.Scanner;
public class Calculadora {
public static void main(String[] args) {
// Crear objeto para leer input del usuario
Scanner scanner = new Scanner(System.in);
System.out.println("=== CALCULADORA JAVA ===");
// Pedir primer número
System.out.print("Introduce el primer número: ");
double num1 = scanner.nextDouble();
// Pedir operación
System.out.print("Introduce la operación (+, -, *, /): ");
String operacion = scanner.next();
// Pedir segundo número
System.out.print("Introduce el segundo número: ");
double num2 = scanner.nextDouble();
double resultado = 0;
boolean operacionValida = true;
// Calcular según la operación
switch (operacion) {
case "+":
resultado = num1 + num2;
break;
case "-":
resultado = num1 - num2;
break;
case "*":
resultado = num1 * num2;
break;
case "/":
if (num2 != 0) {
resultado = num1 / num2;
} else {
System.out.println("Error: No se puede dividir entre cero");
operacionValida = false;
}
break;
default:
System.out.println("Operacion no valida");
operacionValida = false;
}
// Mostrar resultado
if (operacionValida) {
System.out.println("Resultado: " + num1 + " " + operacion + " " + num2 + " = " + resultado);
}
scanner.close();
}
}
Conceptos nuevos en la calculadora
🧩 Elementos clave:
- Scanner - Clase para leer input del usuario
- switch - Como if/else pero más limpio para múltiples opciones
- Validación - Prevenir división por cero
- boolean - Variable para controlar flujo del programa
Errores comunes y cómo solucionarlos
❌ Error: "Could not find or load main class"
Causas y soluciones:
- Nombre de archivo ≠ nombre de clase - Si tu clase se llama
MiPrograma, el archivo DEBE llamarseMiPrograma.java - Compilaste en otra carpeta - Asegúrate de estar en la misma carpeta donde está tu archivo .java
- No compilaste - Siempre ejecuta
javac NombreArchivo.javaANTES dejava NombreClase
❌ Error: "';' expected" o errores de sintaxis
Revisa estos puntos:
- Punto y coma (;) - Todas las líneas de código terminan con ;
- Llaves { } - Cada { necesita su correspondiente }
- Comillas " " - Todo texto va entre comillas dobles
- Mayúsculas/minúsculas - Java distingue entre "String" y "string"
❌ El programa no hace nada
Posibles causas:
- Falta el método main - Debe ser exactamente
public static void main(String[] args) - Código fuera del método main - Todo tu código ejecutable debe estar dentro de las llaves del main
- Esperando input - Si usas Scanner, el programa espera que escribas algo
💡 Método de depuración para principiantes:
- Lee el error completo - Java te dice la línea exacta del problema
- Compara caracter por caracter - Un espacio o coma pueden causar errores
- Usa System.out.println("Llegué aquí") - Para saber dónde se detiene tu programa
- Reinicia desde cero - A veces es más rápido reescribir el código
Java vs otros lenguajes
🔍 Comparativa rápida:
- vs JavaScript - Java es tipado, más estructurado, perfecto para backend
- vs Python - Java es más rápido, mejor para apps grandes
- vs PHP - Java es más robusto, mayor escalabilidad
Oportunidades laborales
Java domina el mercado enterprise: bancos, seguros, telecomunicaciones. Spring Boot, el framework que se construye sobre Java, es uno de los más demandados en ofertas de backend en España. Si quieres ver adónde lleva esto, el siguiente paso natural es aprender a hacer APIs con él.
¿Qué sigue después?
Con la calculadora funcionando ya tienes lo básico: tipos de datos, Scanner, switch y control de flujo. El siguiente paso es aprender a trabajar con colecciones — listas y mapas — que es lo que usarás en cualquier proyecto real para almacenar datos en memoria.
¿Qué aprender ahora?
Arrays, ArrayList y HashMap: cómo guardar y recorrer datos en Java sin complicarte
👉 Java Colecciones: ArrayList y HashMap explicados desde cero