Skip to content

1. Introducción a Java

Java es uno de los lenguajes de programación más populares y ampliamente utilizados en el mundo. Desde su lanzamiento en 1995 por Sun Microsystems (ahora propiedad de Oracle), Java ha revolucionado el desarrollo de software con su filosofía “Write Once, Run Anywhere” (Escribe una vez, ejecuta en cualquier lugar).

Java es un lenguaje de programación de alto nivel, orientado a objetos, con una sintaxis inspirada en C y C++, pero con un modelo de objetos más simple y eliminando herramientas de bajo nivel que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.

La arquitectura de Java se basa en la Java Virtual Machine (JVM), que es el componente que permite la portabilidad del código Java entre diferentes plataformas.

  • JVM (Java Virtual Machine): Máquina virtual que ejecuta el bytecode de Java.
  • JRE (Java Runtime Environment): Contiene la JVM y las bibliotecas estándar necesarias para ejecutar aplicaciones Java.
  • JDK (Java Development Kit): Incluye el JRE más herramientas de desarrollo como el compilador (javac).

Java se distribuye en diferentes ediciones, cada una orientada a un tipo específico de desarrollo:

  • Java SE (Standard Edition): Fundamental Base del lenguaje, incluye las APIs core y es utilizada para aplicaciones de escritorio y aplicaciones simples.

  • Java EE (Enterprise Edition): Avanzado Construida sobre Java SE, añade APIs para el desarrollo de aplicaciones empresariales a gran escala, como sistemas distribuidos y aplicaciones web multicapa.

  • Java ME (Micro Edition): Especializado Versión reducida de Java SE, diseñada para dispositivos con recursos limitados como teléfonos móviles y dispositivos embebidos.

  • Jakarta EE: Moderno Anteriormente conocida como Java EE, es la versión de código abierto de Java Enterprise Edition, ahora bajo la Fundación Eclipse.

Java posee varias características que lo han convertido en uno de los lenguajes más populares y duraderos:

Java es un lenguaje completamente orientado a objetos, donde casi todo se trata como un objeto con propiedades y comportamientos.

// Ejemplo de clase en Java
public class Persona {
// Atributos (propiedades)
private String nombre;
private int edad;
// Constructor
public Persona(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
// Métodos (comportamientos)
public void saludar() {
System.out.println("Hola, mi nombre es " + nombre);
}
// Getters y setters
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
}

El código Java se compila a bytecode que puede ejecutarse en cualquier dispositivo que tenga una JVM, lo que hace que Java sea verdaderamente multiplataforma.

Java fue diseñado con un fuerte énfasis en la fiabilidad y seguridad:

  • Gestión automática de memoria: Incluye un recolector de basura (garbage collector) que libera automáticamente la memoria no utilizada.
  • Verificación estricta de tipos: Detecta errores en tiempo de compilación.
  • Manejo de excepciones: Sistema robusto para manejar errores en tiempo de ejecución.
  • Modelo de seguridad: Sandbox de seguridad que limita el acceso a recursos del sistema.

Java soporta programación concurrente a través de su API de hilos, permitiendo ejecutar múltiples tareas simultáneamente.

// Ejemplo de hilo en Java
public class MiHilo extends Thread {
public void run() {
System.out.println("El hilo está corriendo");
}
public static void main(String args[]) {
MiHilo hilo = new MiHilo();
hilo.start(); // Inicia la ejecución del hilo
}
}

Aunque Java es un lenguaje interpretado, la JVM utiliza técnicas como la compilación Just-In-Time (JIT) para optimizar el rendimiento en tiempo de ejecución.

Java incluye extensas bibliotecas para trabajar con protocolos como TCP/IP, HTTP y FTP, facilitando el desarrollo de aplicaciones distribuidas.

Java está diseñado para adaptarse a un entorno en evolución, permitiendo la carga dinámica de clases y la reflexión.

1.3 Instalación del JDK y configuración del entorno

Section titled “1.3 Instalación del JDK y configuración del entorno”

Para comenzar a desarrollar en Java, necesitas instalar el JDK (Java Development Kit). A continuación, se detallan los pasos para diferentes sistemas operativos:

  1. Descargar el JDK

    Visita la página oficial de Oracle o adopta OpenJDK para descargar la última versión del JDK:

  2. Instalar el JDK
    1. Ejecuta el instalador descargado (.exe o .msi)
    2. Sigue las instrucciones del asistente de instalación
    3. Anota la ruta de instalación (por defecto suele ser algo como C:\Program Files\Java\jdk-[version])
  3. Configurar las variables de entorno
    1. Abre el Panel de control > Sistema > Configuración avanzada del sistema
    2. Haz clic en “Variables de entorno”
    3. En “Variables del sistema”, crea o edita la variable JAVA_HOME con la ruta de instalación del JDK
    4. Edita la variable PATH y añade %JAVA_HOME%\bin
  4. Verificar la instalación

    Abre una terminal o línea de comandos y ejecuta:

    Terminal window
    java -version
    javac -version

    Deberías ver la versión de Java instalada en ambos comandos.

Aunque puedes programar en Java con un simple editor de texto, los IDEs (Entornos de Desarrollo Integrado) facilitan enormemente el desarrollo:

Desarrollado por JetBrains, es uno de los IDEs más potentes y populares para Java.

  • Versión Community: Gratuita y de código abierto
  • Versión Ultimate: De pago, con características adicionales para desarrollo empresarial
  • Descargar IntelliJ IDEA

Vamos a crear el clásico programa “Hola Mundo” para verificar que todo está correctamente configurado y entender la estructura básica de un programa Java.

  1. Crear un archivo fuente

    Crea un archivo llamado HolaMundo.java con tu editor o IDE favorito.

  2. Escribir el código
    public class HolaMundo {
    // El método main es el punto de entrada de la aplicación
    public static void main(String[] args) {
    // Imprime un mensaje en la consola
    System.out.println("¡Hola, Mundo!");
    }
    }
  3. Compilar el programa

    Abre una terminal en el directorio donde guardaste el archivo y ejecuta:

    Terminal window
    javac HolaMundo.java

    Esto generará un archivo HolaMundo.class que contiene el bytecode.

  4. Ejecutar el programa

    En la misma terminal, ejecuta:

    Terminal window
    java HolaMundo

    Deberías ver el mensaje “¡Hola, Mundo!” en la consola.

  • public class HolaMundo seguido de llaves: Define una clase pública llamada HolaMundo.
  • public static void main(String[] args) seguido de llaves: Define el método principal que se ejecuta al iniciar el programa.
  • System.out.println(“¡Hola, Mundo!”);: Imprime el texto en la consola.
public class HolaMundoFormato {
public static void main(String[] args) {
String nombre = "Juan";
int edad = 25;
System.out.printf("¡Hola, %s! Tienes %d años.
", nombre, edad);
}
}
🐝