Aprende Java
Un curso de Java online, interactivo y gratis. Escribes Java en cada lección, con pistas de IA cuando algo no compila y un certificado gratis al terminar.
224,055+ codders inscritos
- Apto para principiantes
Ayuda de codificación con IA
Lecciones interactivas prácticas
Narración de audio en cada lección
Cuestionarios para poner a prueba tu conocimiento
Certificado gratuito de finalización
Programa
Sección 1
Fundamentos
Empezar secciónEmpezarExpandirContraerConstruye una base sólida con conceptos esenciales y habilidades básicasIntroduction
4 lecciones324- 01JavaReto
- 02Hello World!RetoQuizAudio
- 03CommentsQuizAudio
- 04Basic Program StructureRetoQuizAudio
Variables Part 1
5 lecciones940- 01NumbersRetoMaestríaQuizAudio
- 02StringRetoMaestríaQuizAudio
- 03BooleanRetoMaestríaQuizAudio
- 04charRetoMaestríaQuizAudio
- 05Type DeclarationRetoQuizAudio
Variables Part 2
5 lecciones333- 01ConstantsRetoQuizAudio
- 02Naming ConventionsQuizAudio
- 03Recap - Initialize VariablesReto
- 04Type Casting Part 1RetoQuizAudio
- 05Type Casting Part 2QuizAudio
Operators Part 1
7 lecciones956- 01Arithmetic OperatorsRetoMaestríaQuizAudio
- 02Modulo OperatorRetoMaestríaQuizAudio
- 03Increment/DecrementRetoMaestríaQuizAudio
- 04Post Increment/DecrementMaestríaQuizAudio
- 05Arithmetic ShortcutsRetoQuizAudio
- 06Comparison OperatorsRetoQuizAudio
- 07String ComparisonQuizAudio
Operators Part 2
5 lecciones834- 01Logical Operators Part 1RetoMaestríaQuizAudio
- 02Logical Operators Part 2RetoMaestríaQuizAudio
- 03Recap - Simple LogicReto
- 04Logical Operators Part 3RetoQuizAudio
- 05Logical Operators Part 4RetoMaestríaQuizAudio
Decision Making
6 lecciones1038- 01If StatementRetoMaestríaQuizAudio
- 02If - ElseRetoMaestríaQuizAudio
- 03Switch StatementRetoMaestríaQuizAudio
- 04Ternary OperatorRetoMaestríaQuizAudio
- 05Recap - If ElseReto
- 06Nested If - ElseRetoQuizAudio
Basic IO
5 lecciones723- 01System.out MethodsRetoMaestríaQuizAudio
- 02Formatting OutputRetoMaestríaQuizAudio
- 03Scanner ClassRetoQuizAudio
- 04Recap - Till 120Reto
- 05Recap - True or FalseReto
Calculator App
Proyecto4 lecciones1- 01Welcome MessageReto
- 02Getting NumbersProyecto
- 03Basic OperationsProyecto
- 04Formatted OutputProyecto
Loops
9 lecciones1362- 01For Loop Part 1RetoMaestríaQuizAudio
- 02While LoopRetoMaestríaQuizAudio
- 03Do While LoopRetoMaestríaQuizAudio
- 04BreakRetoMaestríaQuizAudio
- 05ContinueRetoMaestríaQuizAudio
- 06For Loop Part 2QuizAudio
- 07Nested LoopRetoMaestríaQuizAudio
- 08Infinite LoopQuizAudio
- 09Recap - Dynamic InputReto
Methods (Functions)
7 lecciones843- 01Declaring MethodsRetoMaestríaQuizAudio
- 02Method ParametersRetoQuizAudio
- 03Return TypesRetoQuizAudio
- 04Method OverloadingMaestríaQuizAudio
- 05Recap - Sigma FunctionReto
- 06Recap - Validation FunctionReto
- 07Void MethodsRetoQuizAudio
Arrays Basics
6 lecciones929- 01Declaring ArraysRetoQuizAudio
- 02Accessing ElementsRetoQuizAudio
- 03Modifying ArraysRetoMaestríaQuizAudio
- 04Array MethodsRetoMaestríaQuizAudio
- 05Recap - Product ArrayRetoMaestría
- 06Recap - Reversed ArrayReto
Iterating Over Arrays
3 lecciones423- 01Using For LoopRetoQuizAudio
- 02Enhanced For LoopRetoQuizAudio
- 03Common Array OperationsRetoMaestríaQuizAudio
String Operations
4 lecciones832- 01String Methods Part 1RetoMaestríaQuizAudio
- 02String Methods Part 2RetoMaestríaQuizAudio
- 03String FormattingRetoMaestríaQuizAudio
- 04String ComparisonRetoMaestríaQuizAudio
Final Challenges
3 lecciones38- 01Number PatternRetoQuizAudio
- 02Pattern FinderReto
- 03Student Grade CalculatorReto
Sección 2
Lógica y Flujo
Empezar secciónEmpezarExpandirContraerDomina la programación avanzada en Java con un enfoque en estructuras de datos y control de flujo. Aprende a trabajar con arrays complejos, collections, manejo de errores y gestión del tiempo.Arreglos Multidimensionales
9 lecciones1457- 01Básicos de Arreglos 2DRetoQuiz
- 02Accediendo a Elementos de Arreglos 2DRetoQuiz
- 03Bucles Anidados con Arreglos 2DRetoMaestríaQuiz
- 04Resumen - Arreglos 2DReto
- 05Suma y Resta de MatricesRetoMaestríaQuiz
- 06Arreglos IrregularesRetoMaestríaQuiz
- 07Arreglos 3D y Más AlláRetoMaestríaQuiz
- 08Patrones Comunes de Arreglos 2DRetoMaestríaQuiz
- 09Resumen - Todo Sobre ArreglosReto
HashMap Parte 1
6 lecciones637- 01¿Qué es un HashMap?Quiz
- 02Declarar un HashMapRetoQuiz
- 03Acceder a ValoresRetoQuiz
- 04Verificar si una Clave ExisteRetoMaestríaQuiz
- 05Modificar DiccionariosRetoQuiz
- 06Resumen - HashMapReto
HashMap Parte 2
6 lecciones1030- 01Métodos de HashMapRetoMaestríaQuiz
- 02Iterar con keySet()RetoMaestríaQuiz
- 03Iterar con entrySet()RetoMaestríaQuiz
- 04HashMap AnidadoRetoMaestríaQuiz
- 05Resumen - Gestionar AlmacénReto
- 06Resumen - Operaciones de HashMapReto
HashSet Parte 1
7 lecciones844- 01¿Qué es un HashSet?Quiz
- 02Agregando un elementoRetoQuiz
- 03Eliminando un elementoRetoQuiz
- 04Comprobando si existe un elementoRetoMaestríaQuiz
- 05Vacío y tamañoRetoMaestríaQuiz
- 06Limpiar y clonarRetoQuiz
- 07Resumen - HashSetReto
HashSet Parte 2
6 lecciones1146- 01Matemáticas - Unión de HashSetsRetoMaestríaQuiz
- 02Matemáticas - Intersección de HashSetRetoMaestríaQuiz
- 03Matemáticas - Diferencia de ConjuntosRetoMaestríaQuiz
- 04Matemáticas - Diferencia SimétricaRetoQuiz
- 05Subconjuntos y SuperconjuntosRetoMaestríaQuiz
- 06Iterando Sobre ConjuntosRetoMaestríaQuiz
Flujo de Control Avanzado
5 lecciones929- 01Sentencias EtiquetadasRetoMaestríaQuiz
- 02Expresión SwitchRetoMaestríaQuiz
- 03Coincidencia de PatronesRetoMaestríaQuiz
- 04Cláusulas de GuardiaRetoMaestríaQuiz
- 05Resumen - Flujo de ControlReto
Manejo Básico de Errores
4 lecciones630- 01Básicos de Try-CatchRetoMaestríaQuiz
- 02Bloque FinallyRetoQuiz
- 03Lanzamiento de ExcepcionesRetoMaestríaQuiz
- 04Excepciones PersonalizadasRetoQuiz
Operaciones Avanzadas con Cadenas
6 lecciones1145- 01Conceptos Básicos de StringBuilderRetoMaestríaQuiz
- 02Introducción a StringBufferRetoMaestríaQuiz
- 03Conceptos Básicos de Expresiones RegularesRetoMaestríaQuiz
- 04Coincidencia de Patrones con RegexRetoMaestríaQuiz
- 05Tokenizador de CadenasRetoMaestríaQuiz
- 06Formato Avanzado de CadenasRetoQuiz
Proyecto - Contador de Palabras Únicas
Proyecto4 lecciones123- 01Entrada y Almacenamiento de TextoReto
- 02Procesamiento de PalabrasProyectoQuiz
- 03Conteo de PalabrasProyectoQuiz
- 04Estadísticas AvanzadasProyectoQuiz
Fecha y Hora
6 lecciones646- 01Fundamentos de LocalDateRetoQuiz
- 02Operaciones con LocalTimeRetoQuiz
- 03Uso de LocalDateTimeRetoQuiz
- 04Period y DurationRetoQuiz
- 05Formato de fechasRetoQuiz
- 06Manejo de zonas horariasRetoQuiz
Sección 3
Programación Orientada a Objetos
Empezar secciónEmpezarExpandirContraerDescubre cómo organizar el código con clases, objetos y estructuras reutilizablesFundamentos de OOP
9 lecciones971- 01Archivos externosRetoQuiz
- 02Introducción a la OOPRetoQuiz
- 03Clases vs. ObjetosRetoQuiz
- 04La palabra clave thisRetoQuiz
- 05MétodosRetoQuiz
- 06Campos (Atributos)RetoQuiz
- 07Método constructorRetoQuiz
- 08Sobrecarga de constructoresRetoQuiz
- 09Resumen - Calculadora simpleReto
Modificadores de acceso y encapsulamiento
5 lecciones536- 01Visión general de los niveles de accesoRetoQuiz
- 02Métodos Getter y SetterRetoQuiz
- 03Ocultamiento de informaciónRetoQuiz
- 04La palabra clave finalRetoQuiz
- 05Resumen - Gestor de cuentas bancariasReto
Propiedades de clase y miembros estáticos
5 lecciones533- 01Variables de instancia vs. estáticasRetoQuiz
- 02Métodos estáticosRetoQuiz
- 03Bloques estáticosRetoQuiz
- 04Constantes (static final)RetoQuiz
- 05Repaso - Contador y utilidadReto
Herencia
8 lecciones862- 01Herencia básica (extends)RetoQuiz
- 02La palabra clave superRetoQuiz
- 03Sobrescritura de métodos (@Override)RetoQuiz
- 04Encadenamiento de constructoresRetoQuiz
- 05La clase ObjectRetoQuiz
- 06Herencia simple y multinivelRetoQuiz
- 07Por qué no hay herencia múltiple de clasesRetoQuiz
- 08Resumen - Jerarquía de empleadosReto
Polimorfismo
6 lecciones645- 01Fundamentos de sobrecarga de métodosRetoQuiz
- 02Sobrescritura de métodos (tiempo de ejecución)RetoQuiz
- 03Upcasting y DowncastingRetoQuiz
- 04El operador instanceofRetoQuiz
- 05Clases y métodos abstractosRetoQuiz
- 06Resumen - Calculadora de figurasReto
Interfaces y Clases Abstractas
7 lecciones754- 01Introducción a las InterfacesRetoQuiz
- 02Implementación de InterfacesRetoQuiz
- 03Implementación de Múltiples InterfacesRetoQuiz
- 04Métodos Default y Static en InterfacesRetoQuiz
- 05Clases Abstractas vs InterfacesRetoQuiz
- 06Interfaces FuncionalesRetoQuiz
- 07Resumen - Sistema de PagosReto
Métodos especiales y la clase Object
6 lecciones644- 01Método toString()RetoQuiz
- 02equals() y hashCode()RetoQuiz
- 03Método clone()RetoQuiz
- 04compareTo() y ComparableRetoQuiz
- 05Interfaz ComparatorRetoQuiz
- 06Resumen - Ordenamiento personalizadoReto
Conceptos avanzados de POO
6 lecciones653- 01Composición vs. HerenciaRetoQuiz
- 02Agregación vs. ComposiciónRetoQuiz
- 03Clases internas, anidadas y anónimasRetoQuiz
- 04Enums y métodos de EnumRetoQuiz
- 05Records (Java 16+)RetoQuiz
- 06Clases selladas (Java 17+)RetoQuiz
Genéricos
6 lecciones644- 01Introducción a los genéricosRetoQuiz
- 02Clases genéricasRetoQuiz
- 03Métodos genéricosRetoQuiz
- 04Parámetros de tipo delimitadosRetoQuiz
- 05Comodines (?, extends, super)RetoQuiz
- 06Resumen - Contenedor genéricoReto
Manejo de excepciones en POO
5 lecciones536- 01Jerarquía de clases de excepcionesRetoQuiz
- 02Excepciones personalizadasRetoQuiz
- 03Errores Checked vs UncheckedRetoQuiz
- 04Patrón Try With ResourcesRetoQuiz
- 05Resumen - Usuario validadoReto
Patrones de diseño - Parte 1
6 lecciones654- 01Introducción a los patrones de diseñoRetoQuiz
- 02Patrón SingletonRetoQuiz
- 03Patrón FactoryRetoQuiz
- 04Patrón BuilderRetoQuiz
- 05Patrón ObserverRetoQuiz
- 06Patrón StrategyRetoQuiz
Patrones de diseño Parte 2
7 lecciones763- 01Patrón CommandRetoQuiz
- 02Patrón AdapterRetoQuiz
- 03Patrón DecoratorRetoQuiz
- 04Patrón Template MethodRetoQuiz
- 05Patrón StateRetoQuiz
- 06Patrón CompositeRetoQuiz
- 07Patrón IteratorRetoQuiz
Proyecto: Gestión de biblioteca
Proyecto7 lecciones1- 01Descripción general del proyecto y diseño UMLReto
- 02Clases de Libro y UsuarioProyecto
- 03Sistema de préstamosProyecto
- 04Funcionalidad de búsquedaProyecto
- 05Interfaz de administradorProyecto
- 06Integración de manejo de excepcionesProyecto
- 07Pruebas e integraciónProyecto
Desafíos finales
4 lecciones437- 01Plataforma de E-LearningRetoQuiz
- 02Sistema bancarioRetoQuiz
- 03Desarrollo de personajes de videojuegosRetoQuiz
- 04Servicio de alquiler de vehículosRetoQuiz
Cursos de Java
Cursos prácticos de Java, gratis para empezar en tu navegador.
Desafíos para principiantes - Practica conceptos básicos
PopularPon a prueba tus conocimientos básicos de programación e intenta resolver estos desafíos; usa cualquier lenguaje que quieras. ¡Feliz programación!
Certificado al completar
- 20
- 20
Problemas de programación
PopularPon a prueba tus habilidades de resolución de problemas de programación con los ejercicios de diferentes niveles de dificultad de este curso. Diseñado para programadores con conocimientos previos de la sintaxis básica en cualquier lenguaje de programación.
Certificado al completar
- 32
- 31
Problemas de programación: Volumen 2
Pon a prueba tus habilidades de resolución de problemas de programación con los ejercicios de diferentes niveles de dificultad de este curso. Diseñado para programadores con conocimientos previos de la sintaxis básica en cualquier lenguaje de programación, este curso es una extensión del primer volumen de Problemas de programación.
Certificado al completar
- 25
- 24
Pila - Serie de Estructuras de Datos #1
En este curso, aprenderás sobre la estructura de datos Pila, crearás una Pila desde cero usando tu lenguaje preferido y practicarás desafíos de programación con ella.
- 13
- 6
- 1
Heaps y Colas de Prioridad - Serie de Estructuras de Datos #7
NuevoEn este curso, aprenderás sobre la estructura de datos Heap (la base de las colas de prioridad), crearás un MinHeap desde cero usando tu lenguaje preferido y practicarás desafíos de programación con él.
Certificado al completar
- 14
- 6
- 1
Bootcamp de patrones de estrellas
Pon a prueba tus habilidades de resolución de problemas de programación para aprender a imprimir patrones de estrellas que van desde lo simple hasta lo complejo, involucrando diferentes niveles de bucles anidados, sentencias condicionales y cálculos matemáticos.
- 30
- 28
Por qué aprender Java con Coddy
- Escribe y ejecuta código Java real en tu navegador. Sin instalar el JDK, sin configurar un IDE. El editor compila y corre tu programa Java en el servidor y muestra la salida al instante.
- Java orientado a objetos como se usa en el mundo real: clases, herencia, interfaces, polimorfismo, generics, manejo de excepciones. Cada concepto trae su propio ejercicio práctico.
- Las pistas de IA te ayudan a leer y corregir errores de Java, sobre todo los stack traces extensos, para que el lenguaje se sienta menos intimidante desde el primer día.
- Certificado de Java gratis al terminar el curso. Una señal creíble para puestos de backend, Android o enterprise donde manejar Java importa.