第1篇 基础知识
第1章 初识Java3
视频讲解:34分钟
1.1 Java简介4
1.1.1 什么是Java语言4
1.1.2 Java的应用领域4
1.1.3 Java的版本5
1.1.4 怎样学好Java6
1.1.5 Java API文档7
1.2 Java特性7
1.2.1 简单8
1.2.2 面向对象8
1.2.3 分布性8
1.2.4 可移植性8
1.2.5 解释型8
1.2.6 安全性9
1.2.7 健壮性9
1.2.8 多线程9
1.2.9 高性能9
1.2.10 动态9
1.3 搭建Java环境9
1.3.1 JDK下载10
1.3.2 Windows系统的JDK环境12
1.4 第一个Java程序14
1.5 小结16
1.6 实践与练习16
第2章 熟悉Eclipse开发工具17
视频讲解:35分钟
2.1 熟悉Eclipse18
2.1.1 Eclipse简介18
2.1.2 下载Eclipse18
2.1.3 安装Eclipse的中文语言包20
2.1.4 Eclipse的配置与启动21
2.1.5 Eclipse工作台22
2.1.6 透视图与视图23
2.1.7 菜单栏24
2.1.8 工具栏27
2.1.9 “包资源管理器”视图28
2.1.10 “控制台”视图28
2.2 使用Eclipse28
2.2.1 创建Java项目28
2.2.2 创建Java类文件29
2.2.3 使用编辑器编写程序代码30
2.2.4 运行Java程序32
2.3 程序调试32
2.4 小结34
2.5 实践与练习34
第3章 Java语言基础35
视频讲解:37分钟
3.1 Java主类结构36
3.1.1 包声明36
3.1.2 声明成员变量和局部变量37
3.1.3 编写主方法37
3.1.4 导入API类库37
3.2 基本数据类型37
3.2.1 整数类型38
3.2.2 浮点类型39
3.2.3 字符类型40
3.2.4 布尔类型41
3.3 变量与常量41
3.3.1 标识符和关键字42
3.3.2 声明变量42
3.3.3 声明常量43
3.3.4 变量的有效范围44
3.4 运算符45
3.4.1 赋值运算符46
3.4.2 算术运算符47
3.4.3 自增和自减运算符48
3.4.4 比较运算符48
3.4.5 逻辑运算符49
3.4.6 位运算符50
3.4.7 三元运算符52
3.4.8 运算符优先级52
第1篇 基础知识
第1章 初识Java3
视频讲解:34分钟
1.1 Java简介4
1.1.1 什么是Java语言4
1.1.2 Java的应用领域4
1.1.3 Java的版本5
1.1.4 怎样学好Java6
1.1.5 Java API文档7
1.2 Java特性7
1.2.1 简单8
1.2.2 面向对象8
1.2.3 分布性8
1.2.4 可移植性8
1.2.5 解释型8
1.2.6 安全性9
1.2.7 健壮性9
1.2.8 多线程9
1.2.9 高性能9
1.2.10 动态9
1.3 搭建Java环境9
1.3.1 JDK下载10
1.3.2 Windows系统的JDK环境12
1.4 第一个Java程序14
1.5 小结16
1.6 实践与练习16
第2章 熟悉Eclipse开发工具17
视频讲解:35分钟
2.1 熟悉Eclipse18
2.1.1 Eclipse简介18
2.1.2 下载Eclipse18
2.1.3 安装Eclipse的中文语言包20
2.1.4 Eclipse的配置与启动21
2.1.5 Eclipse工作台22
2.1.6 透视图与视图23
2.1.7 菜单栏24
2.1.8 工具栏27
2.1.9 “包资源管理器”视图28
2.1.10 “控制台”视图28
2.2 使用Eclipse28
2.2.1 创建Java项目28
2.2.2 创建Java类文件29
2.2.3 使用编辑器编写程序代码30
2.2.4 运行Java程序32
2.3 程序调试32
2.4 小结34
2.5 实践与练习34
第3章 Java语言基础35
视频讲解:37分钟
3.1 Java主类结构36
3.1.1 包声明36
3.1.2 声明成员变量和局部变量37
3.1.3 编写主方法37
3.1.4 导入API类库37
3.2 基本数据类型37
3.2.1 整数类型38
3.2.2 浮点类型39
3.2.3 字符类型40
3.2.4 布尔类型41
3.3 变量与常量41
3.3.1 标识符和关键字42
3.3.2 声明变量42
3.3.3 声明常量43
3.3.4 变量的有效范围44
3.4 运算符45
3.4.1 赋值运算符46
3.4.2 算术运算符47
3.4.3 自增和自减运算符48
3.4.4 比较运算符48
3.4.5 逻辑运算符49
3.4.6 位运算符50
3.4.7 三元运算符52
3.4.8 运算符优先级52
3.5 数据类型转换53
3.5.1 隐式类型转换53
3.5.2 显式类型转换55
3.6 代码注释与编码规范55
3.6.1 代码注释55
3.6.2 编码规范57
3.7 小结57
3.8 实践与练习58
第4章 流程控制59
视频讲解:25分钟
4.1 复合语句60
4.2 条件语句60
4.2.1 if条件语句61
4.2.2 switch多分支语句65
4.3 循环语句67
4.3.1 while循环语句67
4.3.2 do…while循环语句68
4.3.3 for循环语句69
4.4 小结71
4.5 实践与练习72
第5章 字符串73
视频讲解:38分钟
5.1 String类74
5.1.1 声明字符串74
5.1.2 创建字符串74
5.2 连接字符串75
5.2.1 连接多个字符串76
5.2.2 连接其他数据类型76
5.3 获取字符串信息77
5.3.1 获取字符串长度78
5.3.2 字符串查找78
5.3.3 获取指定索引位置的字符79
5.4 字符串操作80
5.4.1 获取子字符串80
5.4.2 去除空格81
5.4.3 字符串替换82
5.4.4 判断字符串的开始与结尾83
5.4.5 判断字符串是否相等84
5.4.6 按字典顺序比较两个字符串85
5.4.7 字母大小写转换86
5.4.8 字符串分割87
5.5 格式化字符串88
5.5.1 日期和时间字符串格式化89
5.5.2 常规类型格式化92
5.6 使用正则表达式93
5.7 字符串生成器95
5.8 小结97
5.9 实践与练习97
第6章 数组99
视频讲解:51分钟
6.1 数组概述100
6.2 一维数组的创建及使用100
6.2.1 创建一维数组100
6.2.2 初始化一维数组101
6.2.3 使用一维数组102
6.3 二维数组的创建及使用102
6.3.1 二维数组的创建102
6.3.2 二维数组初始化104
6.3.3 使用二维数组104
6.4 数组的基本操作105
6.4.1 遍历数组105
6.4.2 填充替换数组元素106
6.4.3 对数组进行排序108
6.4.4 复制数组108
6.4.5 数组查询110
6.5 数组排序算法112
6.5.1 冒泡排序112
6.5.2 直接选择排序114
6.5.3 反转排序116
6.6 小结118
6.7 实践与练习118
第7章 类和对象119
视频讲解:57分钟
7.1 面向对象概述120
7.1.1 对象120
7.1.2 类121
7.1.3 封装122
7.1.4 继承122
7.1.5 多态123
7.2 类124
7.2.1 成员变量124
7.2.2 成员方法125
7.2.3 权限修饰符126
7.2.4 局部变量127
7.2.5 局部变量的有效范围127
7.2.6 this关键字128
7.3 类的构造方法129
7.4 静态变量、常量和方法130
7.5 类的主方法132
7.6 对象134
7.6.1 对象的创建134
7.6.2 访问对象的属性和行为135
7.6.3 对象的引用137
7.6.4 对象的比较138
7.6.5 对象的销毁139
7.7 小结140
7.8 实践与练习140
第8章 包装类141
视频讲解:19分钟
8.1 Integer142
8.2 Boolean144
8.3 Byte146
8.4 Character147
8.5 Double148
8.6 Number150
8.7 小结150
8.8 实践与练习150
第9章 数字处理类151
视频讲解:21分钟
9.1 数字格式化152
9.2 数学运算154
9.2.1 Math类155
9.2.2 常用数学运算方法155
9.3 随机数159
9.3.1 Math.random()方法159
9.3.2 Random类161
9.4 大数字运算163
9.4.1 BigInteger163
9.4.2 BigDecimal165
9.5 小结168
9.6 实践与练习168
第2篇 核心技术
第10章 接口、继承与多态171
视频讲解:36分钟
10.1 类的继承172
10.2 Object类175
10.3 对象类型的转换177
10.3.1 向上转型177
10.3.2 向下转型178
10.4 instanceof判断对象类型179
10.5 方法的重载181
10.6 多态184
10.7 抽象类与接口186
10.7.1 抽象类186
10.7.2 接口187
10.8 小结190
10.9 实践与练习190
第11章 类的高级特性191
视频讲解:29分钟
11.1 Java类包192
11.1.1 类名冲突192
11.1.2 完整的类路径192
11.1.3 创建类包193
11.1.4 导入类包194
11.2 final变量196
11.3 final方法199
11.4 final类200
11.5 内部类201
11.5.1 成员内部类201
11.5.2 局部内部类205
11.5.3 匿名类206
11.5.4 静态内部类207
11.5.5 内部类的继承208
11.6 小结208
11.7 实践与练习208
第12章 异常处理209
视频讲解:23分钟
12.1 异常概述210
12.2 处理程序异常错误210
12.2.1 错误211
12.2.2 捕捉异常211
12.3 Java常见异常213
12.4 自定义异常214
12.5 在方法中抛出异常215
12.5.1 使用throws关键字抛出异常215
12.5.2 使用throw关键字抛出异常216
12.6 运行时异常217
12.7 异常的使用原则218
12.8 小结218
12.9 实践与练习219
第13章 Swing程序设计221
视频讲解:1小时2分钟
13.1 Swing概述222
13.1.1 Swing特点222
13.1.2 Swing包222
13.1.3 常用Swing组件概述223
13.2 常用窗体223
13.2.1 JFrame窗体223
13.2.2 JDialog窗体225
13.3 标签组件与图标227
13.3.1 标签的使用227
13.3.2 图标的使用227
13.4 常用布局管理器230
13.4.1 绝对布局230
13.4.2 流布局管理器231
13.4.3 边界布局管理器233
13.4.4 网格布局管理器234
13.5 常用面板235
13.5.1 JPanel面板236
13.5.2 JScrollPane面板237
13.6 按钮组件238
13.6.1 提交按钮组件238
13.6.2 单选按钮组件239
13.6.3 复选框组件240
13.7 列表组件241
13.7.1 下拉列表框组件242
13.7.2 列表框组件243
13.8 文本组件245
13.8.1 文本框组件246
13.8.2 密码框组件247
13.8.3 文本域组件247
13.9 常用事件监听器248
13.9.1 监听事件简介248
13.9.2 动作事件监听器249
13.9.3 焦点事件监听器250
13.10 小结252
13.11 实践与练习252
第14章 集合类253
视频讲解:24分钟
14.1 集合类概述254
14.2 Collection接口254
14.3 List集合255
14.3.1 List接口255
14.3.2 List接口的实现类256
14.4 Set集合257
14.5 Map集合259
14.5.1 Map接口259
14.5.2 Map接口的实现类260
14.6 小结262
14.7 实践与练习262
第15章 I/O输入输出263
视频讲解:39分钟
15.1 流概述264
15.2 输入输出流264
15.2.1 输入流264
15.2.2 输出流266
15.3 File类267
15.3.1 文件的创建与删除267
15.3.2 获取文件信息268
15.4 文件输入输出流270
15.4.1 FileInputStream与
FileOutputStream类270
15.4.2 FileReader类和FileWriter类271
15.5 带缓存的输入输出流273
15.5.1 BufferedInputStream与
BufferedOutputStream类274
15.5.2 BufferedReader与
BufferedWriter类274
15.6 数据输入输出流276
15.7 ZIP压缩输入输出流277
15.7.1 压缩文件278
15.7.2 解压缩ZIP文件279
15.8 小结281
15.9 实践与练习281
第16章 反射283
视频讲解:48分钟
16.1 Class类与Java反射284
16.1.1 访问构造方法285
16.1.2 访问成员变量288
16.1.3 访问方法290
16.2 使用Annotation功能293
16.2.1 定义Annotation类型293
16.2.2 访问Annotation信息296
16.3 小结299
16.4 实践与练习299
第17章 枚举类型与泛型301
视频讲解:22分钟
17.1 枚举类型302
17.1.1 使用枚举类型设置常量302
17.1.2 深入了解枚举类型304
17.1.3 使用枚举类型的优势309
17.2 泛型309
17.2.1 回顾“向上转型”与“向下转型”310
17.2.2 定义泛型类311
17.2.3 泛型的常规用法312
17.2.4 泛型的高级用法315
17.2.5 泛型总结318
17.3 小结318
17.4 实践与练习318
第18章 多线程319
视频讲解:20分钟
18.1 线程简介320
18.2 实现线程的两种方式320
18.2.1 继承Thread类321
18.2.2 实现Runnable接口322
18.3 线程的生命周期324
18.4 操作线程的方法326
18.4.1 线程的休眠326
18.4.2 线程的加入328
18.4.3 线程的中断329
18.4.4 线程的礼让331
18.5 线程的优先级331
18.6 线程同步333
18.6.1 线程安全334
18.6.2 线程同步机制335
18.7 小结337
18.8 实践与练习337
第19章 网络通信339
视频讲解:24分钟
19.1 网络程序设计基础340
19.1.1 局域网与因特网340
19.1.2 网络协议340
19.1.3 端口和套接字341
19.2 TCP程序设计基础342
19.2.1 InetAddress类342
19.2.2 ServerSocket类343
19.2.3 TCP网络程序344
19.3 UDP程序设计基础348
19.3.1 DatagramPacket类348
19.3.2 DatagramSocket类349
19.3.3 UDP网络程序349
19.4 小结352
19.5 实践与练习353
第20章 数据库操作355
视频讲解:30分钟
20.1 数据库基础知识356
20.1.1 什么是数据库356
20.1.2 数据库的种类及功能357
20.1.3 SQL语言357
20.2 JDBC概述359
20.2.1 JDBC-ODBC桥359
20.2.2 JDBC技术360
20.2.3 JDBC驱动程序的类型360
20.3 JDBC中常用的类和接口360
20.3.1 Connection接口361
20.3.2 Statement接口361
20.3.3 PreparedStatement接口362
20.3.4 DriverManager类362
20.3.5 ResultSet接口362
20.4 数据库操作363
20.4.1 连接数据库364
20.4.2 向数据库发送SQL语句365
20.4.3 处理查询结果集365
20.4.4 顺序查询366
20.4.5 模糊查询367
20.4.6 预处理语句368
20.4.7 添加、修改、删除记录370
20.5 小结372
20.6 实践与练习372
第3篇 高级应用
第21章 Swing表格组件375
视频讲解:59分钟
21.1 利用JTable类直接创建表格376
21.1.1 创建表格376
21.1.2 定制表格378
21.1.3 操纵表格382
21.2 表格模型与表格384
21.2.1 利用表格模型创建表格384
21.2.2 维护表格模型386
21.3 提供行标题栏的表格388
21.4 小结393
21.5 实践与练习393
第22章 Swing树组件395
视频讲解:1小时4分钟
22.1 简单的树396
22.2 处理选中节点事件397
22.3 遍历树节点399
22.4 定制树401
22.5 维护树模型403
22.6 处理展开节点事件406
22.7 小结408
22.8 实践与练习408
第23章 Swing其他高级组件409
视频讲解:1小时35分钟
23.1 高级组件面板410
23.1.1 分割面板410
23.1.2 选项卡面板413
23.1.3 桌面面板和内部窗体415
23.2 菜单420
23.2.1 创建菜单栏420
23.2.2 创建弹出式菜单422
23.2.3 定制个性化菜单422
23.3 工具栏426
23.4 文件选择器428
23.4.1 文件选择对话框428
23.4.2 使用文件过滤器429
23.5 进度条431
23.6 系统托盘432
23.7 桌面集成控件433
23.8 小结434
23.9 实践与练习434
第24章 高级布局管理器435
视频讲解:1小时40分钟
24.1 箱式布局管理器436
24.2 卡片布局管理器438
24.3 网格组布局管理器441
24.4 弹簧布局管理器447
24.4.1 使用弹簧布局管理器447
24.4.2 使用弹簧和支柱450
24.4.3 利用弹簧控制组件大小451
24.5 小结452
24.6 实践与练习452
第25章 高级事件处理453
视频讲解:33分钟
25.1 键盘事件454
25.2 鼠标事件456
25.3 窗体事件458
25.3.1 捕获窗体焦点变化事件458
25.3.2 捕获窗体状态变化事件459
25.3.3 捕获其他窗体事件461
25.4 选项事件463
25.5 表格模型事件464
25.6 小结467
25.7 实践与练习467
第26章 AWT绘图与音频播放469
视频讲解:34分钟
26.1 Java绘图470
26.1.1 Graphics470
26.1.2 Graphics2D470
26.2 绘制图形470
26.3 绘图颜色与笔画属性474
26.3.1 设置颜色474
26.3.2 笔画属性475
26.4 绘制文本476
26.4.1 设置字体477
26.4.2 显示文字477
26.5 绘制图片478
26.6 图像处理480
26.6.1 放大与缩小480
26.6.2 图像翻转482
26.6.3 图像旋转484
26.6.4 图像倾斜485
26.7 播放音频文件487
26.8 小结489
26.9 实践与练习489
第27章 打印技术491
视频讲解:32分钟
27.1 打印控制类492
27.2 “打印”对话框493
27.3 打印页面495
27.4 多页打印497
27.5 打印预览499
27.6 小结501
27.7 实践与练习501
第4篇 项目实战
第28章 企业进销存管理系统505
视频讲解:1小时37分钟
28.1 系统分析506
28.1.1 需求分析506
28.1.2 可行性分析506
28.1.3 编写项目计划书507
28.2 系统设计509
28.2.1 系统目标509
28.2.2 系统功能结构509
28.2.3 系统业务流程图510
28.2.4 系统编码规范511
28.3 开发环境512
28.4 数据库与数据表设计513
28.4.1 数据库分析513
28.4.2 创建数据库514
28.4.3 创建数据表514
28.5 创建项目518
28.6 系统文件夹组织结构519
28.7 公共类设计520
28.7.1 Item公共类520
28.7.2 数据模型公共类521
28.7.3 Dao公共类523
28.8 系统登录模块设计529
28.8.1 设计登录窗体529
28.8.2 “密码”文本框的回车事件530
28.8.3 “登录”按钮的事件处理531
28.9 系统主窗体设计532
28.9.1 设计菜单栏532
28.9.2 设计工具栏535
28.9.3 设计状态栏536
28.10 进货单模块设计537
28.10.1 设计进货单窗体538
28.10.2 添加进货商品539
28.10.3 进货统计539
28.10.4 商品入库540
28.11 销售单模块设计542
28.11.1 设计销售单窗体543
28.11.2 添加销售商品544
28.11.3 销售统计544
28.11.4 商品销售545
28.12 库存盘点模块设计547
28.12.1 设计库存盘点窗体548
28.12.2 读取库存商品548
28.12.3 统计损益数量549
28.13 数据库备份与恢复模块设计550
28.13.1 设计窗体551
28.13.2 文件浏览551
28.13.3 备份数据库552
28.13.4 恢复数据库553
28.14 运行项目554
28.15 系统打包发行556
28.16 开发常见问题与解决558
28.16.1 数据库无法访问558
28.16.2 打包的JAR文件无法登录559
28.16.3 数据库还原不成功560
28.16.4 数据库只读560
28.16.5 无法打开内部窗体560
28.16.6 “关于”界面被其他窗体覆盖561
28.16.7 打包JAR文件之后无法运行561
28.16.8 程序运行后没有出现闪屏界面561
28.17 小结562