Java para principiantes sin frustraciones: Tu primer programa que funciona

Aprende Java desde cero con explicaciones simples y tu primer proyecto funcionando en 15 minutos

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 realmente (sin tecnicismos)
Instalar Java correctamente en tu ordenador
Escribir tu primer programa que funcione
Crear una calculadora simple desde cero
Por qué Java es perfecto para conseguir trabajo

¿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)

  1. Ve a Oracle JDK Downloads
  2. Descarga JDK 24 (versión estable más reciente)
  3. 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":

  1. Windows: Necesitas permisos de administrador. Haz clic derecho en "Símbolo del sistema" → "Ejecutar como administrador"
  2. Ve a Panel de Control → Sistema → Configuración avanzada del sistema
  3. Clic en "Variables de entorno"
  4. En "Variables del sistema", busca "Path" y haz clic en "Editar"
  5. Clic en "Nuevo" y añade: C:\Program Files\Java\jdk-24\bin (o donde instalaste Java)
  6. 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

  1. Descarga VS Code gratis
  2. Instala la extensión "Extension Pack for Java" (lo hace todo automáticamente)
  3. ¡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):

  1. Escribir código en archivo .java
  2. Compilar con javac (crea archivo .class)
  3. 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?

  1. Crea una carpeta en tu Escritorio llamada "MisPrograsJava"
  2. Abre VS Code
  3. Arrastra la carpeta a VS Code (o File → Open Folder)
  4. Clic derecho en el explorador → New File
  5. 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:

  1. Nombre de archivo ≠ nombre de clase - Si tu clase se llama MiPrograma, el archivo DEBE llamarse MiPrograma.java
  2. Compilaste en otra carpeta - Asegúrate de estar en la misma carpeta donde está tu archivo .java
  3. No compilaste - Siempre ejecuta javac NombreArchivo.java ANTES de java NombreClase

❌ Error: "';' expected" o errores de sintaxis

Revisa estos puntos:

  1. Punto y coma (;) - Todas las líneas de código terminan con ;
  2. Llaves { } - Cada { necesita su correspondiente }
  3. Comillas " " - Todo texto va entre comillas dobles
  4. Mayúsculas/minúsculas - Java distingue entre "String" y "string"

❌ El programa no hace nada

Posibles causas:

  1. Falta el método main - Debe ser exactamente public static void main(String[] args)
  2. Código fuera del método main - Todo tu código ejecutable debe estar dentro de las llaves del main
  3. Esperando input - Si usas Scanner, el programa espera que escribas algo

💡 Método de depuración para principiantes:

  1. Lee el error completo - Java te dice la línea exacta del problema
  2. Compara caracter por caracter - Un espacio o coma pueden causar errores
  3. Usa System.out.println("Llegué aquí") - Para saber dónde se detiene tu programa
  4. 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