Crea aplicaciones poderosas en Java: Aprende sintaxis, programación estructurada y orientada a objetos.
Descubre cómo la sintaxis de Java se utiliza para desarrollar programas de consola que interactúan con el usuario, y cómo se utilizan los conceptos de la programación estructurada y orientada a objetos para definir clases e instanciar objetos.
Con este curso aprenderás a utilizar mecanismos avanzados como la herencia, polimorfismo, interfaces y enumeradores, lo que te permitirá desarrollar programas más complejos y poderosos en el futuro.
Objetivos
- Dominar la sintaxis de lenguaje Java
- Dominar la programación estructurada en Java
- Permitir el desarrollo de programas de consola, capaces de interactuar con el usuario
- Desarrollar programas orientados a objetos definiendo clases e instanciando objetos
- Utilizar mecanismos avanzados como herencia, polimorfismo, interfaces y enumeradores
Aterrizando en Java
- ¿Qué es Java?
- Tipos de lenguajes de programación: alto nivel, bajo nivel
- Características de Java
- ¿Por qué aprender Java?
Historia de Java
- Presentando a SUN
- Proyecto Green Talk
- James Gosling el padre de Java
- ¿Por qué nace Java?
- WORE/ WORA
- ¿Qué es JRE? ¿Y JDK? ¿Qué diferencias tienen?
- Oracle compra a SUN
- Versiones de Java
- ¿La compra de Java por Oracle cambia algo?
- Conflicto entre las tecnológicas Oracle y Google
- Instalando JDK (varias versiones)
- Configuración de las variables de entorno (Path)
- Modificando la versión de Java a la que apunta el sistema operativo (global)
Creando nuestro primer programa básico
- Hello World en Java (sin IDE)
- ¿Qué significa cada parte? ¿Qué es el método main de Java? ¿Para qué sirve?
- Explicando el proceso de compilación de Java: bytecode
- Presentando varias características del lenguaje: KeySensitive, punto y coma al final de la instrucción…
- Compilación y descompilación de un programa de Java (proceso manual)
- Diferencias entre ficheros .java y .class: abrir los ficheros con notepad, HxD Hex Editor, magic numbers, CAFE BABE…
- Como saber sobre que versión de JDK está compilado un archivo .class mediante a minor versión y major versión bytecode Java
- ¿Qué pasa si pierdo el fichero source .java?
- Descompilación manual y sus problemas
- Descompilación automática con JD-GUI
- Instalación de un Entorno de trabajo (IDE) Eclipse
- ¿Qué es el Workspace de Eclipse?
- Syntax Highligher, compiler e intelligense
- Hello World con IDE (Eclipse), marcando la pestaña de main o creando el main mediante al intelligense
- Bulbs Warnings (bombillas de advertencia), Bulbs Errors (bombillas de errores) & Errors (errores)
- Comentarios y tipos de comentarios
- ¿Qué son las palabras reservadas? ¿Para qué sirven?
- Mostrando mensajes por consola con la clase System, métodos: out, err, trace, print, println…
- Secuencias de escape
- Coloreando Secuencias de escape
Variables en Java
- Diferencias entre datos, información y conocimiento
- ¿Qué es una variable? Caja que almacena un dato
- ¿Dónde se guarda una variable?
- Clasificación de tipos: primitivos VS no primitivos
- Clasificación de estructura de datos
- Primitive Data structures
- Non primitive data structures: linear data & no linear data
- Declarando una variable: definición, asignación, definición & asignación en una misma línea, variables múltiples en una misma línea.
- Entendiendo por qué una variable recibe dicho nombre: reasignando otro valor
- ¿Por qué utilizamos nombre cuando declaramos una variable? (Identificadores) ¿Para qué nos sirve?
- Name convenctions: snake_case, PascalCase, camelCase…
- Trabajando con primitives types: double, float, long, int, char, short, byte, boolean y char.
- Default value
- Entendiendo el significado de bits reservados y como son clave en la definición de un rango
- Desbordamientos y rangos circulares
- Constantes
Operadores en Java
- Pirámide de jerarquía de operadores
- Operador de asignación (=)
- Operadores unarios (+ y -)
- Operadores aritméticos (+, -, *, /, %)
- Operador de concatenación de cadenas (+)
- Problemas de ciertas operaciones aritméticas (división con enteros)
- Operadores incrementales (++, –)
- Operadores aritméticos combinados (+=, *=, -=, /=, %=)
- Operadores de relación (==, !=, <, >, <=, >=)
- Operadores lógicos o booleanos (!, |, ^, &, ||, &&)
- Cortocircuito con || y con &&
- Operador condicional o ternario (?)
Estructuras de control
- Estructura Secuencial
- Estructures condicionales: if simple, ifs anidados, if-else, if-elseif-else, switch, operador ternario.
- Estructuras repetitivas: while, do while y for
- Instrucciones de salto: break y continue
Programación funcional
- ¿Qué son las funciones? ¿Para qué sirven?
- Partes de una función
- Tipos de funciones
- Funciones con static y sin static ¿Qué diferencias tienen?
- Ejecutando una función
- Function con return y sin return ¿Qué diferencias tienen?
ANSI, conversiones y uso de var
- Coloreando mensajes por consola
- Uso de var (>=JDK 10) para realizar definición infiriendo el tipo
- Var no permite la modificación de los tipos después de la definición
- Obteniendo el tipo de dato de un objeto
- Conversiones automáticas (ampliación)
- Conversiones manuales (explicita)
Wrappers
- Objetos Wrappers ¿Qué diferencia tienen con los datos primitivos?
- Tipos de Wrappers
- Performance wrappers VS primitives
- Utilizando Wrappers para sacar el rango de un tipo primitivo
- Profundizando en los wrappers
- Wrapeando y deswrapeando
- Autoboxing (wrapping)
- Autounboxing (deswrapping)
- Wrapping manual y problemas de trabajar con el constructor
- Wrapping manual con valueOf()
System.out.printf
- ¿Para qué sirve printf?
- Formatos de salida de printf
- Trabajando con un solo valor
- Hardcodeando datos
- Alternando el orden
- Dejando espaciado entre valores
Programación Orientada a Objetos (POO)
- ¿Qué son los paradigmas de programación?
- ¿Qué es la programación orientada a objetos?
- ¿Qué es una clase?
- Pilares de la POO
- Abstracción
- ¿Qué es un objeto?
- Creando una clase e instanciando a objetos
- ¿Qué es la instanciación?
- Encapsulamiento
- Modificadores de acceso
- ¿Qué son los Getters & Setters?
- Creación manual de un Getter & Setter
- Creación automática de Getters & Setters
- Constructores
- ¿Qué es la herencia?
- Tipos de herencia
- Clases abstractas
- Interfaces
- Clases abstractas VS interfaces diferencias
- Polimorfismo
- Scanner
Excepciones
- ¿Qué son las excepciones?
- ¿Porque utilizarlas?
- Try catch & Try Catch Throws
- Generando nuestras propias excepciones
Enums
- ¿Qué son los enums?
- Creando un enum en Eclipse
- Recorriendo todos los valores
- Obteniendo solo un valor
JDBC
- ¿Qué es JDBC?
- ¿Cómo funciona?
- Ejemplo de uso step by step
Todas las empresas con centro de trabajo en territorio estatal, independientemente de su tamaño o ubicación, que coticen por la contingencia de Formación Profesional a la Seguridad Social disponen de un crédito anual para la formación continua de sus trabajadores.
Las empresas pueden organizar y gestionar los fondos ante la Fundación Estatal para la Formación en el Empleo (FUNDAE) con sus propios medios, o bien dejar la gestión de las bonificaciones a los centros de formación que contrata, que deberán estar acreditados e inscritos en el registro de entidades de formación.
Formación a medida
Todos nuestros cursos son a medida. Ayudamos a los equipos a desarrollar sus conocimientos y habilidades para mejorar su productividad y llevar a cabo la estrategia Digital de sus organizaciones.