
Curso de programación en Java
Domina Java desde cero y escribe código que en realidad funcione en el mundo real. Este curso te lleva desde la instalación del JDK hasta la construcción de aplicaciones Java multihilo, probadas y bien estructuradas. Cada concepto se respalda con codificación práctica para que adquieras confianza rápidamente.
Lo que vas a aprender:
Aprenderás a escribir, compilar y depurar programas Java utilizando los fundamentos del lenguaje, como los tipos de datos, el flujo de control y los métodos. A partir de ahí, aplicarás los principios de la programación orientada a objetos para diseñar clases limpias y reutilizables, así como jerarquías de tipos. Manejarás las excepciones correctamente, gestionarás los datos con el Collections Framework y los procesarás mediante lambdas y streams. El curso también cubre la E/S de archivos, el multihilo, las pruebas unitarias con JUnit 5 y herramientas profesionales como Maven, Git y el análisis estático. Al finalizar, tendrás las competencias para construir y mantener aplicaciones Java con calidad de producción.
Cómo estudias de forma práctica Curso de programación en Java
Cómo practicas Curso de programación en Java
Para ti que eres empresa y quieres formar a tu equipo
En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.
Contenido del curso
8 Capítulos • 40 LeccionesDuración entre 4 y 360 horas (tú decides)
Capítulo 1OcultarOcultar detallesVer detallesEntorno Java y fundamentos del lenguaje
Entorno Java y fundamentos del lenguaje
Lección 1 • Entrada y salida por consola
Lee la entrada del usuario con Scanner e imprime resultados con System.out. Permite programas interactivos utilizados a lo largo del curso.
Lección 2 • Tipos de datos primitivos y variables
Declara e inicializa variables utilizando los ocho tipos primitivos de Java. Conecta la selección de tipos con la eficiencia de memoria y la corrección.
Lección 3 • Instalación del Kit de Desarrollo de Java
Configura el JDK, establece las variables PATH y verifica la instalación. Establece la cadena de herramientas de la que depende cada capítulo posterior.
Lección 4 • Estructura de un programa Java
Examina la anatomía de un archivo fuente Java: declaraciones de paquete, importaciones, cuerpo de la clase y el método main. Proporciona la plantilla utilizada en cada ejercicio de codificación.
Lección 5 • Operadores y expresiones
Aplica operadores aritméticos, relacionales, lógicos y a nivel de bits para construir expresiones. Las reglas de precedencia de operadores previenen errores lógicos en capítulos posteriores.
Capítulo 2OcultarOcultar detallesVer detallesFlujo de control y lógica del programa
Flujo de control y lógica del programa
Lección 1 • Sentencias condicionales
Utiliza bloques if, else-if y else para ramificar la lógica del programa. Sienta las bases de toma de decisiones requeridas por cada algoritmo posterior.
Lección 2 • Constructos de bucle
Repite bloques de código con bucles while, do-while y for. La iteración es el mecanismo central detrás del procesamiento de datos en capítulos posteriores.
Lección 3 • Bucles anidados y problemas de patrones
Combina múltiples bucles para resolver problemas bidimensionales como el recorrido de matrices y la impresión de patrones. Desarrolla el pensamiento algorítmico para los capítulos de arrays.
Lección 4 • Sentencias y expresiones switch
Selecciona entre múltiples rutas de ejecución utilizando switch. Introduce las expresiones switch modernas disponibles en versiones recientes de Java.
Lección 5 • Sentencias de control de bucle
Altera la ejecución del bucle con break, continue y sentencias etiquetadas. Previene bucles infinitos y permite salidas tempranas en iteraciones complejas.
Capítulo 3OcultarOcultar detallesVer detallesMétodos y reutilización de código
Métodos y reutilización de código
Lección 1 • Ámbito de variables y diseño de métodos
Gestiona el ámbito local, de bloque y de clase para escribir métodos predecibles. Una buena disciplina de ámbito reduce los errores en programas con múltiples métodos.
Lección 2 • Sobrecarga de métodos
Define múltiples métodos con el mismo nombre pero diferentes listas de parámetros. Demuestra el polimorfismo en tiempo de compilación utilizado en toda la API de Java.
Lección 3 • Fundamentos de recursión
Resuelve problemas haciendo que los métodos se llamen a sí mismos con un caso base. La recursión sustenta el recorrido de árboles y los algoritmos de divide y vencerás tratados más adelante.
Lección 4 • Definición e invocación de métodos
Escribe métodos estáticos con parámetros y tipos de retorno. Establece la estructura modular que el diseño orientado a objetos extiende en capítulos posteriores.
Lección 5 • Paso de parámetros y valores de retorno
Distingue la semántica de paso por valor para primitivos y referencias. Previene errores comunes cuando los métodos modifican datos.
Capítulo 4OcultarOcultar detallesVer detallesArrays y manipulación de cadenas
Arrays y manipulación de cadenas
Lección 1 • Arrays multidimensionales
Crea y navega arrays bidimensionales y dentados. Permite operaciones matriciales y resolución de problemas basados en cuadrículas.
Lección 2 • Ordenación y búsqueda en arrays
Implementa ordenación de burbuja, ordenación por selección y búsqueda binaria en arrays. Construye la intuición algorítmica antes del capítulo del Collections Framework.
Lección 3 • StringBuilder para construcción eficiente de texto
Utiliza StringBuilder para construir cadenas en bucles sin creación excesiva de objetos. Aborda directamente los problemas de rendimiento causados por la concatenación de cadenas.
Lección 4 • Clase String y métodos comunes
Manipula texto utilizando métodos de String como substring, split y replace. El procesamiento de cadenas es esencial para E/S de archivos e integración de APIs.
Lección 5 • Arrays unidimensionales
Declara, inicializa y recorre arrays de una dimensión. Los arrays son la base para las colecciones y las implementaciones de algoritmos futuras.
Capítulo 5OcultarOcultar detallesVer detallesFundamentos de programación orientada a objetos
Fundamentos de programación orientada a objetos
Lección 1 • La clase Object y toString
Sobrescribe toString, equals y hashCode de la clase raíz Object. Las sobrescrituras correctas son necesarias para las colecciones y la depuración.
Lección 2 • Encapsulación y modificadores de acceso
Protege los campos con acceso privado y expónlos a través de getters y setters. La encapsulación refuerza las invariantes y reduce el acoplamiento.
Lección 3 • Clases y objetos
Define clases con campos y métodos, luego instancia objetos. Cambia el pensamiento del diseño procedimental al orientado a objetos.
Lección 4 • Miembros estáticos y clases de utilidad
Utiliza campos y métodos estáticos para estado compartido y funciones de utilidad. Clarifica cuándo son apropiados los miembros a nivel de clase frente a los de instancia.
Lección 5 • Constructores e inicialización
Escribe constructores para inicializar el estado del objeto en el momento de la creación. Una inicialización adecuada previene errores de puntero nulo en programas complejos.
Capítulo 6OcultarOcultar detallesVer detallesHerencia, polimorfismo e interfaces
Herencia, polimorfismo e interfaces
Lección 1 • Herencia y la palabra clave extends
Crea subclases que heredan campos y métodos de una superclase. La herencia reduce la duplicación y modela relaciones "es-un".
Lección 2 • Casting y comprobación de tipos
Realiza conversiones de tipo seguras y verifica la identidad de tipo en tiempo de ejecución. Previene ClassCastException en código polimórfico.
Lección 3 • Interfaces y contratos de tipo múltiple
Declara interfaces para especificar contratos de comportamiento independientes de la jerarquía de clases. Las interfaces permiten la conformidad de tipo múltiple y el acoplamiento débil.
Lección 4 • Clases y métodos abstractos
Define clases abstractas que imponen un contrato sin implementación completa. Los tipos abstractos modelan conceptos incompletos que las subclases deben completar.
Lección 5 • Sobrescritura de métodos y polimorfismo en tiempo de ejecución
Sobrescribe métodos de la superclase para proporcionar comportamiento específico de la subclase. El polimorfismo en tiempo de ejecución permite un diseño de aplicación flexible y extensible.
Capítulo 7OcultarOcultar detallesVer detallesManejo de excepciones y código robusto
Manejo de excepciones y código robusto
Lección 1 • Bloques try-catch-finally
Envuelve código riesgoso en bloques try y recupéralo en bloques catch. finally asegura que el código de limpieza siempre se ejecute independientemente del resultado.
Lección 2 • Jerarquía y tipos de excepciones
Navega por la jerarquía de excepciones de Java: Throwable, Error y subtipos de Exception. Comprender la jerarquía determina qué excepciones capturar o declarar.
Lección 3 • Lanzamiento y declaración de excepciones
Utiliza throw para señalar errores y throws para declarar excepciones comprobadas. La declaración adecuada obliga a los invocadores a manejar o propagar errores.
Lección 4 • Clases de excepción personalizadas
Crea tipos de excepción específicos del dominio extendiendo Exception o RuntimeException. Las excepciones personalizadas transportan contexto significativo para los invocadores.
Lección 5 • Try-with-resources y AutoCloseable
Cierra recursos automáticamente utilizando try-with-resources. Elimina las fugas de recursos comunes en código de E/S de archivos y red.
Capítulo 8OcultarOcultar detallesVer detallesCollections Framework y genéricos
Collections Framework y genéricos
Lección 1 • Métodos de utilidad de Collections y ordenación
Utiliza la clase Collections y Comparator para ordenar, barajar y buscar en colecciones. La ordenación basada en Comparator es esencial para requisitos de orden personalizados.
Lección 2 • Operaciones con Queue, Deque y Stack
Procesa elementos en orden FIFO y LIFO utilizando Queue y Deque. Estas estructuras sustentan algoritmos de planificación, análisis sintáctico y grafos.
Lección 3 • Genéricos y seguridad de tipos
Parametriza clases y métodos con variables de tipo para eliminar conversiones inseguras. Los genéricos son la base de todo el Collections Framework.
Lección 4 • Interfaz List e implementaciones
Almacena elementos ordenados y accesibles por índice con ArrayList y LinkedList. Las listas son el tipo de colección más utilizado en aplicaciones Java.
Lección 5 • Interfaces Set y Map
Gestiona elementos únicos con Set y pares clave-valor con Map. Estas interfaces resuelven problemas distintos de modelado de datos en aplicaciones reales.
Tu certificado válido de finalización
Este curso es para ti:
Persona que cambia de carrera: quiere una competencia técnica con salida laboral para cambiar de sector por completo.
Estudiante universitario: necesita experiencia práctica en Java más allá de lo que suelen ofrecer los cursos.
Programador autodidacta: tiene lagunas en los fundamentos y quiere un camino estructurado para avanzar.
Profesional de TI: asiste a sistemas Java pero nunca ha escrito código de producción de manera independiente.
Persona desarrolladora aficionada: crea pequeños scripts y está preparada para abordar proyectos más grandes y organizados.
Graduado no informático: ha entrado en un puesto técnico y necesita Java para crecer en él.
Lo que dicen nuestros alumnos
Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco todo lo que hacéis, ya os he recomendado a otras personas...

Me gusta cómo las lecciones van directas al grano y cómo puedo cambiar de capítulos y saltar contenidos que no necesito.

Me gusta el contenido y la forma de presentación y transcripción de vídeos, ¡lo que acelera el proceso!

La plataforma es rápida, fácil de usar. La diversidad de contenido y los vídeos complementarios ayudan mucho en el aprendizaje.

Principales capacitaciones
Preguntas frecuentes
¿Quién es Dedika?
¿El certificado es válido en España?
¿Los cursos son gratuitos?
¿Cuál es la carga lectiva del curso?
¿Cómo son los cursos?
¿Cómo funcionan los cursos?
¿Cuál es la duración de los cursos?
¿Cuál es el coste o precio de los cursos?
¿Qué es un curso EAD u online y cómo funciona?
Curso en PDF




















