Agradecimientos
Sobre el autor
Cómo usar este libro
1. El lenguaje Java
¿Qué es el Java?
Historia del lenguaje Java
El papel del lenguaje Java en la informática del año 2014
El Java 8
La documentación del Java 2
La instalación del entorno de desarrollo NetBeans
Mi primera aplicación en el lenguaje Java
La compilación sin entorno de desarrollo
Recomendaciones generales para la realización de una buena programación
Resumen
2. Las variables en el lenguaje Java
Las variables en el lenguaje Java
Las variables primitivas en Java
Los datos simples ordinales o enteros en el lenguaje Java
Los datos simples reales en el lenguaje Java
Las variables boolean y char
Nombres de las variables
Literales numéricos
Ámbito de existencia de las variables
La clase String
Resumen
3. Operadores en el lenguaje Java
Los operadores y las expresiones en el lenguaje Java
Operadores aritméticos
Operadores de relación
Operadores lógicos
Operadores de asignación
Operador instanceof
Prioridad en la ejecución de los operadores
La documentación interna de un programa
Clases envolventes de las variables numéricas primitivas
Clases BigInteger y BigDecimal
Laboratorio de Java
Resumen
4. Control de flujo de un programa
Introducción al control de flujo en un programa de Java
Estructuras de control de flujo
Ejecución condicionada de una sentencia: if ... else
Control de flujo en bloques alternativos
La estructura de control de flujo if . else if
La estructura de control de flujo switch ... case
Los bloques repetitivos
Bloques repetitivos con contador; la estructura for
Recorrido de colecciones con la estructura for
Bloques repetitivos condicionados con la evaluación de la condición al
final del bloque: la sentencia do?while
Bloques repetitivos condicionados con la evaluación de la condición
al inicio del bloque: la estructura while
Sentencias break y continue
Laboratorio de Java; el año bisiesto
Enunciado
Enunciado
Laboratorio de Java; números primos menores de 25
Enunciado
Laboratorio de Java; números enteros entre 100 y 150 divisibles entre 3 y 7
Enunciado
Laboratorio de Java; tripletas de Pitágoras.
Enunciado
Resumen
5. Entradas y salidas a la consola del sistema
Escritura de datos en la consola del sistema
Lectura de los argumentos de la línea de comandos del sistema
Lectura de datos a través de la consola del sistema
Sistema de lectura de datos en la consola del sistema; clases InputStreamReader y BufferedReader
Sistema de lectura de datos en la consola del sistema; clase Scanner
Lectura de datos a través de la consola del sistema con validación
Laboratorio de Java; lados de un triángulo
Enunciado
Laboratorio de Java; calculadora elemental
Enunciado
Laboratorio de Java; factorial de un número
Enunciado
Resumen
6. Colecciones de longitud fija (Arrays)
Concepto de array
Declaración de arrays
Definición o construcción de arrays
Ejemplos de uso de arrays
Utilidades de la clase arrays
Laboratorio de Java; array de números enteros
Enunciado
Laboratorio de Java; array de números enteros segundo
Enunciado
Laboratorio de Java; suma de matrices
Enunciado
Enunciado
Laboratorio de java; multiplicación de matrices
Enunciado
Resumen
7. Clases y objetos del lenguaje Java
Los conceptos de clase y objeto
El operador this
Paquetes y clases
Clases de uso frecuente de Java
Tipos de Clases
Clases internas
Clases anidadas estáticas
Clases internas o clases miembro
Clases internas locales
Clase abstracta
Estructuras de datos enum
Laboratorio de Java; diseño de una clase
Enunciado
Laboratorio de Java; diseño de una clase, segundo
Enunciado
Resumen
8. Métodos y atributos
Los métodos y los atributos
Objetos como almacén de datos
Tipos de métodos según el retorno que genera
Paso de argumentos a métodos
Tipos de acceso a métodos y atributos
Métodos estáticos de la clase principal
Igualdad de referencia de objetos
Recursividad de los métodos
Laboratorio de Java; clases y métodos
Enunciado
Laboratorio de Java; métodos de verdadero falso
Enunciado
Laboratorio de Java; clase Vehículos
Enunciado
Laboratorio de Java; la clase Alimento
Enunciado
Resumen
9. Control de excepciones
Concepto de excepción
Captura de las excepciones
Cómo se procesan excepciones con try catch
Generación de excepciones; sentencia throw
Excepciones personalizaadas
Laboratorio de Java; repaso de capítulos anteriores
Enunciado
Laboratorio de Java; excepciones
Enunciado
Laboratorio de Java; excepciones 2
Enunciado
Laboratorio de Java; excepciones personalizadas.
Enunciado
Resumen
10. Entrada y salida a ficheros
Introducción a la escritura y lectura de ficheros
La gestión de ficheros y directorios; la clase File
Las clases Reader y Writer
Las clases InputStream y OutputStream
Ficheros de acceso directo o aleatorio
Serialización
Lectura de ficheros con los métodos de la clase Scanner
Laboratorio de Java; gestión de libros
Enunciado.
Laboratorio de Java; análisis de un fichero de texto
Enunciado
Laboratorio de Java; análisis de un directorio
Enunciado
Resumen
11. Hilos de ejecución
Concepto de proceso e hilo de ejecución
La clase Thread
Sincronización de hilos
Métodos wait y notify de la clase Object
Prioridades de ejecución de hilos
Ejecución de un proceso externo
Laboratorio de Java; el cronómetro
Enunciado
Resumen
12. La herencia en Java
Concepto de herencia
Métodos sobrecargados
Concepto de interface
Definición de una interface
Instrumentación de una interface
Interface simple
Interface complejo
Métodos por defecto en los interfaces
Expresiones lambda
Programación funcional en java
Resumen
13. Listas y pilas
El paquete java.util
Tipos genéricos
Listas y colecciones del paquete java.util
Clases de tipo interface para crear listas y colecciones del paquete java.util
La clase ArrayList
La clase Stream
La clase Vector
La clase Stack
La clase Hashtable
La clase HashSet
La clase LinkedList
La clase TreeMap
Resumen
14. Utilidades de fechas, matemáticas y otras
La clase LocalDate
La clase LocalTime
La clase LocalDateTime
La clase DateTimeFormatter
La clase Duration e Instant
La clase Date y GregorianCalendar
La clases DecimalFormat
La clase Math
La clase Random
La clase Cipher
La Clase StringTokenizer
Validar ficheros XML
Obtener la dirección MAC de un dispositivo de red
Enviar un correo electrónico (email) desde un programa Java
Resumen
15. Invocación de métodos remotos
Arquitectura distribuida
Aplicaciones con RMI
Aplicación servidora
Aplicación cliente
Resumen
16. Comunicación a través de sockets
Concepto de socket
Comunicaciones en Internet
La librería java.net
Investigación de una dirección IP
Enviar y recibir datos a través de un socket
Socket escuchador de conexiones
Conexión con una dirección de Internet URL
Resumen
17. Introducción a la interfaz gráfica
Introducción a la construcción de una interfaz gráfica
Una ventana elemental
Diseño de la interfaz gráfica del usuario
Métodos de la clase Component
Resumen
18. Eventos en componentes Swing
Componentes Swing de uso frecuente
Captura de eventos sobre componentes
Eventos de uso frecuente
Eventos sobre botones
Eventos del ratón
Eventos del menú
Eventos del teclado
Resumen
19. Ejemplos de interfaz gráfica (primera colección)
Aplicación típica con agrupación de componentes
Aplicación con separador entre dos paneles
Aplicación con dialogo de selección de fichero
Aplicación con explorador de Internet
Laboratorio de Java; validar ficheros XML
Enunciado
Resumen
20. Ejemplos de interfaz gráfica (segunda colección)
Aplicación con ventanas de mensajes
Visualizador de imágenes
Transformación de coordenadas en componentes
Laboratorio de Java
Enunciado
Resumen
21. Ejemplos de interfaz gráfica (tercera colección)
Casillas de verificación
Listas desplegables y cuadros de listas
Las clases Canvas y Graphics
Distribución de componentes por diseños predefinidos
Resumen
22. Interfaz gráfico con JavaFX
Lenguaje JavaFX
Patrón de diseño Modelo-Vista-Controlador con JavaFX
Construyendo la primera aplicación JavaFX
Aplicaciones de demostración de JavaFX
Resumen
23. Acceso a bases de datos
Acceso a bases de datos
Ejemplo de acceso a la base de datos Access
Acceder a la base de datos MySQL
Formulario para mostrar una consulta SQL
Acceso a la base de datos desde un servicio web
Resumen
24. Los servlets
Concepto de servlet
Un servlet simple
Servlets cómo respaldo de un formulario HTML
Resumen
25. Las páginas JSP
Concepto de página JSP
Uso de páginas JSP en respuesta a peticiones de formularios HTML
Resumen
26. Componentes JavaBeans
Los componentes JavaBeans
Primer ejemplo de un JavaBean
Uso del componente Semáforo en una aplicación
Segundo ejemplo de un JavaBean
Componente JavaBean con secuenciador de tareas TimerTask
Resumen
Índice alfabético
Java es un lenguaje de programación orientado a objetos multiplataforma en constante evolución. La versión 8 introduce un nuevo paradigma en la construcción de programas con la programación funcional y las expresiones lambda, además de la nueva tecnología denominada JavaFX, que posibilita la total separación entre el interfaz del usuario y la lógica de la aplicación; permitiendo un diseño del interfaz con herramientas de dibujo interactivo.
Este manual de Java 8 es ideal para el aprendizaje de la programación.
Puede usarlo como complemento para el estudio de las asignaturas relacionadas con los fundamentos, técnicas de programación, estructura de datos, entre otras. También para los apuntes de clase y los laboratorios de programación. No es necesario tener conocimientos previos en programación, aunque también se introduzca en temas más complejos.
Incluye, entre otros temas, la gestión de ficheros de texto y listas, el acceso remoto a objetos, comunicación por sockets y la encriptación.
También técnicas de programación avanzada con componentes JavaBeans, RMI, JSP y servlets.
Estructurado en 26 capítulos este libro contiene doscientos setenta y dos ficheros de programas en Java que podrá descargar de la Web de Anaya Multimedia. Las clases y métodos utilizados en los ejercicios están explicados en el texto y las tablas.
ÍNDICE DE CONTENIDOS
? El lenguaje Java, introducción a la interfaz gráfica
? Tipos de variables, clases y objetos
? Operadores aritméticos, relación y lógicos
? Control de flujo de trabajo y excepciones
? Entradas y salidas a la consola del sistema
? Colecciones de longitud fija (Arrays)
? Invocación de métodos remotos
? Introducción a la interfaz gráfica
? Clases y objetos del lenguaje Java
? Entrada y salida de ficheros
? Utilidades de fechas, matemáticas, listas y pilas