📘 ÍNDICE DE TEMAS DE JAVA
1. Introducción a Java
1.1 Historia y características de Java
1.2 Instalación del JDK y configuración del entorno
1.3 Primer programa: Hello World
1.4 Ciclo de vida de un programa Java (compilación y ejecución)
2. Sintaxis básica
2.1 Tipos de datos primitivos
2.2 Variables y constantes
2.3 Operadores (aritméticos, lógicos, relacionales, etc.)
2.4 Estructuras de control (if, switch, for, while, do-while)
2.5 Entrada y salida (Scanner, [Link])
3. Programación orientada a objetos (POO)
3.1 Clases y objetos
3.2 Métodos y atributos
3.3 Encapsulamiento (modificadores de acceso)
3.4 Constructores
3.5 this y super
3.6 Herencia
3.7 Polimorfismo
3.8 Abstracción: clases abstractas e interfaces
4. Colecciones y estructuras de datos
4.1 Arrays (unidimensionales y multidimensionales)
4.2 ArrayList, LinkedList
4.3 HashMap, HashSet, TreeMap, TreeSet
4.4 Iteradores y bucles for-each
4.5 Genéricos
5. Excepciones y manejo de errores
5.1 Tipos de excepciones (checked, unchecked)
5.2 try, catch, finally, throw, throws
5.3 Crear excepciones personalizadas
6. Cadenas y manipulación de texto
6.1 Clase String y métodos comunes
6.2 StringBuilder y StringBuffer
6.3 Expresiones regulares (Pattern, Matcher)
7. Archivos y manejo de entrada/salida (I/O)
7.1 Lectura y escritura de archivos (File, Scanner, PrintWriter)
7.2 Streams (InputStream, OutputStream, Reader, Writer)
7.3 Serialización de objetos
8. Programación funcional y lambda
8.1 Interfaces funcionales (Function, Predicate, etc.)
8.2 Expresiones lambda
8.3 API Stream (map, filter, reduce, etc.)
9. Hilos y concurrencia
9.1 Clase Thread y la interfaz Runnable
9.2 synchronized, wait, notify
9.3 ExecutorService, Callable, Future
10. Programación gráfica con Swing/JavaFX
10.1 Introducción a Swing (ventanas, botones, paneles)
10.2 Eventos y listeners
10.3 JavaFX: escenas, nodos y layouts
10.4 Animaciones básicas
11. Acceso a bases de datos (JDBC)
11.1 Conexión a bases de datos
11.2 Sentencias SELECT, INSERT, UPDATE, DELETE
11.3 PreparedStatement, ResultSet
11.4 Gestión de transacciones
12. Desarrollo web básico con Java (Servlets y JSP)
12.1 Ciclo de vida de un servlet
12.2 Formularios y parámetros
12.3 JavaServer Pages (JSP)
12.4 MVC básico con servlets
13. Buenas prácticas y herramientas
13.1 Principios SOLID
13.2 Pruebas unitarias con JUnit
13.3 Documentación con JavaDoc
13.4 Uso de Maven o Gradle
14. Temas avanzados (opcional)
14.1 Reflexión
14.2 Anotaciones
14.3 Modulares en Java 9+
14.4 Seguridad y criptografía básica
14.5 Java Native Interface (JNI)