learning@trentia.net
Formación Virtualclass
virtualclass
Formación bonificable
Curso bonificable
Duración del curso
Duración de 10h
Referencia del curso
Referencia TL-01515

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.

Java

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.

Consulta tus créditos FUNDAE

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.

Diseñamos
Diseñamos
Planificación
Planificamos
Impartimos formación
Impartimos
Evaluamos
Evaluamos
Bonificación
Bonificamos