CONTENIDO

 

PRÓLOGO..... XV

CAPÍTULO 1. FASES EN EL DESARROLLO DE UN PROGRAMA..... 1

QUÉ ES UN PROGRAMA..... 1

QUÉ ES JAVA..... 2

REALIZACIÓN DE UN PROGRAMA EN JAVA..... 2

Cómo crear un programa... 4

Interfaz de línea de órdenes.. 4

¿Qué hace este programa?... 5

Guardar el programa escrito en el disco... 6

Compilar y ejecutar el programa... 6

Biblioteca de clases.. 8

Guardar el programa ejecutable en el disco... 8

Depurar un programa... 9

Entorno de desarrollo integrado... 9

EJERCICIOS RESUELTOS... 9

EJERCICIOS PROPUESTOS... 11

 

CAPÍTULO 2. FUNDAMENTOS DE JAVA..... 13

DECLARACIÓN DE UNA VARIABLE.... 13

ASIGNAR VALORES... 16

AÑADIR COMENTARIOS... 17

MOSTRAR DATOS POR LA PANTALLA..... 18

EXPRESIONES ARITMÉTICAS... 19

EXPRESIONES CONDICIONALES... 21

ESCRIBIR NUESTROS PROPIOS MÉTODOS... 23

EJERCICIOS PROPUESTOS... 25

 

CAPÍTULO 3. PROGRAMACIÓN ORIENTADA A OBJETOS... 27

PENSAR EN OBJETOS... 28

Clases y objetos.. 28

Mensajes y métodos.. 29

DISEÑO DE UNA CLASE DE OBJETOS... 30

CONSTRUCTORES... 37

HERENCIA..... 40

EJERCICIOS RESUELTOS... 47

EJERCICIOS PROPUESTOS... 52

 

CAPÍTULO 4. ELEMENTOS DEL LENGUAJE.... 53

CARACTERES DE JAVA..... 53

TIPOS DE DATOS... 54

LITERALES... 55

Literales enteros.. 55

Literales reales.. 56

Literales de un solo carácter.. 57

Literales de cadenas de caracteres.. 57

IDENTIFICADORES... 58

PALABRAS CLAVE.... 58

DECLARACIÓN DE CONSTANTES SIMBÓLICAS... 59

¿Por qué utilizar constantes?... 60

VARIABLES... 60

CONVERSIÓN ENTRE TIPOS DE DATOS... 62

OPERADORES... 63

Operadores lógicos.. 63

Operadores unitarios.. 64

Operadores a nivel de bits.. 64

Operadores de asignación... 65

Operador condicional. 67

PRIORIDAD Y ORDEN DE EVALUACIÓN..... 68

EJERCICIOS RESUELTOS... 69

EJERCICIOS PROPUESTOS... 71

 

CAPÍTULO 5. ESTRUCTURA DE UN PROGRAMA.... 73

ESTRUCTURA DE UN PROGRAMA JAVA..... 73

Paquetes y protección de clases.. 77

Protección de una clase... 78

Sentencia import. 78

Definiciones y declaraciones.. 80

Sentencia simple... 80

Sentencia compuesta o bloque... 81

Métodos.. 81

Definición de un método... 81

Método main... 82

Crear objetos de una clase... 82

Cómo acceder a los miembros de un objeto... 83

Protección de los miembros de una clase... 84

Miembro de un objeto o de una clase... 86

Referencias a objetos.. 88

Pasando argumentos a los métodos.. 92

EJERCICIOS RESUELTOS... 93

EJERCICIOS PROPUESTOS... 94

 

CAPÍTULO 6. CLASES DE USO COMÚN..... 95

ENTRADA Y SALIDA..... 95

Flujos de entrada... 97

Flujos de salida... 98

Excepciones.. 98

Flujos estándar de E/S... 100

BufferedInputStream..... 101

BufferedReader.. 101

PrintStream..... 103

Trabajar con tipos de datos primitivos.. 105

Clases que encapsulan los tipos primitivos.. 106

Clase Leer.. 109

¿DÓNDE SE UBICAN LAS CLASES QUE DAN SOPORTE?... 112

Variable CLASSPATH..... 112

CARÁCTER FIN DE FICHERO..... 113

CARACTERES \r\n... 115

ALTERNATIVA A LOS FLUJOS DE E/S... 116

Entrada de datos.. 117

Salida con formato... 118

MÉTODOS MATEMÁTICOS... 119

EJERCICIOS RESUELTOS... 120

EJERCICIOS PROPUESTOS... 124

 

CAPÍTULO 7. SENTENCIAS DE CONTROL.... 127

SENTENCIA if.. 127

ANIDAMIENTO DE SENTENCIAS if.. 130

ESTRUCTURA else if.. 132

SENTENCIA switch... 134

SENTENCIA while... 138

Bucles anidados.. 141

SENTENCIA do ... while... 143

SENTENCIA for.. 146

SENTENCIA break... 150

SENTENCIA continue... 150

SENTENCIAS try ... catch... 151

EJERCICIOS RESUELTOS... 153

EJERCICIOS PROPUESTOS... 158

 

CAPÍTULO 8. MATRICES... 161

INTRODUCCIÓN A LAS MATRICES... 162

MATRICES NUMÉRICAS UNIDIMENSIONALES... 163

Declarar una matriz.. 163

Crear una matriz.. 164

Iniciar una matriz.. 165

Acceder a los elementos de una matriz.. 165

Métodos de una matriz.. 166

Trabajar con matrices unidimensionales.. 167

CADENAS DE CARACTERES... 170

Clase String... 172

String(String valor).. 172

String toString().. 173

String concat(String str).. 173

int compareTo(String otroString).. 173

int length().. 175

String toLowerCase().. 175

String toUpperCase().. 175

String trim().. 175

boolean startsWith(String prefijo).. 175

boolean endsWith(String sufijo).. 175

String substring(int IndiceInicial, int IndiceFinal) 176

char charAt(int índice).. 176

int indexOf(int car).. 176

int indexOf(String str).. 176

String replace(char car, char nuevoCar).. 176

static String valueOf(tipo dato).. 177

char[] toCharArray().. 177

byte[] getBytes().. 177

Clase StringBuffer.. 177

StringBuffer([arg]).. 177

int length().. 178

int capacity().. 178

StringBuffer append(tipo x).. 178

StringBuffer insert(int índice, tipo x).. 178

StringBuffer delete(int p1, int p2).. 179

StringBuffer replace(int p1, int p2, String str).. 179

StringBuffer reverse().. 179

String substring(int IndiceInicial, int IndiceFinal).. 180

char charAt(int índice).. 180

void setCharAt(int índice, char car).. 180

String toString().. 180

Trabajar con cadenas de caracteres.. 180

MATRICES DE REFERENCIAS A OBJETOS... 183

Matrices numéricas multidimensionales.. 184

Matrices de cadenas de caracteres.. 188

Matrices de objetos String... 190

EJERCICIOS RESUELTOS... 193

EJERCICIOS PROPUESTOS... 198

 

CAPÍTULO 9. MÉTODOS... 201

PASAR UNA MATRIZ COMO ARGUMENTO A UN MÉTODO..... 201

MÉTODO QUE RETORNA UNA MATRIZ.... 203

REFERENCIA DE UN TIPO PRIMITIVO..... 205

ARGUMENTOS EN LA LÍNEA DE ÓRDENES... 207

MÉTODOS RECURSIVOS... 210

MÉTODOS SOBRECARGADOS... 211

NÚMERO VARIABLE DE PARÁMETROS... 213

VISUALIZAR DATOS CON FORMATO..... 215

LA CLASE Arrays.. 218

binarySearch... 218

equals.. 218

fill. 219

sort. 219

COLECCIONES... 220

EJERCICIOS RESUELTOS... 221

EJERCICIOS PROPUESTOS... 225

 

CAPÍTULO 10. TRABAJAR CON FICHEROS... 229

VISIÓN GENERAL DE LOS FLUJOS DE E/S... 231

ABRIENDO FICHEROS PARA ACCESO SECUENCIAL.... 231

Flujos de bytes.. 232

FileOutputStream..... 232

FileInputStream..... 235

Clase File... 237

Flujos de datos de tipos primitivos.. 240

DataOutputStream..... 240

DataInputStream..... 241

Un ejemplo de acceso secuencial. 243

Escribir en un fichero... 243

Más sobre excepciones.. 246

Leer de un fichero... 247

ABRIENDO FICHEROS PARA ACCESO ALEATORIO..... 249

La clase RandomAccessFile... 250

La clase CPersona... 252

La clase CListaTfnos.. 254

Constructor CListaTfnos.. 254

Escribir un registro en el fichero... 256

Añadir un registro al final del fichero... 257

Leer un registro del fichero... 258

Eliminar un registro del fichero... 258

¿Hay registros marcados para eliminar?... 259

Buscar un registro en el fichero... 259

Un ejemplo de acceso aleatorio a un fichero... 260

Modificar un registro... 263

Actualizar el fichero... 265

UTILIZACIÓN DE DISPOSITIVOS ESTÁNDAR.... 266

EJERCICIOS RESUELTOS... 267

EJERCICIOS PROPUESTOS... 273

 

CAPÍTULO 11. INTERFACES GRÁFICAS... 277

FORMULARIOS... 279

BIBLIOTECA JFC.... 281

DISEÑO DE UNA APLICACIÓN CON INTERFAZ GRÁFICA..... 282

Contenedores.. 283

Ejecutar la aplicación... 286

Editar el código fuente... 286

Añadir los componentes al contenedor.. 287

Dibujar los componentes.. 289

Asignar un administrador de diseño... 290

Añadir una etiqueta y editar sus propiedades.. 291

Redimensionamiento automático... 292

Añadir un botón y editar sus propiedades.. 292

Asignar manejadores de eventos a un objeto... 293

Eliminar un método añadido por el asistente... 296

Añadir otro código... 296

Compilar la aplicación... 297

Depurar la aplicación... 298

Administradores de diseño nulo y absoluto... 300

AÑADIR OTROS CONTROLES... 301

Dibujar los controles.. 302

Escribir los controladores de eventos.. 304

Añadir una barra de menús.. 307

AÑADIR OTROS FORMULARIOS A LA APLICACIÓN..... 309

Mostrar ventanas de diálogo... 310

EJERCICIOS RESUELTOS... 311

EJERCICIOS PROPUESTOS... 315

 

CAPÍTULO 12. APLICACIONES WEB..... 317

APLICACIÓN WEB.... 317

Crear una aplicación Web... 318

Editar los ficheros fuente de la aplicación Web... 319

Editar una página JSP de una aplicación Web... 320

Crear una página JSP para una aplicación Web... 322

Ejecutar la aplicación Web... 323

 

CAPÍTULO 13. ACCESO A UNA BASE DE DATOS... 325

SQL.... 326

GESTOR DE BASES DE DATOS MySQL.... 328

Instalación... 329

Poner en marcha MySQL en Windows.. 329

UTILIDADES DE MySQL.... 330

CREAR UNA BASE DE DATOS... 331

UTILIZAR EL CONTROLADOR MySQL CON NetBeans.. 332

ACCESO A UNA BASE DE DATOS CON JDBC.... 333

EJERCICIOS PROPUESTOS... 341

 

APÉNDICES

A. ENTORNO DE DESARROLLO INTEGRADO PARA JAVA..... 343

DISEÑO DE UNA APLICACIÓN DE CONSOLA..... 343

DEPURAR UNA APLICACIÓN CON NETBEANS... 346

VARIABLE CLASSPATH..... 348

OPCIONES DEL ENTORNO DE DESARROLLO..... 349

PROYECTOS... 350

COMPLETAR EL CÓDIGO MIENTRAS SE ESCRIBE.... 351

OBTENER AYUDA..... 352

 

B. AYUDA..... 355

OBTENER AYUDA DESDE NETBEANS... 356

 

C. PLATAFORMAS UNIX/LINUX.... 357

INSTALACIÓN DE J2SEDK MÁS NETBEANS... 357

 

D. CÓDIGOS DE CARACTERES... 359

UTILIZACIÓN DE CARACTERES ANSI CON WINDOWS... 359

JUEGO DE CARACTERES ANSI.. 360

UTILIZACIÓN DE CARACTERES ASCII.. 361

JUEGO DE CARACTERES ASCII.. 362

JUEGO DE CARACTERES UNICODE.... 363