Objetivo
Dotar al alumno de la metodología y los fundamentos de la programación en Java usando la plataforma J2SE (Java 2 Standard Edition) y prepararlo para enfrentarse a la
programación enfocada a servidor usando la plataforma Java EE (Java Enterprise Edition), una de las formas de programar en Java más ampliamente extendida a nivel empresarial.
Al finalizar el curso, el alumno estará capacitado para desarrollar aplicaciones sencillas enfocadas al cliente e iniciarse en la programación orientada a servidor.
Dirigido a:
A cualquier persona interesada en la programación. Desde personas que no conocen ningún lenguaje de programación, pero quieren iniciarse en un mundo que cada día demanda más profesionales cualificados, hasta programadores que conocen otros lenguajes, analistas, jefes de proyecto, consultores, etc. que formen parte del
departamento de Informática de una empresa. Muy recomendable para el seguimiento del curso, aunque no imprescindible, es tener conocimientos de otros lenguajes de
programación como C, C++, Pascal, Delphi, Perl, Python, C#, etc. o, en su defecto, conocimiento de las estructuras básicas de programación empleadas en todos los lenguajes, como bucles, condicionales, declaración de variables, etc.
Requisitos:
Deseable un mínimo de 1 GB de RAM, 850 MHz de frecuencia de trabajo del
microprocesador, espacio disponible en disco duro superior a 500 MB, tarjeta de sonido básica y tarjeta gráfica básica.
El software necesario para programar en Java es gratuito y está a disposición de cualquier persona en http://java.oracle.com. Su instalación y configuración se explican en el primer tema del curso.
Duración
60 horas
1. Introducción
•
Introducción.
Objetivos
•
Cuestiones básicas de Java
¿Qué es Java?
•
Concepto de programa
•
•
Lenguajes de programación
Lenguajes de programación de alto nivel y de bajo nivel
•
Hardware y software (Arquitectura ordenador + sistema operativo)
•
Plataforma
•
•
Software Java JRE
Componentes
•
•
Java SE (Java Plataform Standard Edition)
•
Java EE (Java Plataform Enterprise Edition)
•
Java ME (Java Plataform Micro Edition)
•
•
Descarga e instalación de JDK
•
Programación orientada a objetos Introducción
•
•
Objetos Clases
•
Modelo de objetos
Ejemplos de herencia
•
•
•
Programa Java Métodos
•
Declaración genérica de un método
•
Nomenclatura oficial
•
•
Escribir un programa Java
•
Entorno de desarrollo
• JDK
Eclipse versión Juno
•
•
Resumen
• Ejemplos
Ejemplo 1
•
Ejemplo 2
•
Ejemplo 3
•
Ejemplo 4
•
Ejemplo 5
•
Ejemplo 6
•
Ejemplo 7
•
Ejemplo 8
•
•
•
Ejercicios
Ejercicio. Calcular el cuadrado de una suma.
Recomendaciones.
•
Datos a mostrar por consola.
•
•
•
Objetivo
Entender qué es un programa.
•
Tomar contacto con el lenguaje Java.
•
Obtener las herramientas necesarias para el seguimiento del curso.
•
Instalar estas herramientas y aprender su manejo.
•
Conocer y entender la programación orientada a objetos.
•
2. Variables
•
Variables.
Objetivos.
•
Concepto de variable Variables primitivas
Variables primitivas de tipo numérico
•
Variables primitivas de tipo lógico (booleanas)
•
Variables de tipo char (caracter)
•
•
Variables referenciadas
•
•
Proceso de creación de una variable Nombre de variables
•
Declaración
•
Inicialización
•
Modificación del valor
•
•
Casting o transformaciones de tipo
•
Alcance de variables Variables locales
•
Variables de instancia
•
Variables estáticas o de clase
•
Métodos estáticos o de clase
•
•
Estructuras básicas de programación Expresiones
•
Operadores
•
Condicional if .. else
•
Condicional switch
• Bucle For
•
Bucle For Extendido
•
Bucle while
•
Bucle do ... while
•
Sentencias break, return y continue
•
Bucles anidados
•
•
•
Ejercicios
Ejercicio 1. Ecuación de segundo grado Lo necesario para comenzar.
•
Datos a mostrar por consola.
•
•
Ejercicio 2. Sintaxis.
Lo necesario para comenzar.
•
•
Ejercicio 3. Clase Math.
Lo necesario para comenzar.
•
•
Ejercicio 4. Enteros.
Lo necesario para comenzar
•
Datos a mostrar por consola.
•
•
•
Objetivo
Entender qué es una variable.
•
Aprender a utilizar una variable, cómo declararla, inicializarla y modificar su valor.
•
Entender las estructuras básicas que se utilizan en programación.
•
3. Clase String. Introducción a los flujos
•
Clase String. Introducción a los flujos.
Objetivos.
•
Clase String.
Clase asociada Constructores
•
•
Métodos principales
•
•
Introducción a los flujos (streams)
Captura de datos desde el teclado
•
•
•
Ejercicios
Ejercicio 1. Clase String.
Recomendaciones.
•
Datos a mostrar por consola.
•
•
Ejercicio 2. Contar letras.
Datos a mostrar por consola.
•
•
Ejercicio 3. Contar letras II.
Datos a mostrar por consola.
•
•
Ejercicio 4. Comprobar NIF. (Ejercicio obligatorio) Pistas.
•
Recomendaciones.
•
Lo necesario para comenzar.
•
Datos a mostrar por consola
•
•
Ejercicio 5. Volúmenes.
Recomendaciones.
• Pistas.
•
Lo necesario para comenzar.
•
Datos a mostrar por consola.
•
•
Ejercicio 6. Adivinar número.
Recomendaciones.
•
Datos a mostrar por consola.
•
•
•
Objetivo
Conocer la clase java.lang.String perteneciente a Java.
•
Aprender a crear y utilizar una variable de tipo String.
•
Entender sus usos más normales.
•
Conocer los métodos más comunes del API java.lang.String.
•
4. Excepciones
•
Excepciones.
Objetivos.
•
Definición.
Causas de excepciones
•
•
Bloque try ... catch ... finally.
• try catch
•
Objeto Exception.
• finally
•
•
throws
Sintaxis.
•
•
Cómo tratar las excepciones.
Excepción no controlada.
•
Excepción controlada con el bloque try.
•
Controlar IOException con bloque try.
•
Combinar el uso de throws con try.
•
Uso del método printStackTrace().
•
•
•
Ejercicios
Ejercicio 1. Excepciones trabajando con números.
Recomendaciones.
•
Datos a mostrar por consola.
Por consola cuando se lanza la ArithmeticException
•
Por consola cuando se lanza la NumberFormatException
•
•
•
Ejercicio 2. Sumar números.
Recomendaciones.
•
Datos a mostrar por consola.
Si todo va bien
•
Si se introduce texto en lugar de números
•
•
Lo necesario para comenzar.
•
•
•
Objetivo
Conocer y entender el significado de las excepciones en Java.
•
Conocer las clases java.lang.Throwable y java.lang.Exception.
•
Conocer las clases de Excepción más comunes en Java.
•
Aprender el manejo de excepciones en Java.
•
5. Arrays
•
Arrays.
Objetivos.
•
Concepto de array.
•
Ejemplos.
Ejemplo 1. Operaciones típicas con arrays.
•
Ejemplo 2. Error de tamaño.
•
Ejemplo 3. Inicializar elementos.
•
•
•
Ejercicios
Ejercicio 1. Ordenar un array.
Datos a mostrar por consola
•
•
Ejercicio 2. Calcular el factorial.
Pistas.
•
Datos a mostrar por consola.
•
•
Ejercicio 3. Rellenar el código que falta.
Lo necesario para comenzar
•
Datos a mostrar por consola.
•
•
•
Objetivo
Conocer qué son los arrays.
•
Entender cómo se define y utiliza un array.
•
Conocer los métodos más comunes sobre los arrays.
•
Utilizar los arrays en sus diferentes variantes.
•
6. Constructores, herencia e interfaces
•
Constructores, herencia e interfaces Objetivo
•
Constructores.
Constructores de clase.
•
•
Destructores
•
Palabra reservada this
•
Sobrecarga de métodos
•
Sobrecarga de constructores
• Herencia
Notas básicas sobre herencia
•
•
Polimorfismo Instanceof
•
•
Palabra reservada super
•
Interfaces
•
Contenido de una interface
•
Implementación de interfaces en una clase
•
Creación de interfaces propias
•
Interfaces muy usadas que forman parte de la API
•
•
Ejercicios
Ejercicio 1. Línea de comandos Recomendaciones
•
Datos a mostrar por consola
•
•
Ejercicio 2. Constructor Pistas
•
Datos a mostrar por consola
•
•
Ejercicio 3. Instancias
Lo necesario para comenzar
•
Datos a mostrar por consola
•
•
Ejercicio 4. Instancias
Lo necesario para comenzar
•
•
Ejercicio 5. Herencia
Lo necesario para comenzar
•
•
•
Objetivo
Entender el uso de los constructores en Java.
•
Entender la herencia y el polimorfismo en Java.
•
7. Paquetes y modificadores de acceso
•
Paquetes y modificadores de acceso Objetivo
•
Paquetes
Características
•
Cómo utilizar paquetes
•
Visibilidad de los paquetes
•
Paquetes Estandard en Java Paquete virtual
•
•
•
Creación de paquetes propios
Ejemplos de uso de paquetes
•
•
•
Ejecución de clases de paquetes externos
•
Modificadores de acceso
•
Tipos de modificadores Ejemplos
•
•
Ejercicios
Ejercicio 1. Paquetes
Lo necesario para empezar
•
Recomendaciones
•
Datos a mostrar por consola
•
•
Ejercicio 2. Usar paquetes ya creados Lo que se necesita para comenzar
•
Recomendaciones
•
Datos a mostrar por consola:
•
•
•
Objetivo
Entender que son los paquetes en Java.
•
Aprender a manejar el concepto de paquete y a organizar las clases de un proyecto.
•
Conocer los modificadores de acceso y su utilidad.
•
Usar modificadores en aplicaciones Java.
•
8. Gestión de ficheros
•
Gestión de ficheros Objetivos
• Flujos
Tipos de flujos
•
Metodología de trabajo
•
Flujos de bytes
Flujo de lectura de bytes
•
•
Flujo de escritura de bytes Ejemplos
•
•
Flujos de caracteres
Flujo de lectura de caracteres
•
•
Flujo de escritura de caracteres
•
•
Clase File
•
•
Ejercicios
Ejercicio1. Leer un fichero Recomendaciones
•
Lo que se necesita para comenzar
•
Datos a mostrar por consola:
•
•
Ejercicio 2. Copiar ficheros Recomendaciones
•
Lo que se necesita para comenzar
•
Datos a mostrar por consola
•
•
Ejercicio 3. Creación, edición y borrado de ficheros.
Lo que se necesita para comenzar
•
Datos a mostrar por consola
•
•
Ejercicio 4. Manejo de ficheros Datos a mostrar por consola
•
•
Ejercicio 5. Manejo de carpetas Datos a mostrar por consola
•
•
•
Objetivo
Se va a estudiar, fundamentalmente, la metodología de trabajo para que un programa Java realice las siguientes operaciones:
Lectura de
datos almacenados en un fichero local.
♦
Escritura de datos en un fichero, que no tiene que existir a priori.
♦
•
9. Estructuras de datos. Paquete java.util
•
Estructuras de datos. Paquete java.util Objetivos
•
Clase StringBuffer
•
Clase StringTokenizer
•
Clase Vector
•
Clase Hashtable
•
•
Ejercicios
Ejercicio 1. StringBuffer
Datos a mostrar por consola:
•
•
Ejercicio 2. StringTokenizer
Datos a mostrar por consola:
•
•
Ejercicio 3. Vectores
Lo necesario para comenzar
•
Datos a mostrar por consola:
•
•
Ejercicio 4. Buscar ficheros
Lo necesario para comenzar
•
Recomendaciones
•
Datos a mostrar por consola:
•
•
Ejercicio 5. HashTable Recomendaciones
•
Datos a mostrar por consola:
•
•
Ejercicio 6. Contar palabras Recomendaciones
•
Datos a mostrar por consola
•
•
•
Objetivo
Entender la estructura de datos que Java utiliza.
•
Estudiar el paquete java.util y entender su uso.
•
10. Gestión del tiempo
•
Gestión del tiempo Objetivos
•
Gestión del tiempo en Java
•
Clases más utilizadas Clase Date
•
Formato de fechas
•
Clase DateFormat MÉTODOS
•
•
Clase Locale MÉTODOS
•
•
Clase SimpleDateFormat CONSTRUCTORES
•
MÉTODOS
•
•
Clase NumberFormat MÉTODOS
•
•
Clase GregorianCalendar CONSTRUCTORES
•
MÉTODOS
•
•
•
•
Ejercicios
Ejercicio 1. DateFormat Recomendaciones
•
Datos a mostrar por consola
•
•
Ejercicio 2. Formatos numéricos Datos a mostrar por consola
•
•
Ejercicio 3. GregorianCalendar Datos a mostrar por consola
•
•
Ejercicio 4. Cálculos con fechas.
Lo que se necesita para comenzar
•
Recomendaciones
•
Datos a mostrar por consola
•
•
•
Objetivo
Entender como se encarga Java de la gestión del tiempo.
•
Entender la clase Date del paquete java.util
•
Entender la clase Calendar del paquete java.util
•
Entender la clase GregorianCalendar del paquete java.util
•
Entender la clase TimeZone del paquete java.util
•
11. Threads
•
Threads
Objetivo
• Threads
•
Clase Thread
•
Creación de hilos
•
Ciclo de vida de un hilo
•
Sincronía de hilos
•
•
Ejercicios
Ejercicio 1. Gestión de hilos Recomendaciones
•
Lo que se necesita para comenzar
•
Datos a mostrar por consola
•
•
Ejercicio 2. Interface Runnable Datos a mostrar por consola
•
•
Ejercicio 3. Calcular fechas con hilos Recomendaciones
•
Lo que se necesita para comenzar
•
•
Ejercicio 4. Buscar insultos
Lo que se necesita para comenzar
•
•
•
Objetivo
Entender qué es un thread.
•
Crear y manejar threads
•
Entender y saber utilizar la clase java.lang.Thread
•
12. Interfaces gráficas de usuario (GUIs)
•
Interfaces gráficas de usuario (GUIs) Objetivos
•
Concepto de interface gráfica
•
Estructura AWT
•
Elementos de una GUI
•
Agregar componentes a un contenedor
•
Métodos de Component muy usados en el diseño de GUIs
•
Estudio de componentes Botones
• Etiquetas
•
Cuadros de texto
•
Áreas de texto
•
Casillas de verificación
•
Botones de opción (radio buttons)
•
Listas desplegables
•
Listas desplazables
•
•
Administradores de diseño FlowLayout
•
BorderLayout
•
GridLayout
•
•
Otros contenedores Paneles
•
Frames o ventanas
•
•
Canvas
• Menús
•
•
Ejercicios
Ejercicio 1. Crear una ventana con componentes (Ejercicio obligatorio) Recomendaciones
•
Datos a mostrar por consola
•
•
Ejercicio 2. Swing
Recomendaciones
•
Datos a mostrar por consola
•
•
•
Objetivo
Estudiar las clases fundamentales del paquete java.awt.
•
Estudiar las clases fundamentales del paquete java.swing.
•
13. Gestión de eventos
•
Gestión de eventos Objetivos
•
Qué es un evento
•
Tipos de eventos
Eventos de bajo nivel
•
Eventos de alto nivel
•
•
Gestión de eventos
Modelo de propagación de eventos
•
Modelo de delegación de eventos
OBJETOS GENERADORES DE EVENTOS
•
OBJETOS ASOCIADOS A LOS EVENTOS
•
CLASES RESPONDEDORAS
•
•
•
Metodología de gestión de eventos
•
Eventos de acción
•
Eventos de ventana
•
Clases adaptadoras
•
Eventos de ratón
•
Eventos de teclado
Métodos importantes de java.awt.event.KeyEvent:
• Ejemplos
•
•
•
Ejercicios
Ejercicio 1. Eventos de botón.
Recomendaciones
•
•
Ejercicio 2. Eventos de botón 2 Recomendaciones
•
Datos a mostrar por pantalla
•
Recomendaciones
•
•
Ejercicio 3. Juego de capitales Recomendaciones
•
•
Ejercicio 4. Virus maligno Recomendaciones
•
Datos a mostrar por pantalla
•
•
•
Objetivo
Entender cómo se encarga Java de gestionar los eventos que se producen.
•
Conocer los posibles tipos de eventos.
•
Conocer cómo manejar eventos en las aplicaciones.
•
14. Programación en red. Paquete java.net
•
Programación en red. Paquete java.net Objetivos
•
Programación en red
•
Arquitectura cliente-servidor
•
Tipos de protocolo
•
Identificación de un servidor
•
Clase URL
•
getInputStream y getOutputStream
•
Clases Socket y ServerSocket
•
Clase ServerSocket
•
Clase Socket
•
•
Ejercicios
Ejercicio. Crear un chat Recomendaciones
•
•
•
Objetivo
Las clases que van a estudiarse son URL, URLConnection, InetAddress, Socket y ServerSocket.
Antes de estudiar las clases del paquete se va a explicar, a grandes rasgos, el esquema de comunicación entre programas basado en la arquitectura cliente-servidor.
•