☕ Java Desde Cero - Guía Completa

Aprende Java desde los fundamentos hasta conceptos avanzados

"Java is a class-based, object-oriented programming language."
Explorar Temas

📖 Temas del Curso

Haz clic en cualquier tema para ver el contenido detallado

📌 Introducción a Java

Java es un lenguaje orientado a objetos creado por James Gosling en Sun Microsystems (ahora Oracle).

Características:

  • Write Once, Run Anywhere
  • Orientado a objetos
  • Robusto y seguro
  • Multiplataforma
💡 Dato curioso: Java fue originalmente llamado Oak.
← Volver a temas

🔧 JDK y JRE

Diferencias:

ComponentePropósito
JDKDesarrollo (compilador + herramientas)
JREEjecución (JVM + librerías)
JVMMáquina virtual Java

Instalar:

# Descargar desde oracle.com
# o usar OpenJDK

# Verificar
java -version
javac -version
← Volver a temas

👋 Hola Mundo

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

Compilar y ejecutar:

javac HolaMundo.java
java HolaMundo
← Volver a temas

📦 Variables y Tipos

// Tipos primitivos
int edad = 30;
double altura = 1.75;
char inicial = 'J';
boolean esEstudiante = true;

// Tipos de referencia
String nombre = "Juan";
Integer edadObj = 30; // Wrapper

// Var (Java 10+)
var mensaje = "Hola"; // Inferido
← Volver a temas

🏗️ POO en Java

public class Persona {
    private String nombre;
    private int edad;

    public Persona(String nombre, int edad) {
        this.nombre = nombre;
        this.edad = edad;
    }

    public void saludar() {
        System.out.println("Hola, soy " + nombre);
    }
}
← Volver a temas

📚 Colecciones

// List
List<String> nombres = new ArrayList<>();
nombres.add("Juan");
nombres.add("Maria");

// Map
Map<String, Integer> edades = new HashMap<>();
edades.put("Juan", 30);

// Stream
nombres.stream()
    .filter(n -> n.startsWith("J"))
    .forEach(System.out::println);
← Volver a temas

⚠️ Excepciones

try {
    int resultado = 10 / 0;
} catch (ArithmeticException e) {
    System.err.println("Error: " + e.getMessage());
} finally {
    System.out.println("Bloque finally");
}
← Volver a temas

🔍 Streams y Lambda

List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5);

// Filter y map
List<Integer> cuadrados = numeros.stream()
    .filter(n -> n % 2 == 0)
    .map(n -> n * n)
    .collect(Collectors.toList());

// Reduce
int suma = numeros.stream()
    .reduce(0, (a, b) -> a + b);
← Volver a temas

🍃 Spring Framework

Spring es un framework para aplicaciones enterprise.

Características:

  • Inyección de dependencias
  • Programación orientada a aspectos
  • Transacciones
← Volver a temas

🚀 Spring Boot

@SpringBootApplication
public class MiApp {
    public static void main(String[] args) {
        SpringApplication.run(MiApp.class, args);
    }
}

@RestController
public class Controller {
    @GetMapping("/hello")
    public String hello() {
        return "Hello World";
    }
}
← Volver a temas

🗄️ Hibernate/JPA

@Entity
public class Usuario {
    @Id
    @GeneratedValue
    private Long id;
    
    private String nombre;
    
    private String email;
}

// Repository
public interface UsuarioRepository 
    extends JpaRepository<Usuario, Long> {
    List<Usuario> findByNombre(String nombre);
}
← Volver a temas

🏗️ Microservicios

Spring Cloud:

  • Service Discovery (Eureka)
  • API Gateway
  • Circuit Breaker (Resilience4j)
  • Config Server
💡 Tip: Spring Boot facilita crear microservicios listos para producción.
← Volver a temas

📚 Contenido del Curso

Módulo 1: Fundamentos

  • Introducción a Java
  • JDK y JRE
  • Hola Mundo
  • Variables y tipos
Ir a temas →

Módulo 2: Intermedio

  • POO en Java
  • Colecciones
  • Excepciones
  • Streams y Lambda
Ir a temas →

Módulo 3: Avanzado

  • Spring Framework
  • Spring Boot
  • Hibernate/JPA
  • Microservicios
Ir a temas →

📝 Ejemplos Rápidos

Clase en Java

public class Persona {
    private String nombre;
    
    public Persona(String nombre) {
        this.nombre = nombre;
    }
    
    public void saludar() {
        System.out.println("Hola, soy " + nombre);
    }
}

Stream Example

List<String> nombres = lista.stream()
    .filter(n -> n.length() > 5)
    .collect(Collectors.toList());

📖 Recursos Adicionales

Documentación Oficial

Herramientas

  • IntelliJ IDEA
  • Maven
  • Gradle

Comunidades

  • Stack Overflow - Java
  • Reddit r/java

👨‍💻 Desarrollado por Isaac Esteban Haro Torres

Ingeniero en Sistemas · Full Stack · Automatización · Data

📧 Email: zackharo1@gmail.com

📱 WhatsApp: 098805517

💻 GitHub: github.com/ieharo1

🌐 Portafolio: ieharo1.github.io/portafolio-isaac.haro/