第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
第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 库存价格调整功能设计 311
14.10 查询统计模块设计 312
14.10.1 销售排行功能设计 312
14.10.2 执行销售排行功能的事件监听器 314
14.11 系统设置模块设计 314
14.11.1 操作员管理 314
14.11.2 权限管理 316
14.12 数据库模块 318
14.12.1 数据库连接 318
14.12.2 获取用户信息的getUser()方法 319
14.12.3 添加商品信息的addSp()方法 319
14.12.4 获取所有商品信息的getSpInfos()方法 320
14.12.5 添加入库信息的insertRukuInfo()方法 321
14.12.6 获取最大入库编号的getRuKuMainMaxId()方法 322
14.12.7 更新用户信息的updateUser()方法 323
14.13 本章小结 323
第3篇 实例篇
第15章 JSP入门 327
15.1 JSP技术概述 328
15.2 JSP技术特征 328
15.2.1 跨平台 328
15.2.2 静态内容和动态内容的分离 328
15.2.3 可重复使用的组件 329
15.2.4 沿用了JavaServlet的所有功能 329
15.2.5 预编译 329
15.3 JSP与其他网络编程语言的比较 329
15.3.1 CGI 329
15.3.2 ASP 329
15.3.3 PHP 330
15.3.4 JSP 330
15.4 JSP的处理过程 330
15.5 Tomcat服务器的安装和启动 331
15.5.1 Tomcat服务器的安装 331
15.5.2 Tomcat服务器的启动 332
15.6 开发与部署Web应用程序 332
15.6.1 MyEclipse开发Web应用程序 333
15.6.2 部署JSP程序 334
15.7 本章小结 335
第16章 JSP语法 336
16.1 了解JSP的基本构成 337
16.1.1 JSP中的指令标识 337
16.1.2 HTML标记语言 337
16.1.3 嵌入的Java代码片段 337
16.1.4 JSP表达式 337
16.2 JSP的指令标识 337
16.2.1 使用Page指令 338
16.2.2 使用include指令 340
16.2.3 使用taglib指令 341
16.3 JSP的脚本标识 341
16.3.1 JSP表达式(Expression) 341
16.3.2 声明标识(Declaration) 342
16.3.3 小脚本程序(Scriptlet) 343
16.4 JSP的注释 343
16.4.1 HTML中的注释 343
16.4.2 带有JSP表达式的注释 344
16.4.3 隐藏注释 344
16.4.4 小脚本程序(Scriptlet)中的注释 344
16.5 JSP的动作标识 346
16.5.1 包含文件的动作jsp:include 347
16.5.2 重定向资源的动作jsp:forward 348
16.5.3 声明使用JavaBean的动作jsp:useBean 350
16.5.4 设置JavaBean属性值的动作jsp:setProperty 355
16.5.5 获取JavaBean属性值的动作jsp:getProperty 357
16.5.6 声明使用Java插件的动作jsp:plugin 357
16.6 本章小结 358
第17章 JSP的内置对象 359
17.1 JSP内置对象的概述 360
17.2 request对象 361
17.2.1 访问请求参数 361
17.2.2 在作用域中管理属性 362
17.2.3 获取Cookie 363
17.2.4 访问HTTP报头 365
17.2.5 访问请求行元素 365
17.2.6 访问安全信息 366
17.2.7 访问国际化信息 366
17.3 response对象 366
17.3.1 重定向网页 367
17.3.2 处理HTTP文件报头 367
17.3.3 输出缓冲 368
17.4 session对象 369
17.4.1 创建及获取客户的会话 369
17.4.2 从会话中移动指定的绑定对象 369
17.4.3 销毁Session 369
17.4.4 会话超时的管理 370
17.4.5 session对象的应用 370
17.5 application对象 371
17.5.1 访问应用程序初始化参数 372
17.5.2 管理应用程序环境属性 373
17.6 out对象 373
17.6.1 管理响应缓冲 374
17.6.2 向客户端输出数据 374
17.7 其他内置对象 374
17.7.1 获取会话范围的pageContext对象 374
17.7.2 读取web.xml配置信息的config对象 375
17.7.3 应答或请求的page对象 376
17.7.4 获取异常信息的exception对象 377
17.8 本章小结 378
第18章 JavaBean技术 379
18.1 JavaBean概述 380
18.1.1 JavaBean技术介绍 380
18.1.2 JavaBean的种类 380
18.1.3 JavaBean的形式和要素 380
18.2 JavaBean属性 381
18.2.1 使用Simple属性 382
18.2.2 使用Indexed属性 382
18.2.3 使用Bound属性 383
18.2.4 使用Constrained属性 383
18.3 JavaBean方法 383
18.4 JSP与JavaBean 384
18.4.1 JavaBean在JSP中的作用域 384
18.4.2 在JavaBean中连接数据库 390
18.4.3 JavaBean的移除 393
18.5 应用程序与JavaBean 394
18.5.1 可视化编程中的JavaBean简介 394
18.5.2 java.beans包 395
18.6 本章小结 400
第19章 Servlet技术 401
19.1 Servlet基础 402
19.1.1 Servlet技术简介 402
19.1.2 Servlet技术功能 402
19.1.3 Servlet技术特性 402
19.1.4 Servlet的生命周期 403
19.1.5 快速体验Servlet程序 404
19.2 Servlet API编程常用接口和类 405
19.2.1 Servlet编程接口 405
19.2.2 HttpServlet编程类 407
19.2.3 HttpServletRequest编程接口 410
19.2.4 HttpServletResponse编程接口 411
19.3 创建与配置Servlet 411
19.3.1 Servlet的创建 411
19.3.2 Servlet的配置 412
19.4 Servlet过滤器 414
19.4.1 Servlet过滤器简介 414
19.4.2 Servlet过滤器工作原理 415
19.4.3 Servlet过滤器编程接口 415
19.4.4 Servlet过滤器的配置 416
19.4.5 Servlet过滤器的典型实例 417
19.5 Servlet监听器 420
19.5.1 Servlet监听器简介 420
19.5.2 Servlet监听器的原理 420
19.5.3 Servlet上下文监听 420
19.5.4 HTTP会话监听 421
19.5.5 Servlet请求监听 422
19.5.6 Servlet监听器的典型应用 422
19.6 本章小结 424
第20章 博客网站 425
20.1 网站总体分析 426
20.1.1 项目规划 426
20.1.2 系统功能结构图 426
20.2 数据库设计 426
20.2.1 E-R图 426
20.2.2 数据表概要说明 428
20.2.3 主要数据表的结构 428
20.3 网站总体架构设计 430
20.3.1 文件架构设计 430
20.3.2 类的分布架构设计 430
20.3.3 页面效果图 431
20.4 系统配置 432
20.5 公共类的编写 433
20.5.1 数据库连接及操作类的编写 433
20.5.2 字符串处理类的编写 435
20.5.3 获取系统时间类的编写 435
20.5.4 实现分页操作类的编写 435
20.6 系统登录模块设计 438
20.6.1 页面设计 438
20.6.2 功能实现 439
20.7 用户注册模块设计 442
20.7.1 页面设计 442
20.7.2 功能实现 443
20.8 文章管理模块设计 444
20.8.1 文章类型管理 444
20.8.2 发表文章 448
20.8.3 删除文章 450
20.8.4 查询文章 450
20.9 相册管理模块设计 451
20.9.1 查看相册 452
20.9.2 相片上传 454
20.10 网络日历功能实现 457
20.11 本章小结 458