Saltar al contenido
introduccion.java · devschool

¿Qué es Java?

Lección 1 de 26 · 9 min de lectura · Actualizado el

En esta lección
  1. Para qué se usa Java
  2. Cómo funciona: compilador, bytecode y JVM
  3. Instalar Java 21
  4. Dónde escribir el código: IDEs
  5. Tu primer programa
  6. Compilar y ejecutar desde la terminal
  7. Comentarios
  8. Errores de compilación típicos
  9. Convenciones de nombres
  10. Resumen

Java es un lenguaje de programación creado en 1995 por Sun Microsystems (hoy pertenece a Oracle) y sigue siendo uno de los más usados del mundo. En esta lección vas a entender cómo funciona por dentro, qué necesitas instalar y cómo escribir, compilar y ejecutar tu primer programa. Al terminar sabrás leer cada palabra del famoso “Hola, mundo” y corregir los errores más típicos del principio.

Para qué se usa Java

Java está en muchos más sitios de los que parece:

  • Aplicaciones de empresa: bancos, aseguradoras, administraciones públicas y tiendas online grandes.
  • Backend: la parte de una web que se ejecuta en el servidor, casi siempre con el framework Spring.
  • Android: muchas apps están escritas en Java o en Kotlin, que funciona sobre la misma plataforma.
  • Big data y herramientas: programas como Apache Kafka, Elasticsearch o el propio Minecraft (edición Java).

Por eso aparece en casi todos los ciclos de Desarrollo de Aplicaciones Web y Multiplataforma: aprender Java es aprender programación orientada a objetos, una forma de organizar el código que después reconocerás en C#, Kotlin, PHP o TypeScript.

Cuidado: Java y JavaScript no tienen nada que ver, aparte del nombre. El parecido del nombre fue una decisión de marketing de los años 90.

Cómo funciona: compilador, bytecode y JVM

Un ordenador solo entiende código máquina, y cada procesador y sistema operativo tiene el suyo. Muchos lenguajes compilan directamente a ese código máquina, así que tienes que generar un ejecutable distinto para Windows, para Mac y para Linux.

Java eligió otro camino, en dos pasos:

  1. Escribes el código en un archivo .java.
  2. El compilador (javac) lo traduce a un archivo .class que contiene bytecode: un código intermedio que no es de ningún procesador concreto.
  3. La máquina virtual de Java (JVM, Java Virtual Machine) lee ese bytecode y lo ejecuta en el ordenador donde esté instalada.
Hola.java  --javac-->  Hola.class (bytecode)  --JVM-->  programa en marcha

Como hay una JVM para cada sistema, el mismo .class funciona en Windows, Mac y Linux sin recompilar. Es el lema histórico de Java: write once, run anywhere, “escríbelo una vez, ejecútalo en cualquier sitio”.

Además, la JVM no se limita a interpretar: detecta las partes del programa que más se repiten y las convierte en código máquina mientras se ejecuta (compilación JIT, just in time). Por eso Java es bastante rápido.

JDK, JRE y JVM

Son tres siglas que verás constantemente. Encajan como muñecas rusas:

SiglaNombreQué contieneQuién lo necesita
JVMJava Virtual MachineLa máquina que ejecuta el bytecodeEstá dentro de las otras dos
JREJava Runtime EnvironmentJVM + bibliotecas estándarQuien solo quiere ejecutar programas
JDKJava Development KitJRE + compilador javac y herramientasQuien programa en Java: tú

Desde Java 11 ya no se distribuye un JRE por separado: se instala el JDK completo y listo.

Instalar Java 21

Java publica una versión nueva cada seis meses, pero las empresas usan las versiones LTS (Long Term Support), que reciben actualizaciones durante años. En este curso usamos Java 21, la LTS más extendida.

El JDK de Oracle tiene licencia propia; lo más cómodo es instalar un JDK libre basado en OpenJDK. Te recomendamos Eclipse Temurin, de la web adoptium.net:

  1. Entra en adoptium.net y descarga Temurin 21 (LTS) para tu sistema.
  2. Instálalo. En Windows, marca la opción que configura la variable JAVA_HOME y añade Java al PATH.
  3. Abre una terminal nueva y comprueba la instalación:
java -version
javac -version

Si ves algo como openjdk version "21.0.x" y javac 21.0.x, todo está listo. Si la terminal dice que no reconoce el comando, Java no está en el PATH: reinstala marcando esa opción o reinicia la terminal.

Consejo: en Linux puedes instalarlo con el gestor de paquetes (sudo apt install openjdk-21-jdk en Ubuntu) y en Mac con Homebrew (brew install --cask temurin@21).

Dónde escribir el código: IDEs

Puedes programar con cualquier editor de texto, pero un IDE (entorno de desarrollo integrado) te marca los errores mientras escribes, autocompleta y ejecuta con un clic.

IDEVentajas
IntelliJ IDEAEl más usado en empresa. La edición Community es gratuita y la Ultimate es gratis para estudiantes.
VS CodeLigero. Instala el Extension Pack for Java de Microsoft. Ideal si ya lo usas para web.
EclipseClásico y gratuito; muy presente en empresas grandes y en muchos institutos.
NetBeansGratuito y sencillo; incluye un editor visual de ventanas.

Para empezar, cualquiera vale. Aun así, aprende también a compilar desde la terminal: entenderás lo que el IDE hace por ti y sabrás arreglarlo cuando algo falle.

Tu primer programa

Crea un archivo llamado exactamente HolaMundo.java:

public class HolaMundo {
    public static void main(String[] args) {
        System.out.println("¡Hola, mundo!");
    }
}

Parece mucho para mostrar una frase. Vamos línea a línea:

  • public class HolaMundo {: en Java todo el código vive dentro de una clase. Una clase public debe llamarse igual que su archivo, respetando mayúsculas: HolaMundo va en HolaMundo.java.
  • public static void main(String[] args) {: el método main es el punto de entrada, lo primero que ejecuta la JVM. Cópialo tal cual; en la lección de métodos verás qué significa cada palabra.
  • System.out.println("¡Hola, mundo!");: muestra un texto en la consola y salta de línea. System es una clase de Java, out es la salida estándar y println significa print line.
  • } y }: cierran el método y la clase. Cada { necesita su }.

Dos reglas más: cada instrucción termina en punto y coma y Java distingue mayúsculas de minúsculas (system.out.println no funciona).

System.out.print hace lo mismo que println pero sin saltar de línea:

public class Saludo {
    public static void main(String[] args) {
        System.out.print("Hola, ");
        System.out.print("Lucía");
        System.out.println();
        System.out.println("Bienvenida a DevSchool");
    }
}
Hola, Lucía
Bienvenida a DevSchool

Compilar y ejecutar desde la terminal

Abre la terminal en la carpeta donde está el archivo y escribe:

javac HolaMundo.java   # compila: crea HolaMundo.class
java HolaMundo         # ejecuta la clase (sin poner .class)
¡Hola, mundo!

Fíjate en que a javac le das el archivo (HolaMundo.java) y a java le das el nombre de la clase (HolaMundo).

Ejecutar un archivo directamente

Desde Java 11 puedes saltarte el paso de compilar cuando el programa cabe en un único archivo:

java HolaMundo.java

Java compila en memoria y ejecuta, sin crear el .class. Es muy útil para pruebas y ejercicios cortos. En proyectos con muchos archivos se sigue compilando (normalmente lo hace el IDE o una herramienta como Maven o Gradle).

Comentarios

Los comentarios son texto que el compilador ignora. Sirven para explicar el porqué del código, no para repetir lo que ya se lee.

public class Comentarios {
    public static void main(String[] args) {
        // Comentario de una línea

        /*
           Comentario de
           varias líneas
        */

        int iva = 21; // también puede ir al final de una línea
        System.out.println(iva); // 21
    }
}

Hay un tercer tipo, el comentario Javadoc, que empieza por /**. Se escribe encima de clases y métodos y con él se genera documentación automática en HTML:

/**
 * Programa de bienvenida del curso.
 * @author Lucía
 */
public class Bienvenida {
    public static void main(String[] args) {
        System.out.println("Hola");
    }
}

Lo usarás más en la lección de métodos.

Errores de compilación típicos

Al compilar, javac revisa todo el archivo y, si algo no cuadra, no genera el .class y te dice el archivo, la línea y el problema. Aprende a leerlos: el mensaje suele decir exactamente qué pasa.

MensajeCausa habitual
';' expectedFalta un punto y coma al final de la línea indicada (o la anterior).
cannot find symbolNombre mal escrito (Sytem, printline) o variable no declarada.
class HolaMundo is public, should be declared in a file named HolaMundo.javaEl archivo y la clase no se llaman igual.
reached end of file while parsingFalta una llave } de cierre.
unclosed string literalTe has dejado unas comillas sin cerrar.

Por ejemplo, este código tiene un error:

public class Error {
    public static void main(String[] args) {
        System.out.println("Hola")
    }
}

Y javac responde:

Error.java:3: error: ';' expected
        System.out.println("Hola")
                                  ^
1 error

Consejo: corrige siempre el primer error de la lista y vuelve a compilar. Un solo fallo (como una llave olvidada) puede provocar muchos mensajes en cascada.

Convenciones de nombres

Java no te obliga, pero todo el mundo sigue estas normas y tu código debe parecerse al de los demás:

QuéEstiloEjemplos
ClasesPascalCase (mayúscula inicial)HolaMundo, CuentaBancaria
Métodos y variablescamelCase (minúscula inicial)calcularTotal, precioFinal
ConstantesMAYÚSCULAS con _IVA, MAX_ALUMNOS
Paquetesminúsculascom.devschool.tienda

Usa nombres que digan qué guardan o qué hacen: totalCarrito mejor que t. En este curso evitamos la ñ y las tildes en los identificadores (anio, tamanio): Java las admite, pero dan problemas con algunas herramientas y teclados.

Resumen

  • Java compila el código a bytecode (.class), que ejecuta la JVM en cualquier sistema.
  • JDK = herramientas de desarrollo + JRE; JRE = JVM + bibliotecas. Tú necesitas el JDK: instala Temurin 21.
  • Todo programa tiene una clase y un método main, que es donde empieza la ejecución.
  • javac Archivo.java compila; java Clase ejecuta; java Archivo.java hace las dos cosas para programas de un archivo.
  • Comentarios: //, /* */ y /** */ (Javadoc).
  • Lee los errores de compilación empezando por el primero.

En la siguiente lección verás cómo guardar datos en variables y tipos.

Pon a prueba lo que has aprendido

[Java] ¿Qué muestra este programa en la consola?
System.out.print("A");
System.out.println("B");
System.out.print("C");

[Java] Has compilado Hola.java en Windows y tienes Hola.class. ¿Qué necesitas para ejecutarlo en un ordenador con Linux?

¿Te ha quedado claro? Márcala y verás tu progreso en el explorador.