标题：Java程序设计自学手册
 内容提要 

本书从初学者的角度出发，通过通俗易懂的语言和大量生动典型的实例，由浅入深、循序渐进地介绍应用Java进行网络编程的常用技术和方法。全书分为3篇，共20章。第1篇为起步篇(第1章～第8章)，主要介绍Java语言概述、搭建Java开发环境、Java语言基础、使用开发工具Eclipse、算法和程序控制结构语句、面向对象编程、数组及其应用、字符串操作技术和集合类及其应用等内容；第2篇为提高篇(第9章～第14章)，主要介绍异常处理、I/O处理技术、线程技术、JDBC技术、Java Swing等一些高级开发技术，在本篇的最后还通过一个进销存管理系统对前面章节的内容进行了实践；第3篇为实例篇(第15章～第20章)，主要介绍JSP环境基础、JSP语法基础、JSP的内置对象、JavaBean技术和Servlet技术等Java Web领域的基础知识，最后通过一个博客网站介绍Java Web基础知识的综合应用。 
本书的配套光盘提供了书中实例的源代码，全部经过精心调试，在Windows XP/Windows 2000/Windows 2003 Server下全部通过，保证能够正常运行。
 编辑推荐 

从零起步，循序渐进，全面提高学、练、用能力；图文并茂，步骤详细，只需要按照步骤操作，就可以轻松掌握相关技能，体验编程的乐趣和成就感；编程一线人员联手打造，融合多年的项目经验和工作心得。
 目录 

第1篇　起步篇
第1章　搭建Java开发环境　3
1.1　Java语言的产生与发展　4
1.2　Java语言的特点　4
1.3　搭建Java开发环境　5
1.3.1　下载JDK　5
1.3.2　安装JDK　8
1.3.3　Windows系统下配置和测试JDK　9
1.4　Java程序的开发过程　10
1.5　一个简单的Java应用程序　11
1.5.1　构建Java程序　11
1.5.2　编译和运行Java程序　12
1.5.3　使用Java核心API文档　12
1.6　本章小结　13
第2章　Java语言基础　14
2.1　编码规范　15
2.1.1　Java命名规范　15
2.1.2　代码编写规则　15
2.1.3　Java程序的注释　16
2.2　常量与变量　17
2.2.1　常量的概念及使用　17
2.2.2　变量的概念及命名规则　17
2.2.3　变量的初始化及赋值　18
2.2.4　变量的有效范围　19
2.3　数据类型　21
2.3.1　基本数据类型　22
2.3.2　引用类型　26
2.3.3　基本类型与引用类型的区别　26
2.3.4　数据类型间的转换　28
2.4　运算符　34
2.4.1　赋值运算符　34
2.4.2　算术运算符　36
2.4.3　关系运算符　38
2.4.4　逻辑运算符　42
2.4.5　位运算符　44
2.4.6　字符串连接运算符　47
2.4.7　其他运算符　47
2.4.8　运算符的优先级别及结合性　49
2.5　了解Java标识符　50
2.6　本章小结　50
第3章　算法和流程控制语句　51
3.1　算法　52
3.1.1　什么是算法　52
3.1.2　算法的描述方法　52
3.1.3　程序3种控制结构　53
3.2　分支语句　55
3.2.1　简单的if条件语句　55
3.2.2　if...else条件语句　56
3.2.3　if...else if多分支语句　58
3.2.4　if语句的嵌套　60
3.2.5　switch多分支语句　62
3.2.6　if语句和switch语句的区别　65
3.3　循环语句　65
3.3.1　for循环语句　65
3.3.2　while循环语句　67
3.3.3　do...while循环语句　69
3.3.4　循环的嵌套　71
3.3.5　各循环语句间的区别　72
3.4　跳转语句　72
3.4.1　break跳转语句　73
3.4.2　continue跳转语句　74
3.4.3　return跳转语句　75
3.5　本章小结　75
第4章　开发工具Eclipse　76
4.1　Eclipse的安装与启动　77
4.1.1　安装Eclipse　77
4.1.2　安装Eclipse多国语言包　77
4.1.3　启动Eclipse　77
4.2　Eclipse的工作台　78
4.2.1　Eclipse工作台概述　78
4.2.2　透视图　79
4.2.3　视图　80
4.2.4　编辑器　82
4.2.5　熟悉Eclipse的菜单栏和工具栏　83
4.3　编写Java程序　91
4.3.1　新建Java项目　91
4.3.2　新建Java类　92
4.3.3　编写Java代码　93
4.3.4　运行程序　93
4.3.5　保存并关闭Java项目　94
4.4　Eclipse资源管理　95
4.4.1　导入Java类　95
4.4.2　导入Java项目　96
4.4.3　导出Java项目　97
4.5　本章小结　98
第5章　面向对象编程　99
5.1　面向对象程序设计　100
5.1.1　面向对象程序设计的概述　100
5.1.2　面向对象程序设计的特点　100
5.2　类和对象　102
5.2.1　定义类　102
5.2.2　了解成员方法　103
5.2.3　成员变量和局部变量　104
5.2.4　构造方法的概念及用途　105
5.2.5　创建对象　106
5.2.6　使用对象　106
5.2.7　销毁对象　107
5.3　包　107
5.3.1　包的概念　107
5.3.2　创建包　108
5.3.3　使用包中的类　108
5.4　继承　108
5.4.1　继承的概念　109
5.4.2　子类对象的创建　109
5.4.3　继承的使用原则　109
5.4.4　使用this关键字　110
5.4.5　使用super关键字　111
5.5　多态　111
5.5.1　方法的重载　112
5.5.2　方法的覆盖　112
5.6　抽象类与final类　114
5.6.1　抽象类的概念及应用　114
5.6.2　final类的概念及应用　116
5.7　接口　116
5.7.1　定义接口　117
5.7.2　实现接口　117
5.8　本章小结　119
第6章　数组　120
6.1　一维数组　121
6.1.1　声明一维数组　121
6.1.2　创建一维数组　121
6.1.3　初始化一维数组　122
6.1.4　使用一维数组　124
6.2　二维数组　125
6.2.1　声明二维数组　125
6.2.2　创建二维数组　125
6.2.3　初始化二维数组　126
6.2.4　使用二维数组　127
6.3　多维数组　128
6.3.1　声明多维数组　128
6.3.2　创建多维数组　129
6.3.3　初始化多维数组　129
6.3.4　使用多维数组　129
6.4　操作数组　130
6.4.1　复制数组　130
6.4.2　排序数组　131
6.4.3　比较数组　132
6.4.4　搜索数组　133
6.4.5　填充数组　134
6.4.6　传递数组　136
6.5　本章小结　137
第7章　字符串处理　138
7.1　字符串　139
7.1.1　字符串常量　139
7.1.2　声明字符串变量　139
7.1.3　创建字符串　139
7.2　连接字符串　141
7.2.1　字符串与字符串的连接　141
7.2.2　字符串与其他类型数据的连接　141
7.3　字符串操作　143
7.3.1　比较字符串　143
7.3.2　获取字符串的长度　145
7.3.3　字符串的大小写转换　145
7.3.4　查找字符串　145
7.3.5　获取字符串的子字符串　147
7.3.6　替换或去除字符串中的空格　147
7.3.7　分割字符串　148
7.4　格式化字符串　148
7.4.1　常规类型的格式化　148
7.4.2　日期和时间字符串格式化　151
7.5　使用StringBuilder类　154
7.5.1　创建字符串生成器　155
7.5.2　字符串生成器的应用　155
7.6　本章小结　157
第8章　集合类　158
8.1　集合类概述　159
8.2　Collection接口　159
8.2.1　addAll(Collection ? extends E col)方法　160
8.2.2　removeAll(Collection ? col)方法　161
8.2.3　retainAll(Collection ? col)方法　162
8.2.4　containsAll(Collection ? col)方法　162
8.2.5　toArray(T[] t)方法　163
8.3　List集合　163
8.3.1　List的用法　163
8.3.2　使用ArrayList类　166
8.3.3　使用LinkedList类　167
8.3.4　客户化排序List集合　168
8.4　Set集合　171
8.4.1　使用HashSet类　172
8.4.2　使用TreeSet类　173
8.5　Map集合　176
8.5.1　Map的用法　176
8.5.2　使用HashMap类　178
8.5.3　使用TreeMap类　179
8.6　本章小结　180
第2篇　提高篇
第9章　异常处理　183
9.1　常见异常列表　184
9.2　Java异常处理　184
9.3　内置异常类　190
9.3.1　Error类　190
9.3.2　Exception类　190
9.4　自定义异常　192
9.5　异常处理使用原则　194
9.6　本章小结　194
第10章　I/O处理　195
10.1　Java的I/O处理方式　196
10.1.1　I/O的基本模式　196
10.1.2　Java提供的流类　196
10.2　以byte为数据单位的流类　198
10.2.1　InputStream类　198
10.2.2　OutputStream类　199
10.3　以char为数据单位的流类　200
10.3.1　Reader类　200
10.3.2　Writer类　201
10.4　常用I/O处理方式　202
10.4.1　文件类　202
10.4.2　文件的字节输入输出流　204
10.4.3　文件的字符输入输出流　206
10.4.4　对象序列化　208
10.5　对文件及文件夹进行操作　210
10.5.1　复制文件　210
10.5.2　复制文件夹　210
10.5.3　删除文件　212
10.5.4　分行写入文件　212
10.6　本章小结　213
第11章　线程　214
11.1　线程概述　215
11.1.1　进程　215
11.1.2　线程　215
11.2　线程的创建　216
11.2.1　线程的创建方式　216
11.2.2　继承Thread类　217
11.2.3　实现Runnable接口　219
11.2.4　两种创建线程方式的比较　220
11.3　线程的生命周期　220
11.4　线程的优先级及执行顺序　221
11.4.1　线程的优先级　221
11.4.2　线程的执行顺序　222
11.5　线程的控制　225
11.5.1　线程的启动　225
11.5.2　线程的挂起　225
11.5.3　线程状态检查　229
11.5.4　结束线程　230
11.5.5　后台线程　230
11.5.6　线程组　231
11.6　线程的同步　231
11.7　线程通信　234
11.8　多线程产生死锁　237
11.9　本章小结　238
第12章　JDBC技术　239
12.1　JDBC概述　240
12.1.1　JDBC-ODBC桥技术介绍　240
12.1.2　JDBC技术介绍　240
12.1.3　JDBC驱动类型　241
12.2　JDBC中的常用接口　242
12.2.1　Driver接口　242
12.2.2　DriverManager　242
12.2.3　Connection接口　242
12.2.4　Statement接口　243
12.2.5　PreparedStatement接口　243
12.2.6　CallableStatement接口　244
12.2.7　ResultSet接口　245
12.3　连接数据库　246
12.3.1　加载JDBC驱动程序　247
12.3.2　创建数据库连接　247
12.3.3　执行SQL语句　247
12.3.4　获得查询结果　248
12.3.5　关闭连接　248
12.4　操作数据库　248
12.4.1　添加数据　248
12.4.2　查询数据　250
12.4.3　修改数据　251
12.4.4　删除数据　252
12.5　应用JDBC事务　253
12.6　连接池技术　255
12.6.1　连接池简介　255
12.6.2　获得JNDI的名称实现对数据库的连接　256
12.7　本章小结　257
第13章　使用Swing　258
13.1　Swing概述　259
13.2　创建窗体　259
13.3　使用组件　260
13.3.1　JLabel(标签)组件　261
13.3.2　JButton(按钮)组件　262
13.3.3　JRadioButton(单选按钮)组件　264
13.3.4　JCheckBox(复选框)组件　265
13.3.5　JComboBox(选择框)组件　266
13.3.6　JList(列表框)组件　268
13.3.7　JTextField(文本框)组件　270
13.3.8　JPasswordField(密码框)组件　271
13.3.9　JTextArea(文本域)组件　272
13.4　常用布局管理器　273
13.4.1　不使用布局管理器　273
13.4.2　使用边界布局管理器　274
13.4.3　使用网格布局管理器　276
13.5　本章小结　278
第14章　进销存管理系统　279
14.1　需求分析　280
14.1.1　需求分析　280
14.1.2　可行性分析　280
14.2　系统设计　280
14.2.1　项目规划　280
14.2.2　功能结构分析　281
14.3　数据库设计　281
14.3.1　E-R图　281
14.3.2　数据表概要说明　283
14.3.3　主要数据表的结构　284
14.4　系统登录模块设计　286
14.4.1　登录功能设计　286
14.4.2　系统登录模块设计　286
14.5　程序主界面的设计　288
14.5.1　创建主窗口　289
14.5.2　初始化程序主界面的initialize()方法　290
14.5.3　添加菜单和工具按钮的方法　291
14.5.4　创建Action对象的addFrameAction()方法　293
14.5.5　获取功能窗体的getIFrame()方法　294
14.6　基础信息模块设计　294
14.6.1　商品信息管理模块设计　294
14.6.2　商品添加功能设计　295
14.6.3　设置组件布局位置的setupComponent()方法　298
14.6.4　商品修改与删除功能设计　298
14.7　进货管理模块设计　300
14.7.1　进货单功能设计　301
14.7.2　初始化表格的initTable()方法　304
14.7.3　初始化商品下拉选择框的initSpBox()方法　304
14.7.4　初始化进货单窗体的initTasks类　305
14.7.5　初始化进货票号文本框的initPiaoHao()方法　306
14.8　销售管理模块设计　306
14.8.1　销售单功能设计　306
14.8.2　初始化销售单窗体的initTasks类　308
14.9　库存管理模块设计　308
14.9.1　库存盘点功能设计　309
14.9.2　库存价格调整功能设计