SL-275-SE6: El Lenguaje de Programación Java, Java SE 6
Curso de Oracle University.
Qué aprenderá
Este curso provee a estudiantes una sólida fundación para programar con Java, incluyendo: información acerca de la sintáxis del lenguaje de programación Java; pogramación orientada a objeto con el lenguaje de programación Java; creación de interfaces gráficas de usuario (GUIs), excepciones, entrada/salida de archivos (E/S), hilos y redes. Los programadores familiarizados con conceptos de orientación a objeto pueden aprender cómo desarrollar aplicaciones con tecnología Java. Ese curso destaca la Plataforma Java, Edición Estándar 6 (Java SE 6), y utiliza el producto Java SE Development Kit 6 (JDK 6). Los estudiantes realizan ejercicios de laboratorio utilizando el entorno de desarrollo integrado NetBeans.
Estudiantes que se benefician de este curso
- Programadores quienes están interesados en agregar el lenguaje de programación Java a su lista de habilidades.
- Estudiantes que están preparándose para el examen Oracle Certified Professional, Java SE 6 Programmer
Prerrequisitos
- Entendimiento de principios de orientación a objeto
- Competencia en la creación de programas en cualquier lenguaje de programación
- Crear y editar fichas de texto utilizando un editor
Objetivos del Curso
- Crear aplicaciones de tecnología Java que aprovechan las prestaciones orientadas a objeto del lenguaje Java, como encapsulación, herencia y polimorfismo.
- Ejecutar aplicaciones de tecnología Java desde el comando de línea.
- Usar tipos de datos y expresiones de la tecnología Java.
- Usar construcciones de control de flujo de la tecnología Java.
- Usar arreglos y otras colecciones de datos.
- Implementar técnicas de manejo de errores utilizando manejo de excepciones.
- Crear una interfaz gráfica de usuario (GUI) utilizando componentes Swing: paneles, botones, etiquetas, campos de texto y areas de texto.
- Implementar funcionalidad de entrada/salida para leer de y escribir a archivos de texto y datos, así como entender flujos avanzados de E/S.
- Crear un cliente simple que utiliza TCP/IP para comunicarse con un servidor vía sockets.
- Crear programas multifilares.
Contenidos del Curso
Comenzando
- Examinar la tecnología Java
- Analizar una aplicación simple en tecnología Java
- Ejecutar una aplicación de tecnología Java
Programación Orientada a Objetos
- Definir conceptos de modelado: abstracción, encapsulación y empaquetamiento
- Discutir reutilización de código con tecnología Java
- Definir clase, miembro, atributo, método, constructor y paquete
- Usar los modificadores de acceso private y public para una correcta encapsulación
- Invocar un método sobre un objeto particular
- Usar la documentación en línea del API de tecnología Java
Identificadores, palabras clave y tipos
- Usar comentarios en código fuente
- Distinguir entre identificadores válidos e inválidos
- Usar los ocho tipos primitivos
- Definir valores literales para tipos numéricos y textuales
- Definir los términos "variable primitiva" y "variable de referencia"
- Declarar variables de tipo de clase
- Construir un objeto usando "new" y describir la inicialización por defecto
- Describir la significancia de una variable de referencia
Expresiones y Control de Flujo
- Distinguir entre variables de instancia y locales
- Describir cómo se inicializan las variables de instancia
- Reconocer, describir y usar operadores en Java
- Distinguir entre asignaciones legales e ilegales de tipo primitivos
- Identificar expresiones booleanas y sus requerimientos en el control de flujo
- Reconocer compatibilidad de asignación y conversiones requeridas en tipos fundamentales
- Usar construcciones if, switch, for, while, y do y las formas etiquetadas de break y continue como estructuras de control de flujo en un programa
Arreglos
- Declarar y crear arreglos de tipos primitivos, clases o arreglos
- Explicar por qué son inicializados los elementos de un arreglo
- Explicar cómo se inicializan los elementos de un arreglo
- Determinar el número de elementos de un arreglo
- Crear arreglos multidimensionales
- Escribir código que copie valores de arreglo de un arreglo a otro
Diseño de clases
- Definir herencia, polimorfismo, sobrecarga, sobreescritura e invocación virtual de métodos
- Usar los modificadores de acceso "protected" y el por defecto (package-friendly)
- Describir los conceptos de sobrecarga de constructor y método
- Describir la operación completa de construcción e inicialización de un objeto
Prestaciones Avanzadas de Clases
- Crear variables, métodos e inicializadores estáticos
- Crear clases, métodos y variables finales
- Crear y usar tipos enumerados
- Usar la sentencia de importación estática
- Crear clases y métodos abstractos
- Crear y usar una interfaz
Excepciones y Aserciones
- Definir excepciones
- Usar sentencias try, catch, y finally
- Describir categorías de excepciones
- Identificar excepciones comunes
- Desarrollar programas que manejen excepciones definidas por el programador
- Usar aserciones
- Distinguir usos apropiados e inapropiados de aserciones
- Habilitar de aserciones en tiempo de ejecución
Colecciones y Genéricos
- Describir la implementaciones de uso general de las interfaces esenciales del API de colecciones
- Examinar el interfaz Map
- Examinar las clases de colección legadas
- Crear ordenamiento natural y arbitrario implementando las interfaces Comparable y Comparator
- Usar collecciones genéricas y parámetros de tipo en clases genéricas
- Refactorear código existente no-genérico
- Escribir un programa que itere sobre una colección
- Examinar el bucle for mejorado
Fundamentos de E/S
- Escribir un programa que use argumentos de comando de línea y propiedades de sistema
- Examinar la clase Properties
- Construir flujos de nodo y procesamiento, y usarlos apropiadamente
- Serializar y deserializar objetos
- Distinguir lectores de escritores en flujos, y seleccionar apropiadamente entre ellos
E/S de Consola y Archivo
- Leer datos de la consola
- Escribir datos a la consola
- Describir archivos y E/S de archivos
Construyendo GUIs en Java con el API Swing
- Describir la tecnología JFC Swing
- Identificar los paquetes Swing
- Describir los bloques de construcción de un GUI: contenedores, componentes y gestores de disposición
- Examinar propiedades top-level, de propósito general y propósito especial de un contenedor
- Examinar componentes
- Examinar gestores de disposición
- Describir el modelo monofilar de Swing
- Construir un GUI usando componentes Swing
Manejando Eventos Generados en la Interfaz Gráfica
- Definir eventos y manejo de eventos
- Examinar el modelo de eventos en Java SE
- Describir el comportamiento del GUI
- Determinar la acción de usuario que originó un evento
- Desarrollar escuchas de evento
- Describir concurrencia en GUIs basados en Swing y describe prestaciones de la clase SwingWorker
Aplicaciones basados en GUI
- Describir cómo se construye una barra de menú, menú e ítems de menú en un GUI Java
- Entender cómo se cambia el color y fuente de un componente
Hilos
- Definir un hilo
- Crear hilos separados en un programa de tecnología Java, controlando el código y datos que son usados por ese hilo
- Controlar la ejecución de un hilo y escribir código independiente de plataforma con hilos
- Describir las dificultades que pueden suceder cuando múltiples hilos comparten datos
- Usar "wait" y "notify" para comunicarse entre hilos
- Usar "synchronized" para proteger datos de corrupción
Redes
- Desarrollar código que prepare una conexión de red
- Entender TCP/IP
- Usar las clases ServerSocket y Socket para implementar clientes y servidores TCP/IP