Tabla de contenidos......Page 3 Sobre este libro......Page 8 Sobre el autor......Page 9 Málaga (España)......Page 10 Tegucigalpa (Honduras)......Page 11 El libro original......Page 12 Introducción......Page 13 OpenJDK......Page 14 Geany......Page 15 Visual Studio Code......Page 17 Netbeans......Page 18 ¡Hola mundo! - Mi primer programa......Page 20 Coloreado de texto......Page 23 Sangría......Page 25 Caracteres especiales......Page 26 Salida formateada......Page 27 Ejercicios......Page 30 Definición y tipos de variables......Page 33 Enteros (int y long)......Page 34 Cadenas de caracteres (String)......Page 35 Caracteres (char)......Page 36 Operadores artiméticos......Page 38 Asignación de valores a variables......Page 39 Conversión de tipos (casting)......Page 40 Ejercicios......Page 42 Lectura de texto......Page 44 Lectura de números......Page 45 La clase Scanner......Page 46 Ejercicios......Page 49 Sentencia if......Page 51 Operadores de comparación......Page 54 Operadores lógicos......Page 55 Sentencia switch (selección múltiple)......Page 57 Ejercicios......Page 61 Bucle for......Page 73 Bucle while......Page 74 Bucle do-while......Page 76 Ejercicios......Page 78 Generación de números aleatorios con y sin decimales......Page 109 Generación de palabras de forma aleatoria de un conjunto dado......Page 113 Ejercicios......Page 115 Arrays de una dimensión......Page 128 Arrays bidimensionales......Page 133 Recorrer arrays con for al estilo foreach......Page 137 Arrays de una dimensión......Page 139 Arrays bidimensionales......Page 150 Implementando funciones para reutilizar código......Page 154 Comentarios de funciones......Page 156 Creación de bibliotecas de rutinas mediante paquetes......Page 157 Paso de parámetros por valor y por referencia......Page 161 Ejercicios......Page 166 Clases y objetos......Page 180 Encapsulamiento y ocultación......Page 181 Creí haber visto un lindo gatito......Page 182 Métodos getter y setter......Page 186 Método toString......Page 189 Ámbito/visibilidad de los elementos de una clase - public, protected y private......Page 192 Herencia......Page 194 Sobrecarga de métodos......Page 198 Atributos y métodos de clase (static)......Page 200 Interfaces......Page 202 Arrays de objetos......Page 207 Conceptos de POO......Page 212 POO en Java......Page 213 Arrays de objetos......Page 224 Principales métodos de ArrayList......Page 227 Definición de un ArrayList e inserción, borrado y modificación de sus elementos......Page 229 ArrayList de objetos......Page 236 Ordenación de un ArrayList......Page 237 Principales métodos de HashMap......Page 241 Definición de un HashMap e inserción, borrado y modificación de entradas......Page 242 Ejercicios......Page 247 Ficheros de texto y paso de parámetros por línea de comandos......Page 258 Lectura de un fichero de texto......Page 259 Escritura sobre un fichero de texto......Page 262 Lectura y escritura combinadas......Page 263 Otras operaciones sobre ficheros......Page 265 Paso de argumentos por línea de comandos......Page 266 Combinación de ficheros y paso de argumentos......Page 269 Procesamiento de archivos de texto......Page 270 Ejercicios......Page 275 Hola Mundo en JSP......Page 277 Mezclando Java con HTML......Page 279 Recogida de datos en JSP......Page 283 POO en JSP......Page 287 Ejercicios......Page 292 Socios de un club de baloncesto......Page 302 Activar la conexión a MySQL......Page 305 Listado de socios......Page 307 Alta......Page 310 Borrado......Page 312 CRUD completo con Bootstrap......Page 315 Ejercicios......Page 317 Errores en tiempo de compilación y en tiempo de ejecución......Page 323 El bloque try - catch - finally......Page 325 Control de varios tipos de excepciones......Page 328 Lanzamiento de excepciones con throw......Page 332 Declaración de un método con throws......Page 335 Creación de excepciones propias......Page 336 Recomendaciones sobre el tratamiento de excepciones......Page 339 Ejercicios......Page 340 Principales métodos para el manejo de sesiones......Page 341 Asignación y recuperación de objetos de una sesión......Page 343 Comprobación de sesión nueva......Page 347 Objetos complejos dentro de una sesión......Page 348 Login y control de usuarios......Page 351 Encriptación de contraseñas......Page 358 Creación de cookies......Page 361 Ruta y caducidad de una cookie......Page 366 Cómo obtener todas las cookies......Page 367 Cómo obtener una cookie concreta......Page 368 Objetos complejos dentro de una cookie......Page 369 Sesiones......Page 374 Cookies......Page 376 Apéndice A. Ejercicios de ampliación......Page 377 Descarga e instalación.......Page 380 Configuración......Page 381 Creación de un proyecto......Page 382 Depuración......Page 385 Números en círculos......Page 388 Miscelánea......Page 389 Caracteres Unicode......Page 390 Apéndice E. Soluciones a los ejercicios......Page 391 ¡Hola mundo! - Salida de datos por pantalla......Page 392 Variables......Page 398 Lectura de datos desde teclado......Page 403 Sentencia condicional (if y switch)......Page 411 Bucles......Page 448 Números aleatorios......Page 520 Arrays de una dimensión......Page 561 Arrays bidimensionales......Page 591 Funciones......Page 615 Conceptos de POO......Page 667 POO en Java......Page 669 Arrays de objetos......Page 709 Colecciones y diccionarios......Page 735 Ficheros de texto y paso de parámetros por línea de comandos......Page 785 Aplicaciones web en Java (JSP)......Page 793 Acceso a bases de datos......Page 846 Control de excepciones......Page 903 Sesiones......Page 906 Cookies......Page 913