Summary
Full Transcript
# 🚀 Java 17 Certificación - Capítulo 3 (Parte B): Pattern Matching y Ejercicios Prácticos Código: https://github.com/cursosmrugerio/cursoJava17_21 📚 **¿Qué aprenderás en este video?** Continuamos con el Capítulo 3 resolviendo ejercicios complejos y explorando conceptos avanzados de Java 16-17: ✅ **Pattern Matching Avanzado** - Flow Scoping: alcance de variables en pattern matching - Errores comunes con operadores lógicos (&&, ||) - Restricciones de subtipo (Java 17 vs Java 21) - Scope de variables declaradas con instanceof ✅ **Break y Continue con Labels** - Análisis mental de loops anidados complejos - Equivalencias entre diferentes tipos de break/continue - Optimización de tiempo en exámenes de certificación ✅ **Switch Statements Tradicionales** - Constantes en tiempo de compilación vs ejecución - Variables final y su comportamiento - Errores de compilación más comunes - Diferencias entre enum y tipos primitivos ## 🎯 Puntos Clave del Video: **[00:00 - 30:00]** Pattern matching y flow scoping detallado **[30:00 - 50:00]** Ejercicios complejos con loops y labels **[50:00 - 1:20:00]** Switch statements y errores de compilación **[1:20:00 - Final]** Constantes y tipos de datos en switch ## ⚠️ Trampas Comunes en Certificación: ### Pattern Matching - **Flow Scoping**: Variable solo existe si el compilador puede inferir su tipo - **Operadores lógicos**: Con `||` la variable puede no existir - **Subtipo**: En Java 17, el tipo debe ser subtipo (eliminado en Java 21) ### Loop Labels - `break rabbit` ≡ `continue funny` (en ciertos contextos) - `break funny` termina todos los loops etiquetados - Labels raramente usados en producción ### Switch Tradicional - Solo constantes en **tiempo de compilación** - `continue` **NO** permitido en switch - Todos los casos deben ser del mismo tipo base ## 💡 Tips de Examen: - **Pattern matching**: Siempre verificar el alcance de variables - **Loop labels**: Dejar estas preguntas para el final (consumen tiempo) - **Switch**: Variables deben ser `final` con valor conocido en compilación - **Enums**: No mezclar con tipos primitivos en switch ## 📋 Timestamps Principales: - 01:12 - Flow scoping explicado en detalle - 15:17 - Pattern matching con operadores lógicos - 31:36 - Diferencias entre Java 16, 17 y 21 - 49:02 - Análisis mental de loops complejos - 1:08:28 - Equivalencias de break/continue - 1:12:29 - Switch y constantes en tiempo de compilación ## 🔗 Recursos Mencionados: - **Java Playground**: https://dev.java/playground/ (Java 22 online) - **ChatGPT Java 17**: Consultor con libros precargados - Código fuente de todos los ejercicios resueltos ## 🚨 Actualizaciones de Versiones: - **Java 16**: Pattern matching con instanceof - **Java 17**: Restricción de subtipo - **Java 21**: Eliminación de restricción de subtipo - **Java 22**: Mejoras adicionales en pattern matching --- 🔔 **¡Suscríbete para más ejercicios avanzados!** Próximo: Capítulo 4 👍 **¿Te ayudaron los tips de certificación?** Dale like si evitaste estas trampas 💬 **¿Dudas sobre pattern matching o flow scoping?** ¡Comenta y resolvemos juntos! **📚 Próximo video**: Capítulo 4 - APIs y Programación Orientada a Objetos #Java17 #PatternMatching #FlowScoping #JavaCertification #OCP #SwitchStatement #LoopLabels #JavaTraps #CertificationTips #ModernJava
