Para escribir programas no utilizamos un bloc de notas común, sino un IDE (Entorno de Desarrollo Integrado). Un IDE es como un “procesador de textos para programadores”: un programa que nos ayuda a escribir el código, detecta errores mientras escribimos y nos permite ejecutar nuestras aplicaciones con un solo clic.
Durante este curso utilizaremos IntelliJ IDEA, que es una de las herramientas más utilizadas y profesionales del sector.
Aunque la versión profesional (IntelliJ IDEA Ultimate) es de pago, podemos conseguirla gratis por ser estudiantes:
Regístrate en GitHub Education Pack utilizando tu correo electrónico académico.
Una vez aprobada tu cuenta de estudiante, ve a la web de JetBrains y descarga IntelliJ IDEA.
Al abrirlo por primera vez, inicia sesión con tu cuenta de JetBrains vinculada a GitHub para activar la licencia Ultimate.
Una vez instalado el IDE, necesitamos organizar nuestro trabajo. En IntelliJ la estructura se divide en Proyectos (el contenedor principal), Paquetes (carpetas para organizar el código) y Archivos (donde escribimos los programas).
A lo largo del curso veremos tres formas distintas de crear proyectos a medida que avance nuestro aprendizaje:
Al principio utilizaremos el formato básico y nativo de IntelliJ. Es la opción más sencilla para empezar sin complicaciones.
En etapas más avanzadas del curso utilizaremos Spring Initializr para crear proyectos de Spring Boot.
Independientemente del tipo de proyecto que utilices, el código siempre se organiza de la misma manera dentro de la carpeta fuente (habitualmente llamada src o src/main/java):
Crear un Paquete (Package): Los paquetes son carpetas que sirven para agrupar archivos relacionados y evitar que todo el código esté mezclado.
Crear un Archivo:
Java es un lenguaje de programación de alto nivel de propósito general derivado de C. Fue creado por Sun Microsystems Inc. y algunas de sus características son:
Primero compila el código fuente para crear un fichero que almacena lo que se denomina bytecode (una especie de pseudocódigo al nivel de código máquina). Para ejecutar este bytecode necesitamos un “intérprete”, la Java Virtual Machine (JVM). De esta forma, cualquier equipo que tenga esta JVM puede ejecutar los bytecodes generados, con lo que se pueden portar entre ordenadores con distintas arquitecturas.
Para instalar esa máquina virtual (JVM) y poder ejecutar aplicaciones en Java, podemos optar por dos soluciones:
Por lo tanto, para desarrollar aplicaciones Java necesitamos tener instalado en nuestra máquina JDK.
Existen varias implementaciones de JDK, cada una con características y enfoques distintos, entre las cuales destacan:
JDK: Desarrollado y mantenido por Oracle. Es de uso gratuito solo para desarrollo y pruebas, pero requiere una licencia de pago para entornos de producción en versiones posteriores a Java 8. Incluye herramientas como javac, java, y jlink. Oracle lanza versiones LTS (Long-Term Support) con actualizaciones de seguridad y soporte extendido.
OpenJDK: Implementación de código abierto del JDK, liderada por Oracle pero con contribuciones de otras empresas y la comunidad. Totalmente gratuito y con actualizaciones regulares. Es la base de otras distribuciones del JDK.
Temurin JDK (Adoptium): Administrado por la Fundación Eclipse a través del proyecto Adoptium. Es una de las implementaciones más populares de OpenJDK. Proporciona builds gratuitos, probados y certificados. Una de las ventajas de Temurin JDK es que cuentan con contenedores Docker oficiales, lo que facilita su implementación en entornos de desarrollo y producción.
Amazon Corretto: Distribución de OpenJDK mantenida por Amazon. Diseñada para entornos de producción con mejoras de rendimiento y estabilidad. Soporte gratuito con actualizaciones de seguridad a largo plazo.
Azul Zulu JDK: Distribución de OpenJDK mantenida por Azul Systems. Ofrece versiones gratuitas y de pago con soporte comercial. Disponible para diversas plataformas, incluyendo versiones específicas para IoT y tiempo real.
Liberica JDK: Desarrollado por BellSoft. Compatible con todas las versiones de OpenJDK y con soporte extendido para versiones antiguas. Incluye JavaFX en su distribución completa.
Cada una de estas versiones tiene ventajas dependiendo del entorno en el que se use. Para proyectos empresariales, Temurin, Corretto y Azul Zulu son opciones populares por su estabilidad y soporte extendido. Para desarrolladores individuales, OpenJDK suele ser suficiente.
En nuestro caso, instalaremos la última versión Temurin JDK 25.
static void main() o la librería java.io.IO).Ten en cuenta que este código no es retrocompatible con versiones anteriores de Java (como Java 8, 11, 17 o 21). Si intentas ejecutar estos programas en un entorno configurado con un JDK antiguo, obtendrás errores de compilación. Asegúrate de tener seleccionado JDK 25 en tu IDE.
Maven gestiona la estructura del proyecto, las dependencias (librerías externas) y el ciclo de compilación.
Aunque IntelliJ incluye Maven integrado por defecto, lo instalaremos para no depender del IDE. En su web están las instrucciones de instalación según el Sistema Operativo usado.