目录
第1章Java面向对象开发环境——搭建Java开发环境1
1.1第一个Java应用程序——Hello World1
1.2关键技术1
1.2.1Java语言简介1
1.2.2Java平台1
1.2.3Java语言的特点2
1.2.4Java小程序和应用程序4
1.3搭建Java开发环境的基本步骤4
1.3.1JDK安装与配置4
1.3.2深入理解“HelloWorld”应用程序的执行8
1.3.3Eclipse软件包的下载与安装9
1.4练一练10第2章基本数据类型及运算——身体质量指数计算器11
2.1身体质量指数计算器11
2.2程序设计思路12
2.3关键技术12
2.3.1Java标识符12
2.3.2关键字13
2.3.3Java的数据类型13
2.3.4基本数据类型的转换15
2.3.5运算符与表达式16
2.3.6简单数据的输入与输出20
2.4身体质量指数计算器设计步骤21
2.5练一练22第3章结构化程序设计——设计图书ISBN校验器23
3.1图书ISBN校验器23
3.2程序设计思路23
3.3关键技术24
3.3.1顺序结构24
3.3.2分支结构24
3.3.3循环结构28
3.3.4循环控制结构30
3.4图书ISBN校验器设计步骤31
3.5练一练33第4章数组——迷宫游戏35
4.1迷宫游戏介绍35
4.2程序设计思路35
4.3关键技术36
4.3.1什么是数组36
4.3.2数组的定义及初始化36
4.3.3数组的使用37
4.3.4数组的遍历38
4.3.5在方法中使用数组39
4.3.6多维数组40
4.3.7Arrays类41
4.4迷宫游戏设计步骤42
4.5练一练45第5章类与类的继承——个人通讯录(一)48
5.1个人通讯录(一)48
5.2程序设计思路48
5.3关键技术48
5.3.1面向对象的基本概念48
5.3.2类的定义49
5.3.3对象51
5.3.4方法的重载54
5.3.5构造方法54
5.3.6this关键字56
5.3.7static关键字57
5.3.8初始化块59
5.3.9访问控制符60
5.3.10包的定义及其导入61
5.3.11类的继承62
5.3.12子类重写父类方法63
5.3.13super关键字64
5.3.14final关键字64
5.3.15继承与组合65
5.4个人通讯录(一)设计步骤 66
5.4.1个人通讯录系统类图66
5.4.2定义类Contract67
 5.4.3定义类Family68
5.4.4定义类Partner69
5.5练一练70第6章多态与内部类——个人通讯录(二)72
6.1个人通讯录(二)72
6.2程序设计思路72
6.3关键技术72
6.3.1多态72
6.3.2instanceof运算符75
6.3.3抽象类与抽象方法76
6.3.4接口77
6.3.5内部类81
6.3.6匿名内部类82
6.4个人通讯录(二)设计步骤83
6.4.1系统类图83
6.4.2重构类Contract84
6.4.3重构类Family85
6.4.4重构类Partner86
6.4.5重构类Company87
6.4.6定义通讯录PhoneBook类87
6.5练一练90第7章Java常用类与枚举类——21点游戏93
7.121点游戏介绍93
7.2程序设计思路93
7.3关键技术94
7.3.1Object类94
7.3.2String类94
7.3.3StringBuilder类与StringBuffer类96
7.3.4Math类97
7.3.5Random类98
7.3.6Date类98
7.3.7Calendar类99
7.3.8SimpleDateFormat类100
7.3.9枚举类100
7.421点游戏设计步骤102
7.4.1纸牌类102
7.4.2玩家类104
7.4.3游戏类106
7.5练一练108第8章正则表达式与异常处理——个人通讯录(三)111
8.1个人通讯录(三)111
8.2程序设计思路111
8.3关键技术111
8.3.1正则表达式111
8.3.2异常概述114
8.3.3异常处理115
8.3.4自定义异常类119
8.4个人通讯录(三)设计步骤120
8.4.1自定义异常子类120
8.4.2Contract类120
8.5练一练122第9章集合——个人通讯录(四)123
9.1个人通讯录(四)123
9.2程序设计思路123
9.3关键技术123
9.3.1集合概述123
9.3.2Collection接口124
9.3.3集合的遍历126
9.3.4Set接口及其实现类127
9.3.5List接口及其实现类130
9.3.6Map接口及其实现类131
9.3.7泛型132
9.3.8Collections工具类133
9.4个人通讯录(四)设计步骤136
9.4.1重构联系人Contract类136
9.4.2重构Family类138
9.4.3重构Partner类138
9.4.4重构通讯录PhoneBook类138
9.5练一练140第10章基于Swing的图形用户界面——个人通讯录(五)142
10.1个人通讯录(五)142
10.2程序设计思路142
10.3关键技术143
10.3.1图形用户界面与Swing概述143
10.3.2容器144
10.3.3常用组件148
10.3.4布局管理器151
10.3.5事件处理155
10.3.6菜单组件160
10.3.7表格组件165
10.4个人通讯录(五)设计步骤170
10.4.1项目总体结构170
10.4.2通讯录系统主界面170
10.4.3“编辑(添加)联系人”对话框174
10.4.4通讯录业务逻辑类PhoneBook181
10.5练一练183第11章JDBC编程——个人通讯录(六)184
11.1个人通讯录(六)184
11.2程序设计思路184
11.3关键技术184
11.3.1JDBC简介184
11.3.2MySQL的安装185
11.3.3JDBC常用接口及类185
11.3.4JDBC操作数据库的基本步骤186
11.4个人通讯录(六)设计步骤189
11.4.1数据库设计189
11.4.2导入MySQL数据库驱动191
11.4.3项目总体结构192
11.4.4数据实体bean192
11.4.5工具包util193
11.4.6数据访问包dao194
11.4.7业务逻辑层service201
11.4.8图形用户界面层gui205
11.5练一练205第12章输入/输出流——个人通讯录(七)206
12.1个人通讯录(七)206
12.2程序设计思路206
12.3关键技术206
12.3.1File类206
12.3.2流的基本概念207
12.3.3字节流与字符流208
12.3.4包装流209
12.3.5对象序列化及对象流211
12.4个人通讯录(七)设计步骤213
12.4.1数据库设计213
12.4.2数据实体类Contract213
12.4.3数据访问类ContractDaoImpl214
12.4.4图形用户界面ContractDetailGUI215
12.5练一练217第13章多线程——哲学家就餐问题218
13.1哲学家就餐问题介绍218
13.2程序设计思路218
13.3关键技术218
13.3.1多线程的基本概念218
13.3.2实现多线程的方法219
13.3.3线程的生命周期224
13.3.4线程的控制方法226
13.3.5线程的同步227
13.3.6线程通信230
13.4哲学家就餐问题程序设计步骤231
13.4.1死锁的产生231
13.4.2死锁解决方案235
13.5练一练236第14章网络编程——多线程下载工具237
14.1多线程下载工具功能介绍237
14.2程序设计思路238
14.3关键技术238
14.3.1HTTP238
14.3.2URL编程239
14.3.3基于TCP的网络编程241
14.3.4基于UDP的网络编程245
14.4多线程下载工具程序设计步骤247
14.4.1下载任务实体类247
14.4.2主控界面248
14.4.3文件下载线程252
14.4.4文件下载子线程255
14.5练一练257第15章房屋租赁系统的设计与实现258
15.1软件需求规格说明258
15.1.1总体描述258
15.1.2具体需求259
15.2体系结构设计263
15.2.1Use Case实现263
15.2.2逻辑视图264
15.2.3部署视图264
15.2.4实现视图264
15.2.5数据视图268
15.3编码实现270
15.3.1项目的文件结构270
15.3.2数据实体包bean270
15.3.3数据访问包dao273
15.3.4业务逻辑包service283
15.3.5工具包util290
15.3.6图形用户界面包gui294
15.4测试330
15.4.1搭建测试环境——导入JUnit包330
15.4.2单元测试331
15.5程序发布332
15.5.1打包项目332
15.5.2部署项目335
15.5.3运行项目335