标题：精通Java:JDK、数据库系统开发、Web开发
版权信息
书 名: 精通Java：JDK、数据库系统开发、Web开发
作　者：王晓悦
出版社： 人民邮电出版社
出版时间： 2007
ISBN: 9787115136770
开本： 16
定价: 59.00 元
编辑推荐
本书通过理论与实际代码相结合的方式，力求用简单，直接的方式使读者学会使用Java语言进行编辑。
目录
第1篇 认识Java及其环境配置
第1章 认识Java 3
1.1 什么是Java 3
1.2 Java语言背景 3
1.3 Java可以做什么 3
1.4 Java的技术特点 4
1.5 Java类库概述 5
1.6 Java平台介绍 5
1.7 Java的工作方式 6
1.8 Java语言对软件开发技术的影响 6
1.9 Java语言的应用前景 7
第2章 下载和安装JDK 5.0 9
2.1 系统要求 9
2.2 下载和安装 9
2.2.1 下载JDK 5.0 9
2.2.2 安装JDK 5.0 10
2.2.3 设置环境变量 12
2.3 第一个Java程序“HelloWorld” 13
2.3.1 编写HelloWorld.java 13
2.3.2 编译和运行 13
2.3.3 程序解析 14
第3章 选择开发工具IDE 15
3.1 常见的IDE介绍 15
3.1.1 文本编辑器UltraEdit和EditPlus 15
3.1.2 Borland公司的JBuilder 17
3.1.3 Sun公司的NetBeans 17
3.1.4 开源的Eclipse 18
3.2 Eclipse介绍 19
3.2.1 下载和安装Eclipse 19
3.2.2 Eclipse界面一览 20
3.3 使用Eclipse进行开发 21
3.3.1 新建工程 21
3.3.2 新建类 22
3.3.3 运行类 23
第2篇 Java语言基础
第4章 Java基本语法 27
4.1 变量和基本数据类型 27
4.1.1 变量 27
4.1.2 4类基本数据类型 28
4.1.3 String不是基本数据类型 31
4.2 类型转换 31
4.2.1 基本数据类型的转换 31
4.2.2 基本数据类型的造型 32
4.3 标识符 32
4.4 运算符 33
4.4.1 单操作数运算符 33
4.4.2 算术运算符 35
4.4.3 移位运算符 35
4.4.4 比较运算符 36
4.4.5 按位运算符 36
4.4.6 逻辑运算符 36
4.4.7 条件运算符 36
4.4.8 赋值运算符 37
4.4.9 运算符优先级 38
4.5 程序流程控制—循环语句 38
4.5.1 for循环语句 38
4.5.2 while循环语句 39
4.5.3 do while循环语句 40
4.6 程序流程控制—选择判断语句 41
4.6.1 if else语句 41
4.6.2 switch语句 43
4.7 跳转语句 45
4.7.1 break 语句和continue语句 45
4.7.2 return语句 46
4.8 实战练习 47
4.8.1 使用for循环来实现对1～99之间奇数的求和 47
4.8.2 for循环语句结合switch语句的使用 48
4.8.3 多重循环实现图形的绘制 48
第5章 Java面向对象程序设计（上） 53
5.1 类概述 53
5.1.1 类的基本结构 53
5.1.2 类的定义 54
5.1.3 .java源文件结构 55
5.1.4 main()入口方法 55
5.2 类的成员变量和方法 56
5.2.1 访问修饰符public、private、protect和default 57
5.2.2 构造方法 57
5.2.3 定义变量 58
5.2.4 定义成员方法 58
5.2.5 参数的传递 60
5.2.6 方法的返回值 61
5.2.7 成员方法重载与过载 63
5.2.8 static静态成员 64
5.2.9 final关键字 66
5.3 对象概述 67
5.3.1 对象的声明及创建 67
5.3.2 调用对象的方法 69
5.3.3 对象的生存周期 71
5.3.4 对象的清理 71
5.3.5 判断对象所属类 71
5.4 实战练习 73
第6章 Java面向对象程序设计（下） 77
6.1 建立面向对象的思想 77
6.1.1 现实生活中的对象 77
6.1.2 如何抽象出类和对象 78
6.1.3 面向对象设计的好处 78
6.1.4 面向对象的术语介绍 78
6.2 类的继承 78
6.2.1 继承的意义 78
6.2.2 如何定义子类 79
6.2.3 覆盖父类中的方法 81
6.2.4 this关键字的使用 83
6.2.5 super的使用 83
6.2.6 继承的层次结构 83
6.3 抽象类与接口 84
6.3.1 抽象类和抽象方法 84
6.3.2 如何定义和使用抽象类 85
6.3.3 什么是接口 87
6.3.4 如何定义接口 87
6.3.5 实现接口 87
6.3.6 接口的重要性 89
6.4 内部类和匿名类 89
6.4.1 什么是内部类 89
6.4.2 如何使用内部类 90
6.4.3 什么是匿名类 93
6.4.4 使用内部类需要注意的问题 94
6.5 面向对象的其他特性 94
6.5.1 包结构 94
6.5.2 所有类的父类Object类 95
6.6 实战练习 95
第7章 Java异常处理机制 99
7.1 异常类的层次结构 99
7.2 如何捕获异常 100
7.3 如何抛出异常 101
7.4 自定义异常 103
7.5 使用finally语句段 105
第8章 Java反射机制 107
8.1 什么是反射机制 107
8.2 获得类的描述信息 107
8.2.1 Class类概述 107
8.2.2 获得类的构造方法 109
8.2.3 获得类的成员方法 110
8.2.4 获得类的成员变量 112
8.3 动态使用反射机制 113
8.3.1 运行时创建对象 113
8.3.2 动态调用指定方法 115
8.3.3 动态改变成员变量 117
第9章 数据结构与集合类 119
9.1 数组 119
9.1.1 数组的创建 119
9.1.2 用数组保存对象 122
9.1.3 数组的排序 124
9.1.4 二维数组 125
9.2 集合类 127
9.2.1 集合类的结构层次 127
9.2.2 常用集合类List的使用 128
9.2.3 常用集合类Vector的使用 130
9.2.4 常用集合类Map概述 132
9.2.5 常用集合类Hashtable的使用 135
第3篇 图形用户界面（GUI）
第10章 Java Swing（上） 139
10.1 概述 139
10.1.1 发展历史 139
10.1.2 什么是Swing 139
10.1.3 JFC与Swing的关系 139
10.1.4 类层次结构 140
10.2 窗口与面板 140
10.2.1 顶级容器概述 140
10.2.2 JFrame主窗口 140
10.2.3 JDialog对话框窗口 142
10.2.4 JPanel面板的使用 144
10.3 常用的组件 145
10.3.1 按钮 146
10.3.2 文本组件 147
10.3.3 单选按钮JRadioButton 155
10.3.4 复选框JCheckBox 157
10.3.5 下拉列表JComboBox 159
10.3.6 滑块JSlider 161
10.3.7 进度条JProgressBar及Timer组件 164
10.3.8 菜单JMenu 167
10.3.9 工具栏JToolBar 172
10.4 布局管理器 174
10.4.1 概述 175
10.4.2 边框布局BorderLayout 175
10.4.3 流动布局FlowLayout 176
10.4.4 卡片布局CardLayout 177
10.4.5 网格布局GridLayout 179
10.4.6 使用绝对定位 181
第11章 Java Swing（下） 183
11.1 Java事件处理机制 183
11.1.1 事件处理模型 183
11.1.2 为组件注册事件 184
11.1.3 为按钮添加点击事件 184
11.2 常见的事件处理 187
11.2.1 鼠标事件 187
11.2.2 鼠标移动事件 190
11.2.3 选项事件 191
11.2.4 窗口事件 194
11.2.5 键盘事件 196
11.3 高级组件 198
11.3.1 表格组件概述 198
11.3.2 表格组件的使用 198
11.3.3 树的概述 201
11.3.4 树的使用 202
11.3.5 选项卡面板 205
11.3.6 颜色选择器 206
11.3.7 文件选择器 208
11.3.8 分隔面板 210
第12章 Applet网页小程序 213
12.1 Applet概述 213
12.1.1 Applet的基本工作原理 213
12.1.2 如何在网页中嵌入Applet 213
12.1.3 Applet的安全性 215
12.2 Applet的生命周期和6种基本方法 216
12.3 向Applet传递参数 217
12.4 Applet综合示例 219
12.4.1 使用Applet显示当前日期及时间 219
12.4.2 使用Applet实现计算器功能 220
第13章 图形编程 225
13.1 图形对象（Graphics）概述 225
13.2 如何画各类图形 227
13.2.1 在Applet界面中绘制图形 227
13.2.2 在JFrame窗口界面中绘制图形 229
13.2.3 在JPanel面板界面中绘制图形 230
13.2.4 多边形的绘制 231
13.2.5 使用Color类来设置颜色 232
13.3 如何显示图像 234
13.4 Java 2D图形 236
13.4.1 Java2D概述 236
13.4.2 画直线 236
13.4.3 画圆形 238
13.4.4 画矩形 239
13.4.5 画圆角矩形 240
13.4.6 字体控制 241
第14章 多媒体编程 245
14.1 图像处理 245
14.1.1 在Applet小应用程序中显示图像 245
14.1.2 在application应用程序中显示图像 247
14.2 动画处理 249
14.3 声音处理 252
14.3.1 声音处理概述 252
14.3.2 使用Applet来处理声音文件 252
14.3.3 在应用程序application中处理MIDI声音文件 253
14.3.4 实现简单的音乐播放器 254
第4篇 Java高级技术
第15章 字符串处理 259
15.1 字符串对象String类 259
15.1.1 String类常用方法 259
15.1.2 查找指定字符串 263
15.1.3 转化字符串的大小写 264
15.2 改进的String对象StringBuffer类 264
15.2.1 StringBuffer类的创建和使用 265
15.2.2 StringBuffer类的插入和删除操作 267
15.3 StringTokenizer类 268
15.4 格式化文本 270
15.4.1 格式化日期 270
15.4.2 格式化数字 271
15.5 正则表达式 273
第16章 I/O输入输出流 277
16.1 流概述 277
16.1.1 什么是流 277
16.1.2 输入输出类结构 277
16.1.3 使用输入流来读取指定目录下文件的内容 279
16.1.4 使用输入输出流来读取并显示文件内容 280
16.1.5 使用read方法读取文件内容 281
16.1.6 两种“程序接收用户数据输入”方法的实现 282
16.2 文件类（File）的使用 283
16.2.1 获取指定文件的描述信息 284
16.2.2 创建新文件 285
16.2.3 文件改名及文件删除 286
16.2.4 获取指定文件目录下的所有文件 288
16.3 读取文件 289
16.3.1 读取文件并显示 289
16.3.2 读取文件的分类及所涉及到的类 291
16.3.3 读取文件Reader类的基本方法 293
16.4 写入文件 293
16.4.1 将输入的文本保存到文件示例 293
16.4.2 写入文件的分类及所涉及到的类 295
16.4.3 写入文件Writer类的基本方法 295
16.5 随机访问文件 295
16.5.1 RandomAccessFile流的构造及内部方法 295
16.5.2 使用随机访问文件流来对文件进行读写 296
16.6 创建压缩文件 297
16.6.1 ZipFile文件压缩类概述 298
16.6.2 实现数据文件以“zip方式”压缩的方法 298
16.6.3 将.class文件打包成jar文件 301
第17章 线程 303
17.1 线程概述 303
17.1.1 线程的生命周期 303
17.1.2 Thread线程类的成员变量及基本方法 304
17.2 创建线程的两种方式 305
17.2.1 继承Thread类并覆盖run()方法 305
17.2.2 实现Runnable接口 307
17.2.3 使用线程的小程序 308
17.3 线程的启动与停止 312
17.4 线程的优先级 312
17.5 线程的同步 315
17.6 综合实例——使用多线程实现动画效果 316
17.6.1 主类代码Pete.java 316
17.6.2 辅助类代码PetePanel.java 318
17.6.3 辅助类代码TextPanel.java 321
17.6.4 程序的编译、运行及结果 324
第18章 网络程序设计 327
18.1 网络通讯概述 327
18.1.1 什么是网络通讯 327
18.1.2 网络协议基础 327
18.1.3 Java中所涉及到的网络应用类 328
18.2 使用URL类 328
18.2.1 URL类中常用的方法 328
18.2.2 使用URLConnetion类 330
18.2.3 简单的网页浏览器 331
18.3 使用InetAddress类获取IP地址 333
18.4 使用套接字Socket类 334
18.4.1 Socket类与ServerSocket类 334
18.4.2 建立与服务器的连接 336
18.5 使用套接字Datagram类 340
18.5.1 Datagram（数据报）套接字 340
18.5.2 使用Datagram实现数据传输 341
18.6 创建聊天室程序 343
18.6.1 聊天室基本原理 343
18.6.2 客户端程序 344
18.6.3 服务器端程序 347
第19章 国际化和本地化 355
19.1 概述 355
19.1.1 Java的国际化考虑 355
19.1.2 什么是i18n和l10n 355
19.2 获取本地化信息 356
19.2.1 如何获得本地化信息 356
19.2.2 本地化数字 358
19.2.3 本地化日期 360
19.3 使用ResouceBundle类 361
19.3.1 创建多语言的.Properties文件 362
19.3.2 使用ResouceBundle类获取.Properties文件信息 362
19.4 实现可选择不同语言的窗口程序 363
第20章 泛型程序设计 367
20.1 泛型概述 367
20.1.1 Java的新特性——泛型 367
20.1.2 一个泛型的小示例 367
20.2 定义泛型 369
20.3 使用泛型 370
20.4 使用泛型所注意的问题 372
20.5 使用通配类型 373
20.6 泛型接口 375
第21章 访问数据库 379
21.1 使用JDBC连接数据库 379
21.1.1 JDBC的作用及主要接口 379
21.1.2 连接不同数据库 381
21.1.3 连接数据库的基本步骤 382
21.2 执行SQL语句 385
21.2.1 使用PreparedStatement接口执行SQL语句 385
21.2.2 使用CallableStatement接口执行SQL语句 387
21.3 安装及配置MySQL数据库 388
21.3.1 安装MySQL 5.0数据库 388
21.3.2 配置MySQL 5.0数据库 390
21.3.3 创建数据库test及数据表userinfo 391
21.4 通过JDBC访问MySQL数据库 392
21.4.1 查询数据 393
21.4.2 添加、删除及修改数据 397
第22章 获取XML数据 401
22.1 XML概述 401
22.1.1 什么是XML 401
22.1.2 XML的命名空间 402
22.1.3 XML文档结构 403
22.2 XML的解析 404
22.2.1 DOM处理 404
22.2.2 SAX处理 406
22.3 使用Java处理XML数据 409
22.3.1 使用JDOM来生成XML文档 409
22.3.2 使用JDOM来处理XML文档 414
第23章 处理电子邮件 419
23.1 JavaMail 概述 419
23.1.1 JavaMail技术简介 419
23.1.2 体系结构 420
23.1.3 主要对象介绍 420
23.2 电子邮件协议概述 422
23.2.1 SMTP协议 422
23.2.2 POP3协议 423
23.2.3 IMAP协议 423
23.2.4 MIME协议 423
23.3 邮件处理 423
23.3.1 发送邮件 423
23.3.2 读取邮件 426
23.3.3 邮件的回复和转发 429
第24章 JSP技术应用 431
24.1 JSP概述 431
24.2 下载和安装Tomcat 432
24.2.1 Tomcat容器介绍 432
24.2.2 Tomcat的下载 432
24.2.3 Tomcat的安装 433
24.2.4 服务器的启动 435
24.2.5 第一个JSP程序 435
24.3 JSP语法 437
24.3.1 JSP指令 437
24.3.2 JSP注释 437
24.3.3 JSP声明 438
24.3.4 表达式 439
24.3.5 脚本代码 440
24.3.6 JSP中使用Java脚本实例1 440
24.3.7 JSP中使用Java脚本实例2 441
24.4 JSP的内置对象 442
24.4.1 request对象——获取信息 442
24.4.2 response对象——发送信息 443
24.4.3 session对象——保存用户信息 443
24.4.4 application对象——保存公共信息 444
24.5 Servlet技术与JavaBean 444
24.5.1 Servlet技术 445
24.5.2 JavaBean 446
24.5.3 使用JSP/Servlet结构实现用户登录的验证 447
第5篇 综 合 案 例
第25章 汉诺塔游戏 457
25.1 游戏规划 457
25.2 程序预览 458
25.3 游戏设计分析 459
25.4 游戏流程 462
25.5 游戏编程技巧 462
25.6 程序代码分析 463
25.6.1 程序主类MainFrame.java 463
25.6.2 绘图类程序DrawPanel.java 470
25.6.3 盘子类程序SuperPlate.java 475
25.6.4 帮助信息类程序“帮助信息.java” 475
25.6.5 创建及编写 476
第26章 学生成绩查询系统 479
26.1 系统结构 479
26.2 系统数据库层 480
26.3 程序预览 483
26.4 视图（View）模块——前台JSP页面 484
26.4.1 学号输入页面main.jsp 484
26.4.2 错误信息页面errorpage.jsp 485
26.4.3 学生成绩显示页面markshow.jsp 486
26.5 模型（Model）模块——JavaBean和实用类 488
26.5.1 用于保存学生信息的实体JavaBean——Student学生类 488
26.5.2 保存学生成绩信息的实体JavaBean——Course课程类 489
26.5.3 用于连接数据库的JavaBean——DataBase数据库连接类 490
26.5.4 用于查询学生信息的JavaBean——MarkDB数据查询类 491
26.6 控制器（Controller）模块——Servlet控制器 492
26.7 学生成绩查询系统的发布 493
第27章 网上用户注册系统 495
27.1 网上用户注册系统结构 495
27.2 数据库层 496
27.3 程序预览 498
27.4 视图（View）模块——前台JSP页面 499
27.4.1 用户登录页面login.jsp 499
27.4.2 用户注册页面register.jsp 500
27.4.3 显示用户信息页面showinfo.jsp 503
27.4.4 出错信息页面errorpage.jsp 504
27.5 模型（Model）模块——JavaBean 505
27.5.1 保存用户信息的实体JavaBean——InfoItem用户信息类 505
27.5.2 用于连接数据库的JavaBean——DataBase数据库连接类 507
27.5.3 操作数据库的JavaBean-DBUtility.java数据操作类 508
27.6 控制器（Controller）模块——Servlet 509
27.7 网上用户注册系统的发布 512
附录A Java关键字和运算符 515
附录B Java常用类 517
附录C Java流参考 521
附录D 常见术语表 527
……