标题：Java完全自学宝典
基本信息
出版社：清华大学出版社 
书　号：9787302170181
作　者：庞永庆 
定　价：￥66.00
出版日期：2008年6月
图书简介
Java是一种面向对象的程序设计语言，具有跨平台、健壮性、安全性等特点，是当前最流行的网络编程语言。本书内容丰富，讲解详细，力求通俗易懂。
本书通过大量的实例，由浅入深、循序渐进地介绍了Java编程语言、Java动态网页和J2EE等知识。全书共分为20章，主要内容包括Java简介、 Java语言基础、控制语句、面向对象程序开发、Java是面向对象语言、Java的继承与多态、类的高级使用、异常处理、Java的输入输出、多线程、 AWT、Swing、网络编程、JDBC数据库编程、HTML、JavaScript、JSP、Servlet，以及J2EE概述等，同时还提供了两个经典案例——学生信息管理系统和网上书店。
本书可以作为学习Java的入门教材，也可以作为中级读者的必备宝典，对高级读者也有一定的参考价值。
图书目录
第1篇 Java技术基础 
第1章 Java简介 2
1.1 Java的起源与发展 2
1.2 Java的特点 2
1.2.1 平台的无关性 2
1.2.2 简单性 3
1.2.3 面向对象语言 3
1.2.4 健壮性 3
1.2.5 多线程 3
1.2.6 自动内存管理 4
1.3 Java开发环境 4
1.3.1 JDK的下载 4
1.3.2 安装JDK 5
1.3.3 设置环境变量 6
1.4 第1个Java程序 7
1.4.1 编写HelloWorld.java 8
1.4.2 编译和运行 8
1.5 小结 9
第2章 Java语言基础 10
2.1 基础语言要素 10
2.1.1 标识符 10
2.1.2 关键字 10
2.1.3 分隔符 11
2.1.4 注释 11
2.2 常量和变量 12
2.2.1 常量 12
2.2.2 变量 12
2.3 基本数据类型 13
2.3.1 整数数据类型 13
2.3.2 浮点类型 14
2.3.3 字符类型 15
2.3.4 布尔类型 17
2.3.5 Java是强语言类型 17
2.4 类型转换 17
2.4.1 自动类型转换 18
2.4.2 强制类型转换 19
2.5 运算符与表达式 20
2.5.1 Java运算符 20
2.5.2 算术运算符 21
2.5.3 关系运算符 23
2.5.4 逻辑运算符 24
2.5.5 位运算符 24
2.5.6 赋值运算符 27
2.5.7 条件运算符 27
2.5.8 表达式及运算符优先级 28
2.6 数组 29
2.6.1 声明数组 29
2.6.2 构造数组 29
2.6.3 初始化数组 30
2.6.4 多维数组 31
2.7 字符串 35
2.7.1 初始化 35
2.7.2 String类方法 35
2.7.3 StringBuffer类方法 38
2.7.4 链接方法 40
2.8 经典题解 41
2.8.1 怎样综合使用运算符 41
2.8.2 怎样使用数组下标 42
2.8.3 怎样进行不同类型
数值间的运算 43
2.8.4 怎样进行字符串运算 44
2.9 小结 46
第3章 控制语句 47
3.1 选择控制语句 47
3.1.1 if控制语句 47
3.1.2 switch 控制语句 51
3.2 循环控制语句 55
3.2.1 for循环控制语句 55
3.2.2 while循环控制语句 57
3.2.3 do-while循环控制语句 58
3.3 跳转控制语句 60
3.3.1 break跳转语句 60
3.3.2 continue 跳转语句 64
3.3.3 return跳转语句 65
3.4 经典题解 66
3.4.1 如何正确使用switch语句 66
3.4.2 如何正确使用if语句 67
3.4.3 switch语句的执行顺序 68
3.4.4 如何正确使用跳转语句 69
3.5 小结 71
第4章 面向对象程序开发 72
4.1 面向对象思想 72
4.1.1 对象 72
4.1.2 类 72
4.2 面向对象的特点 73
4.2.1 封装 73
4.2.2 继承 74
4.2.3 多态 76
4.3 小结 77
第5章 Java是面向对象语言 78
5.1 类 78
5.1.1 定义类 78
5.1.2 类的实例化 79
5.1.3 构造函数 80
5.1.4 对象的清除 82
5.2 类和对象的使用 83
5.2.1 创建和使用对象 83
5.2.2 使用静态修饰符 84
5.3 成员变量及方法的访问 86
5.3.1 public公共修饰符 86
5.3.2 protected保护修饰符 87
5.3.3 private私有修饰符 88
5.3.4 其他修饰符 90
5.4 抽象类和抽象方法 92
5.4.1 什么叫抽象 93
5.4.2 抽象的规则 93
5.5 包 95
5.5.1 定义包 95
5.5.2 导入包 96
5.5.3 访问控制 98
5.6 经典题解 99
5.6.1 如何为变量赋值 99
5.6.2 如何正确使用重写方法 101
5.6.3 如何进行构造函数间调用 103
5.7 小结 104
第6章 Java的继承与多态 105
6.1 继承 105
6.1.1 超类和子类 105
6.1.2 成员变量和方法的访问 107
6.1.3 对象的使用 108
6.2. 对父类进行访问 109
6.2.1 调用父类的构造函数 109
6.2.2 访问超类的成员变量和方法 112
6.2.3 多层次的继承 113
6.3 重写 116
6.3.1 定义重写 116
6.3.2 重写规则 118
6.4 重载 122
6.4.1 定义重载 122
6.4.2 重载规则 123
6.5 经典题解 126
6.5.1 如何综合使用重写和重载 126
6.5.2 如何调用父类构造函数 128
6.5.3 如何使用继承 129
6.5.4 如何调用重写方法 132
6.6 小结 133
第7章 类的高级使用 134
7.1 静态访问修饰符 134
7.1.1 静态变量 134
7.1.2 静态方法 135
7.2 final 关键字的使用 138
7.2.1 常量 138
7.2.2 最终方法 140
7.2.3 最终类 142
7.3 接口 143
7.3.1 定义接口 143
7.3.2 接口常量和抽象方法 144
7.3.3 实现接口 147
7.3.4 接口引用 151
7.4 内部类 153
7.4.1 内部类的定义 153
7.4.2 内部类的使用 154
7.4.3 匿名内部类 158
7.5 经典题解 163
7.5.1 内部类的实际应用 163
7.5.2 如何正确使用内部类 164
7.5.3 如何正确理解内部类 165
7.5.4 如何使用静态方法 166
7.5.5 在内部类中如何调用变量 168
7.6 小结 169
第8章 异常处理 170
8.1 异常处理简介 170
8.1.1 异常处理基础 170
8.1.2 异常类型 171
8.2 异常处理方式 172
8.2.1 try/catch捕获异常 172
8.2.2 throws声明异常 176
8.2.3 throw抛出异常 177
8.2.4 自定义异常 179
8.3 经典题解 181
8.3.1 如何正确使用
try-catch语句 181
8.3.2 如何进行异常处理 182
8.4 小结 183
第9章 Java的输入/输出 184
9.1 数据流的概念和划分 184
9.1.1 数据流的概念 184
9.1.2 数据流的划分 185
9.2 字节流 186
9.2.1 通过字节流读写数据 187
9.2.2 访问和使用文件信息 188
9.2.3 快捷的方式读取特定信息 190
9.2.4 引入缓冲流读取文件 192
9.3 字符流 193
9.3.1 如何读取Unicode字符 193
9.3.2 读取字符文件 194
9.3.3 如何提高IO流操作效率 197
9.3.4 通过字符读取文件及写出 198
9.4 文件类 199
9.4.1 文件类简介 200
9.4.2 通过文件类对文件进行操作 201
9.5 小结 203
第10章 多线程 204
10.1 多线程简介 204
10.1.1 多线程概念 204
10.1.2 Java中的多线程 204
10.2 线程的创建 205
10.2.1 主线程的创建 205
10.2.2 通过实现Runnable接口
创建线程 206
10.2.3 通过继承Thread类
创建线程 208
10.2.4 两种方法的比较 209
10.2.5 创建多线程 209
10.3 线程的调度 212
10.3.1 优先级 212
10.3.2 sleep() （睡眠）方法 214
10.3.3 join()（加入）方法 216
10.3.4 yield()（让步）方法 219
10.4 线程状态 220
10.4.1 新状态 221
10.4.2 可运行状态 221
10.4.3 运行状态 221
10.4.4 等待/被阻塞/睡眠/监控/
挂起状态 222
10.4.5 死状态 222
10.5 线程同步和通信 222
10.5.1 同步的必要性 222
10.5.2 实现同步 224
10.5.3 同步代码块和死锁 226
10.5.4 线程间通信 228
10.6 经典题解 230
10.6.1 怎样正确定义多线程 231
10.6.2 如何正确使用多线程 232
10.6.3 多线程和重载的综合运用 232
10.6.4 如何理解多线程的规则 233
10.7 小结 235
第2篇 Java Web开发
第11章 AWT 238
11.1 AWT简介 238
11.1.1 第一个界面 238
11.1.2 窗口基础应用需要 239
11.1.3 创建多个窗口 241
11.2 布局管理器 242
11.2.1 FlowLayout 布局管理器 242
11.2.2 BorderLayout布局管理器 245
11.2.3 GridLayout布局管理器 248
11.2.4 CardLayout布局管理器 251
11.2.5 Null布局管理器 253
11.3 组件和监听接口 256
11.3.1 按钮和ActionListener
监听接口 256
11.3.2 运用 WindowListener
监听接口操作窗口 257
11.3.3 文本组件和TextListener
接口 259
11.4 小结 260
第12章 Swing 261
12.1 Swing组件库 261
12.1.1 JFC结构 261
12.1.2 与 AWT的区别 261
12.2 JFrame窗口容器 261
12.2.1 JFrame简介和方法 262
12.2.2 JFrame 应用 262
12.3 通过Icon接口进行图像
操作 263
12.3.1 Icon接口简介和方法 263
12.3.2 Icon 接口应用 264
12.4 按钮 265
12.4.1 按钮简介和方法 266
12.4.2 按钮的应用 266
12.5 弹出式菜单 267
12.5.1 弹出式菜单简介和方法 268
12.5.2 弹出式菜单应用 268
12.6 复选框 270
12.6.1 复选框简介和方法 270
12.6.2 复选框应用 270
12.7 单选按钮 271
12.7.1 单选按钮简介和方法 271
12.7.2 单选按钮应用 272
12.8 下拉列表框 273
12.8.1 下拉列表框简介和方法 273
12.8.2 下拉列表框应用 274
12.9 选项卡 275
12.9.1 选项卡简介和方法 275
12.9.2 选项卡应用 276
12.10 滑杆 277
12.10.1 滑杆简介和方法 277
12.10.2 滑杆应用 278
12.11 滚动条 280
12.11.1 滚动条简介和方法 280
12.11.2 滚动条应用 280
12.12 进度条 281
12.12.1 进度条简介和方法 281
12.12.2 进度条应用 282
12.13 列表框 283
12.13.1 列表框简介和方法 283
12.13.2 列表框应用 284
12.14 菜单 285
12.14.1 菜单简介和方法 285
12.14.2 菜单应用 286
12.15 小结 287
第13章 网络编程 288
13.1 网络基础 288
13.1.1 TCP/IP 协议 288
13.1.2 使用URL进行网络连接 288
13.2 网络编程步骤 293
13.2.1 使用 socket进行网络连接 293
13.2.2 创建socket 293
13.2.3 服务器端 294
13.2.4 客户端 295
13.2.5 多客户端连接 296
13.2.6 网络编程综合案例 298
13.3 小结 302
第14章 JDBC数据库编程 303
14.1 通过JDBC访问数据库 303
14.1.1 什么是JDBC 303
14.1.2 JDBC 与Java结合 303
14.2 简单介绍数据库 304
14.2.1 关系数据库 304
14.2.2 通过 Access进行数据库
操作 305
14.2.3 数据库语言及其操作 306
14.3 JDBC编程步骤 309
14.3.1 创建数据源 310
14.3.2 加载驱动程序 311
14.3.3 指定数据库 311
14.3.4 打开数据库连接 312
14.3.5 提交查询 313
14.3.6 取得查询结果 313
14.4 使用 PreparedStatement进行预
编译操作 314
14.4.1 PreparedStatement简介 314
14.4.2 PreparedStatement 应用 315
14.5 元数据 316
14.5.1 数据库的DatabaseMetaData
元数据 316
14.5.2 结果集的ResultSetMetaData
元数据 316
14.6 批处理 317
14.6.1 批处理规范 318
14.6.2 批处理举例 318
14.7 结果集处理 319
14.7.1 可滚动结果集 319
14.7.2 可更新结果集 321
14.8 小结 321
第15章 HTML 322
15.1 HTML简介 322
15.1.1 HTML基本结构 322
15.1.2 第 1个HTML文件 323
15.1.3 HTML文档的特点 323
15.1.4 HTML标记分类 323
15.2 字体属性标记 323
15.2.1 标记 323
15.2.2 粗体字 324
15.2.3 斜体字标记 325
15.2.4 加底线标记 326
15.2.5 删除线标记 326
15.2.6 打字体标记 327
15.2.7 上标字标记、
下标字标记 328
15.2.8 注解标记 328
15.2.9 设定字体大小、颜色、
字型标记 329
15.3 标示标记的使用 331
15.4 区段标记的使用 333
15.5 链接标记的使用 337
15.6 图像标记的使用 339
15.7 表单标记的使用 339
15.7.1 form容器 340
15.7.2 Text单行文本框 340
15.7.3 Password密码框 341
15.7.4 Radio单选按钮 342
15.7.5 Checkbox复选框 342
15.7.6 SELECT 列表框 343
15.7.7 File文件夹 344
15.7.8 TEXTAREA文本框 345
15.7.9 Submit 提交及Reset清除 345
15.8 表格标记 346
15.8.1 table容器标记 346
15.8.2 CAPTION 表格标题 347
15.8.3 tr和td表格栏 348
15.8.4 th表格栏标题标记 349
15.9 常用框架标记 350
15.10 在网页中加入声音 352
15.10.1 加入背景声音 352
15.10.2 内嵌声音 353
15.11 在页面中添加视频动画 353
15.11.1 自动播放 354
15.11.2 事件播放 354
15.11.3 循环播放 354
15.11.4 延时播放 355
15.12 小结 355
第16章 JavaScript 356
16.1 JavaScript 的基本介绍 356
16.1.1 JavaScript语言概括 356
16.1.2 JavaScript代码结构 356
16.1.3 JavaScript 数据类型 358
16.1.4 JavaScript常量和变量 358
16.1.5 JavaScript运算符与表达式 359
16.1.6 JavaScript 函数 359
16.1.7 JavaScript控制语句 361
16.2 JavaScript事件 363
16.2.1 OnClick 事件 363
16.2.2 OnChange事件 365
16.3 JavaScript对象 367
16.3.1 String 字符串 367
16.3.2 Math对象 370
16.3.3 Date对象 370
16.4 浏览器内置对象 371
16.4.1 浏览器navigator对象 371
16.4.2 窗口Window对象 372
16.4.3 历史History对象 374
16.4.4 位置Location对象 375
16.4.5 文档Document对象 376
16.5 窗体对象 376
16.5.1 窗体对象简述 376
16.5.2 button按钮 377
16.5.3 text单行文本框 377
16.5.4 textarea 多行文本框 378
16.5.5 select选择列表框 379
16.5.6 checkbox复选框 381
16.5.7 radio 单选按钮 382
16.5.8 password密码 383
16.6 小结 384
第17章 JSP 385
17.1 JSP 简介 385
17.1.1 主流Web技术介绍 385
17.1.2 JSP的运行环境介绍 386
17.1.3 安装和启动JSP运行环境 386
17.2 JSP程序演示 387
17.2.1 体验JSP 387
17.2.2 JSP与 HTML的初步结合 388
17.3 JSP的基本语法 389
17.4 JSP指令 392
17.4.1 page 指令 392
17.4.2 include指令 393
17.5 JSP动作 395
17.5.1 param动作 395
17.5.2 forward 动作 395
17.5.3 include动作 396
17.5.4 plugin动作 398
17.5.5 useBean 动作 400
17.6 JSP内置对象 401
17.6.1 out对象 401
17.6.2 request对象 402
17.6.3 response对象 405
17.6.4 session对象 408
17.7 综合案例分析 411
17.7.1 总体设计 411
17.7.2 页面设计 412
17.7.3 数据库设计 414
17.7.4 代码实现 415
17.8 小结 423
第18章 Servlet 424
18.1 Servlet简介 424
18.2 开发、部署一个简单的
Servlet 424
18.2.1 编写Servlet 425
18.2.2 编译并发布 Servlet 425
18.3 Servlet常用接口介绍 426
18.3.1 实现相关 427
18.3.2 配置相关 428
18.3.3 异常相关 429
18.3.4 请求与响应相关 429
18.3.5 会话相关 432
18.3.6 Servlet 上下文 436
18.4 将请求封装成HttpServlet
对象 436
18.4.1 doGet 436
18.4.2 doPost 438
18.5 小结 440
第3篇 J2EE企业级开发
第19章 J2EE概述 442
19.1 远程方法调用 442
19.1.1 远程方法调用简介 442
19.1.2 远程接口 442
19.1.3 服务器类 443
19.1.4 RMIC编译器 444
19.1.5 启动registry 445
19.1.6 客户类 445
19.2 JNDI 命名和目录接口 446
19.2.1 JNDI简介 446
19.2.2 为命名服务初始化参数 447
19.2.3 注册对象 448
19.2.4 查找对象 449
19.2.5 JNDI和RMI结合 450
19.3 使用EJB开发企业级程序 453
19.3.1 EJB简介 453
19.3.2 无状态会话EJB概述 454
19.3.3 无状态会话 EJB：
远程业务逻辑接口 454
19.3.4 无状态会话EJB：
生命周期接口 455
19.3.5 无状态会话 EJB：组件类 456
19.3.6 无状态会话EJB：
部署描述文件 457
19.3.7 无状态会话EJB：客户端 458
19.3.8 有状态会话EJB概述 459
19.3.9 有状态会话EJB：
远程业务逻辑接口 460
19.3.10 有状态会话EJB：
生命周期接口 460
19.3.11 有状态会话EJB：组件类 461
19.3.12 有状态会话 EJB：
部署描述文件 462
19.3.13 有状态会话EJB：客户端 463
19.3.14 CMP实体EJB概述 464
19.3.15 CMP实体EJB：
远程业务逻辑接口 465
19.3.16 CMP实体EJB：
生命周期接口 466
19.3.17 CMP实体EJB：组件类 466
19.3.18 CMP实体EJB：
部署描述文件 468
19.3.19 CMP 实体EJB：客户端 471
19.3.20 BMP实体EJB 472
19.3.21 消息驱动EJB 479
19.4 小结 482
第4篇 经典案例分析 
第20章 学生信息管理系统 484
20.1 需求分析 484
20.2 系统设计 484
20.3 登录模块 484
20.3.1 设计构想 485
20.3.2 实现登录模块 485
20.4 学生信息模块 488
20.4.1 设计构想 488
20.4.2 实现学生信息主界面 488
20.4.3 增加信息 490
20.4.4 删除信息 494
20.4.5 修改信息 497
20.4.6 基本信息查询 501
20.4.7 成绩查询 505
20.4.8 退出系统 509
20.5 教师信息模块 511
20.5.1 主界面 511
20.5.2 增加信息 514
20.5.3 删除信息 518
20.5.4 修改信息 521
20.5.5 录入成绩 525
20.5.6 删除成绩 529
20.5.7 修改成绩 532
20.5.8 基本信息查询 536
20.5.9 退出系统 540
20.6 小结 542
第21章 网上书店 543
21.1 需求分析 543
21.2 系统设计 543
21.3 系统实现 544
21.3.1 实现效果 544
21.3.2 网上书店框架页面 546
21.3.3 页头页面 547
21.3.4 用户登录 548
21.3.5 主页 548
21.3.6 购物车页面 550
21.3.7 注册页面 553
21.3.8 错误页面 558
21.3.9 应用JavaBean 559
21.4 小结 564
附录A Eclispe开发环境概述 565
附录B ASCII编码表 580
附录C JDK命令详解 582