Programación. 2ª Edición (CFGS)

Edición 2025

Este libro es una guía completa, progresiva y práctica para aprender a programar utilizando Java, uno de los lenguajes más versátiles y demandados del mundo. Concebido como material de referencia para el Módulo Profesional de Programación del Ciclo Formativo de Grado Superior en Desarrollo de Aplicaciones Multimedia y Desarrollo de Aplicaciones Web, también resulta ideal para estudiantes de otros niveles formativos y profesionales que deseen consolidar o actualizar sus conocimientos.

A lo largo de diez unidades, el lector encontrará un enfoque didáctico que combina teoría clara con
una amplia variedad de ejemplos resueltos, actividades guiadas y ejercicios prácticos, lo que facilita la
asimilación progresiva de los contenidos.

Entre los temas tratados destacan:
• Los fundamentos de Java y su sintaxis.
• Tipos de datos, operadores, estructuras de control, arrays y colecciones.
• Programación orientada a objetos: clases, herencia, encapsulación y polimorfismo.
• Desarrollo de interfaces gráficas con Swing y JavaFX.
• Gestión de eventos, creación de interfaces de usuario y trabajo con archivos.
• Acceso a bases de datos mediante JDBC y consultas SQL.
• Propuestas de ampliación y desafíos finales para reforzar y extender el aprendizaje.

Gracias a su estilo accesible, su orientación práctica y su estructura clara y gradual, esta obra se
convierte en una herramienta imprescindible para quienes buscan dominar la programación con Java
de forma sólida, estructurada y orientada a aplicaciones reales.

? Disponible también la obra complementaria con la guía didáctica y las soluciones a todos los
ejercicios propuestos, publicada bajo el ISBN 9791387764692. Ideal para docentes, formadores y
estudiantes autodidactas que deseen profundizar en su proceso de aprendizaje.

Escritor
Colección
Ciclos Formativos
Materia
Programación orientada a objetos (POO)
Idioma
  • Castellano
EAN
9791387764685
ISBN
979-13-87764-68-5
Depósito legal
M-15027-2025
Ancho
20 cm
Alto
24,5 cm
Edición
1

Disponibilidad

Novedad. Próxima publicación
También disponible en

Índice de contenido

CAPÍTULO 1. PRIMEROS PASOS EN JAVA. INSTALACIÓN DE UN IDE
1.1 PROGRAMA Y LENGUAJES DE PROGRAMACIÓN
1.1.1 El lenguaje Java
1.1.2 Mecanismo de creación de un programa en Java
1.1.3 El JDK
1.1.4 Los programas en Java
1.2 ESTRUCTURA Y BLOQUES FUNDAMENTALES DE UN PROGRAMA
1.3 ENTORNOS INTEGRADOS DE DESARROLLO
1.4 TIPOS DE DATOS SIMPLES
1.4.1 ¿Cómo se utilizan los tipos de datos?
1.5 CONSTANTES Y LITERALES
1.5.1 Constantes
1.5.2 Literales
1.6 VARIABLES
1.6.1 Visibilidad y vida de las variables
1.6.2 Modificaciones de variables
1.7 OPERADORES Y EXPRESIONES
1.7.1 Operadores aritméticos
1.7.2 Operadores relacionales
1.7.3 Operadores lógicos
1.7.4 Operadores unitarios o unarios
1.7.5 Operadores de bits
1.7.6 Operadores de asignación
1.7.7 Precedencia de operadores
1.8 CONVERSIONES DE TIPO (CAST)
1.9 ACTIVIDAD GUIADA: INSTALACIÓN DEL ENTORNO DE DESARROLLO: INTELLIJ IDEA
1.9.1 Instalación de Java
1.9.2 Intellij IDEA
1.9.3 SceneBuilder
1.9.4 Cómo crear un archivo JAR
1.9.5 Instalación en Lliurex
1.10 EJERCICIOS RESUELTOS
1.10.1 Ejercicios propuestos
CAPÍTULO 2. ESTRUCTURAS DE CONTROL
2.1 INTRODUCCIÓN
2.2 ENTRADA DE INFORMACIÓN
2.2.1 La clase Scanner
2.2.2 La clase BufferedReader
2.2.3 La clase JOptionPane
2.3 ESTRUCTURAS BASICAS DE CONTROL
2.4 ESTRUCTURAS DE SELECCIÓN
2.4.1 Estructuras if
2.4.2 Switch
2.5 ESTRUCTURAS DE REPETICIÓN
2.5.1 Bucle while
2.5.2 Bucle do ... while
2.5.3 Bucle for
2.6 ESTRUCTURAS DE SALTO
2.6.1 Sentencias break y continue
2.6.2 Sentencias break y continue con etiquetas
2.6.3 Sentencia return
2.7 CONTROL DE EXCEPCIONES
2.8 PRUEBA Y DEPURACIÓN DE APLICACIONES
2.8.1 Fallos del software
2.9 DOCUMENTACIÓN DE PROGRAMAS
2.10 EJEMPLOS E/S
2.11 EJEMPLOS COMPLETOS
2.11.1 Recursos adicionales
2.11.2 Ejercicios resueltos
2.11.3 Ejercicios propuestos
CAPÍTULO 3. ESTRUCTURAS DE DATOS ESTÁTICAS: ARRAYS, STRINGS
3.1 ¿QUÉ ES UN ARRAY EN JAVA?
3.2 ARRAYS UNIDIMENSIONALES
3.3 ARRAYS MULTIDIMENSIONALES O MATRICES
3.3.1 Particularidad Java
3.4 LA CLASE ARRAYS
3.5 CADENAS DE CARACTERES. LA CLASE STRING
3.5.1 Métodos de la clase String
3.6 LA CLASE STRINGTOKENIZER
3.7 LA CLASE HASHMAP
3.8 BÚSQUEDA BINARIA O DICOTÓMICA EN VECTORES ORDENADOS
3.9 ORDENACIÓN DE VECTORES
3.9.1 Ordenación por método de la burbuja
3.10 EJERCICIOS RESUELTOS
3.11 EJERCICIOS PROPUESTOS
3.12 ACTIVIDADES DE AMPLIACIÓN. ISA DESAFÍA
CAPÍTULO 4. MÉTODOS Y FUNCIONES. RECURSIVIDAD
4.1 INTRODUCCIÓN A MÉTODOS Y FUNCIONES. MODULARIDAD
4.1.1 Características deseables para un módulo
4.2 CREAR UN MÉTODO O FUNCIÓN EN JAVA
4.3 ACERCA DE LOS ARGUMENTOS O PARÁMETROS
4.4 PASO DE PARÁMETROS: POR VALOR Y POR REFERENCIA
4.5 VARIABLES LOCALES Y VARIABLES GLOBALES
4.6 CREACIÓN DE BIBLIOTECAS DE RUTINAS MEDIANTE PAQUETES
4.7 RECURSIVIDAD
4.8 EJERCICIOS RESUELTOS
4.9 EJERCICIOS PROPUESTOS
4.10 ACTIVIDADES DE AMPLIACIÓN. ISA DESAFÍA
CAPÍTULO 5. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
5.1 INTRODUCCIÓN
5.2 CLASES Y OBJETOS
5.2.1 Referencia al objeto this
5.2.2 Miembros de una clase
5.2.3 Métodos de una clase
5.2.4 Constructores
5.2.5 Asignación de objetos
5.2.6 Constructor copia
5.2.7 La clase Object
5.2.8 Comentarios de documentación
5.3 USO DE MÉTODOS ESTÁTICOS Y DINÁMICOS
5.3.1 Miembros estáticos de una clase / miembros de clase
5.3.2 Métodos de instancia y de clase
5.3.3 Métodos de instancia
5.3.4 Métodos estáticos o métodos de clase
5.4 LIBRERÍAS DE OBJETOS (PAQUETES)
5.4.1 Definiendo un paquete
5.4.2 Encontrar paquetes y CLASSPATH
5.4.3 Nivel de acceso para paquetes
5.4.4 Comprendiendo los miembros protegidos
5.5 LA BIBLIOTECA DE CLASES JAVA ESTÁ CONTENIDA EN PAQUETES
5.6 EJERCICIOS RESUELTOS
5.7 EJERCICIOS PROPUESTOS
5.8 ACTIVIDADES DE AMPLIACIÓN. ISA DESAFÍA
CAPÍTULO 6. ESTRUCTURAS DINÁMICAS DE DATOS: LISTAS, PILAS, COLAS. COLECCIONES
6.1 INTRODUCCIÓN
6.2 LISTAS
6.2.1 Inserta un nuevo elemento en la cabeza de la lista
6.2.2 Insertar entre dos nodos de la lista
6.2.3 Búsqueda en listas enlazadas
6.3 PILAS
6.3.1 Operaciones de la pila
6.4 COLAS
6.5 COLECCIONES DE DATOS
6.5.1 List y ArrayList
6.6 CLASES WRAPPERS
6.6.1 Crear objetos Wrapper
6.7 EJERCICIOS RESUELTOS
6.8 EJERCICIOS PROPUESTOS
6.9 ACTIVIDADES DE AMPLIACIÓN: ISA DESAFÍA
CAPÍTULO 7. HERENCIA, POLIMORFISMOS, CLASES ABSTRACTAS
7.1 INTRODUCCIÓN
7.2 HERENCIA
7.2.1 ¿Qué es Herencia?
7.2.2 Ejemplo de cómo usar la herencia en Java
7.2.3 Control de Acceso a Miembros en Herencia
7.2.4 Constructores y herencia
7.2.5 Acceso a métodos de la superclase
7.2.6 Tipos de herencia en Java
7.2.7 Datos importantes acerca de la herencia en Java
7.2.8 ¿Qué se puede hacer en una Subclase?
7.3 CLASES Y MÉTODOS ABSTRACTOS
7.3.1 Clases y métodos abstractos
7.4 ENCAPSULACIÓN Y VISIBILIDAD. INTERFACES
7.5 POLIMORFISMO
7.6 SOBREESCRITURA DE MÉTODOS (OVERRIDING)
7.7 SOBRECARGA DE MÉTODOS (OVERLOADING)
7.8 CONVERSIONES ENTRE OBJETOS (CASTING)
7.9 CLASES ANIDADAS
7.10 CLASES ANÓNIMAS
7.11 OPERADOR BINARIO INSTANCEOF
7.12 EXPRESIONES LAMBDA
7.13 EJERCICIOS RESUELTOS
7.14 EJERCICIOS PROPUESTOS
7.15 ACTIVIDADES DE AMPLIACIÓN: ISA DESAFÍA
CAPÍTULO 8. FICHEROS. SERIALIZACIÓN. INTRODUCCIÓN A LAS INTERFACES
8.1 FLUJOS DE DATOS. E/S CON FLUJOS
8.1.1 Flujos estándar
8.1.2 Utilización de los flujos
8.2 CLASIFICACIÓN DE LOS FLUJOS
8.3 CLASES RELATIVAS A FLUJOS
8.3.1 Los InputStream
8.3.2 Los Reader
8.3.3 La clase BufferedReader
8.4 COMBINACIÓN DE FLUJOS
8.5 FICHEROS DE DATOS
8.5.1 Lectura y escritura secuencial en un archivo
8.5.2 La clase File
8.5.3 La clase FileWriter y FileReader
8.5.4 Flujos de datos DataOutputStream y DataInputStream.
8.6 ALMACENAMIENTO DE OBJETOS EN FICHEROS. PERSISTENCIA. SERIALIZACIÓN
8.7 TRATAMIENTO DE ARCHIVOS XML A TRAVÉS DEL API DOM
8.7.1 Escritura archivo XML
8.7.2 Lectura de un archivo XML
8.8 INTRODUCCIÓN A LAS INTERFACES DE USUARIO
8.8.1 Nuestra primera aplicación con Swing
8.8.2 Los componentes Swing
8.8.3 Los contenedores Swing
8.8.4 Organización de los controles de un contenedor
8.8.5 Apariencia de las ventanas
8.8.6 La clase JFileChooser
8.9 CONCEPTO DE EVENTO Y CONTROLADORES DE EVENTO
8.10 GENERACIÓN DE PROGRAMAS EN ENTORNOS GRÁFICOS BÁSICOS
8.11 EJERCICIOS RESUELTOS
8.12 EJERCICIOS PROPUESTOS
8.13 ACTIVIDADES DE REFUERZO
8.14 ACTIVIDADES DE AMPLIACIÓN: ISA DESAFÍA
CAPÍTULO 9. INTERFAZ DE USUARIO: JAVAFX, SCENEBUILDER. INTRODUCCIÓN AL MVC
9.1 INTRODUCCIÓN
9.1.1 Modelo vista controlador (MVC)
9.2 CREAR UN PROYECTO JAVAFX NUEVO
9.2.1 La clase Stage
9.2.2 La clase Scene
9.3 EJECUTAR SCENEBUILDER DESDE INTELLIJ
9.4 CONTROLES BÁSICOS JAVAFX
9.4.1 Label y Button
9.4.2 TextField y TextArea
9.4.3 RadioButton
9.4.4 Checkbox
9.4.5 Listas
9.4.6 Menus
9.4.7 Tables
9.4.8 DatePicker
9.5 CONTENEDORES JAVAFX
9.6 EJERCICIOS RESUELTOS
9.7 EJERCICIOS PROPUESTOS
9.8 EJERCICIO AMPLIACIÓN
9.9 ACTIVIDADES DE REFUERZO/ AMPLIACIÓN
CAPÍTULO 10. BASES DE DATOS RELACIONALES. NOCIONES DE BDOO
10.1 INTRODUCCIÓN
10.2 BASES DE DATOS EMBEBIDAS
10.3 PROTOCOLOS DE ACCESO A BASES DE DATOS
10.4 LA ARQUITECTURA JDBC. ACCESO A DATOS
10.4.1 Dos modelos de acceso a bases de datos
10.4.2 Tipos de drivers
10.4.3 Cómo funciona JDBC
10.5 QUÉ SE NECESITA PARA TRABAJAR CON BD Y JDBC
10.6 CONEXIONES CON BASES DE DATOS.
10.7 HERRAMIENTAS DE BASE DE DATOS EN INTELLIJ
10.7.1 Crear un Datasource
10.7.2 Ejecutar consultas desde el BD Navigator
10.8 GESTIÓN DE ERRORES. MANEJANDO SQLEXCEPTIONS
10.9 LA CLASE STATEMENT
10.10 CREACIÓN DE TABLAS CON JDBC
10.11 CARGA DE TABLAS CON JDBC
10.12 RECUPERAR INFORMACIÓN DE LA BASE DE DATOS
10.13 LA INTERFAZ RESULTSET
10.14 LOS CURSORES
10.14.1 Modificación y actualización de la base de datos
10.15 BASES DE DATOS ORIENTADAS A OBJETOS
10.15.1 Bases de Datos Orientadas a Objetos comerciales
10.16 CARACTERÍSTICAS DE BASES DE DATOS ORIENTADAS A OBJETOS
10.17 INSTALACIÓN DEL SGBD
10.18 LA API (APLICATION PROGRAM INTERFACE)
10.19 OPERACIONES BÁSICAS CON LA BASE DE DATOS
10.19.1 Crear/Acceder a la base de datos
10.19.2 Almacenar objetos en la base de datos.
10.19.3 Recuperar objetos en la base de datos
10.20 CONSULTANDO LA BASE DE DATOS
10.21 EJERCICIOS RESUELTOS
10.22 EJERCICIOS PROPUESTOS
10.23 ACTIVIDADES DE AMPLIACIÓN. ISA DESAFÍA

Libros relacionados