《Java自学视频教程》
第1篇入门篇
第1章 Java开发前奏2
(视讲解:19分钟)
1.1 Java简介3
1.1.1 Java语言3
1.1.2 与其他语言相比Java的优势3
1.1.3 计算机语言中Java近几年的排行4
1.1.4 Java的发展史5
1.1.5 Java的成功案例6
1.2 Java特性6
1.2.1 Java的应用领域7
1.2.2 Java语法的特征7
1.3 怎么学Java9
1.3.1 Java程序员的成长之路9
1.3.2 如何学好Java9
1.4 本章小结10
第2章 Java开发环境11
(视频讲解:18分钟)
2.1 JDK的下载及安装12
2.1.1 下载JDK12
2.1.2 安装JDK14
2.1.3 Windows系统下配置和测试JDK15
2.2 Java程序的开发过程17
2.3 一个简单的Java程序18
2.3.1 构建Java程序18
2.3.2 编译和运行Java程序19
2.3.3 使用Java核心API文档20
2.4 综合应用20
2.4.1 添加依赖项目到构建路径20
2.4.2 创建用户自定义类库21
2.4.3 为项目添加类库23
2.5 本章小结23
2.6 跟我上机24
第3章 Java语言基本语法25
(视频讲解:59分钟)
3.1 使用常量与变量26
3.1.1 常量的概念及使用26
3.1.2 变量的概念及命名规则27
3.1.3 变量的有效范围28
3.2 认识基本的数据类型31
3.2.1 整数类型32
3.2.2 浮点类型34
3.2.3 字符类型34
3.2.4 布尔类型35
3.2.5 基本数据类型间的转换35
3.3 熟练运用Java运算符37
3.3.1 赋值运算符37
3.3.2 算术运算符37
3.3.3 关系运算符38
3.3.4 逻辑运算符39
3.3.5 位运算符42
3.3.6 其他运算符45
3.3.7 运算符的优先级别及结合性47
3.4 了解Java标识符与关键字47
3.4.1 标识符48
3.4.2 关键字48
3.5 编码规范49
3.5.1 Java命名规范49
3.5.2 代码编写规则50
3.6 Java程序的注释50
3.6.1 单行注释50
3.6.2 使用多行注释51
3.6.3 文档注释的使用51
3.7 综合应用52
3.7.1 加密可以这样简单52
3.7.2 位运算实现两个变量值的互换52
3.8 本章小结53
3.9 跟我上机53
第4章掌握算法和流程控制54
(视频讲解:37分钟)
4.1 认识算法55
4.1.1 什么是算法55
4.1.2 算法的描述方法55
4.2 运用分支语句56
4.2.1 简单的if条件语句56
4.2.2 if-else条件语句58
4.2.3 if-else-if多分支语句60
4.2.4 switch多分支语句62
4.2.5 if语句和switch语句的区别65
4.3 学习循环语句66
4.3.1 for循环语句66
4.3.2 while循环语句68
4.3.3 do-while循环语句70
4.3.4 foreach语句73
4.3.5 各循环语句间的区别74
4.4 学习跳转语句74
4.4.1 break跳转语句74
4.4.2 continue跳转语句75
4.4.3 return跳转语句75
4.5 综合应用76
4.5.1 根据消费金额计算折扣76
4.5.2 判断某一年是否为闰年77
4.6 本章小结78
4.7 跟我上机78
第5章使用Eclipse开发工具79
(视频讲解:24分钟)
5.1 使用Eclipse开发工具的原因80
5.2 Eclipse的工作台80
5.2.1 Eclipse工作台概述80
5.2.2 透视图81
5.2.3 编辑器82
5.2.4 熟悉Eclipse的菜单栏和工具栏83
5.3 编写Java程序84
5.3.1 新建Java项目84
5.3.2 新建Java类85
5.3.3 编写Java代码87
5.3.4 运行程序88
5.3.5 保存并关闭Java项目88
5.4 探秘Eclipse资源管理89
5.4.1 导入Java类89
5.4.2 导入Java项目90
5.4.3 导出Java项目91
5.5 本章小结92
第6章面向对象程序设计93
(视频讲解:1小时2分钟)
6.1 面向对象程序设计94
6.1.1 面向对象程序设计概述94
6.1.2 面向对象程序设计的特点95
6.2 解密类和对象97
6.2.1 定义类97
6.2.2 成员变量和局部变量98
6.2.3 构造方法的概念及用途100
6.2.4 创建对象101
6.2.5 使用对象102
6.2.6 销毁对象103
6.3 使用包103
6.3.1 包的概念103
6.3.2 创建包103
6.3.3 使用包中的类104
6.4 了解Java中的继承关系105
6.4.1 继承的概念105
6.4.2 创建子类105
6.4.3 继承的使用原则106
6.4.4 使用this关键字107
6.4.5 使用super关键字108
6.5 认识多态技术109
6.5.1 方法的重载109
6.5.2 方法的覆盖110
6.6 抽象类112
6.7 final类与final方法115
6.7.1 final类115
6.7.2 final方法116
6.8 掌握Java中的接口117
6.8.1 定义接口117
6.8.2 实现接口118
6.9 综合应用120
6.9.1 定义不能重写的方法120
6.9.2 温度转换121
6.10 本章小结121
6.11 跟我上机122
第7章数组应用123
(视频讲解:41分钟)
7.1 一维数组124
7.1.1 声明一维数组124
7.1.2 创建一维数组124
7.1.3 初始化一维数组126
7.1.4 使用一维数组128
7.2 二维数组129
7.2.1 声明二维数组129
7.2.2 创建二维数组130
7.2.3 初始化二维数组131
7.2.4 使用二维数组132
7.3 操作数组133
7.3.1 复制数组134
7.3.2 排序数组135
7.3.3 比较数组137
7.3.4 搜索数组137
7.3.5 填充数组138
7.3.6 传递数组139
7.4 综合应用140
7.4.1 使用直接选择排序法140
7.4.2 使用快速排序法142
7.5 本章小结143
7.6 跟我上机143
第8章字符串处理144
(视频讲解:44分钟)
8.1 初识字符串145
8.1.1 字符串常量145
8.1.2 声明字符串变量145
8.1.3 创建字符串145
8.2 连接字符串148
8.2.1 字符串与字符串的连接148
8.2.2 字符串与其他类型数据的连接148
8.3 字符串操作150
8.3.1 比较字符串150
8.3.2 获取字符串的长度153
8.3.3 字符串的大小写转换153
8.3.4 查找字符串153
8.3.5 获取字符串的子字符串156
8.3.6 替换或去除字符串中的空格156
8.3.7 分割字符串157
8.4 格式化字符串158
8.4.1 常规类型的格式化158
8.4.2 日期和时间字符串格式化161
8.5 使用StringBuilder类165
8.5.1 创建字符串生成器165
8.5.2 字符串生成器的应用166
8.6 使用正则表达式168
8.7 综合应用170
8.7.1 格式化当前日期170
8.7.2 获取字符串中的汉字个数171
8.8 本章小结172
8.9 跟我上机172
第2篇提高篇
第9章集合类174
(视频讲解:32分钟)
9.1 集合类概述175
9.2 Collection接口175
9.2.1 addAll()方法175
9.2.2 removeAll()方法176
9.2.3 retainAll()方法177
9.2.4 containsAll()方法178
9.2.5 toArray(T[] t)方法179
9.3 List集合180
9.3.1 List接口的实现类180
9.3.2 List的用法180
9.4 Set集合183
9.4.1 HashSet类183
9.4.2 TreeSet类185
9.5 Map集合187
9.5.1 Map接口187
9.5.2 Map接口的实现类188
9.6 综合应用190
9.6.1 使用List集合传递学生信息190
9.6.2 实现省市级联输出191
9.7 本章小结192
9.8 跟我上机192
第10章使用异常处理机制193
(视频讲解:18分钟)
10.1 异常处理194
10.2 常见异常类194
10.3 Java异常处理195
10.3.1 错误195
10.3.2 捕获异常196
10.4 内置异常类197
10.4.1 Error类198
10.4.2 Exception类198
10.5 自定义异常200
10.6 在方法中抛出异常202
10.6.1 使用throws关键字抛出异常202
10.6.2 使用throw关键字抛出异常202
10.7 异常处理使用原则204
10.8 本章小结204
10.9 跟我上机204
第11章 Java的I/O技术205
(视频讲解:28分钟)
11.1 Java的I/O处理方式206
11.1.1 I/O的基本模式206
11.1.2 Java提供的流类207
11.1.3 输入流207
11.1.4 输出流208
11.2 以byte为数据单位的流类209
11.2.1 InputStream类209
11.2.2 OutputStream类210
11.3 以char为数据单位的流类211
11.3.1 Reader类211
11.3.2 Writer类213
11.4 常用I/O处理方式214
11.4.1 文件类214
11.4.2 文件的字节输入/输出流216
11.4.3 文件的字符输入/输出流219
11.4.4 带缓存的输入/输出流222
11.4.5 对象序列化224
11.5 对文件及文件夹进行操作226
11.5.1 复制文件226
11.5.2 复制文件夹227
11.5.3 删除文件229
11.5.4 分行写入文件229
11.6 综合应用230
11.6.1 文件锁定230
11.6.2 将用户输入的内容保存到文本文件231
11.7 本章小结232
11.8 跟我上机232
第12章多线程技术233
(视频讲解:37分钟)
12.1 线程概述234
12.1.1 进程234
12.1.2 线程234
12.2 线程的创建236
12.2.1 继承Thread类236
12.2.2 实现Runnable接口237
12.2.3 两种创建线程方式的比较239
12.3 线程的生命周期239
12.4 线程的优先级及执行顺序240
12.4.1 线程的优先级241
12.4.2 线程的执行顺序241
12.5 线程的控制245
12.5.1 线程的启动245
12.5.2 线程的挂起245
12.5.3 结束线程249
12.5.4 线程组250
12.6 线程的同步251
12.6.1 线程安全251
12.6.2 线程同步机制252
12.7 线程通信255
12.8 多线程产生死锁259
12.9 综合应用259
12.9.1 使用守护线程259
12.9.2 线程的插队260
12.10 本章小结261
12.11 跟我上机262
第13章枚举与泛型263
(视频讲解:17分钟)
13.1 枚举类型264
13.1.1 使用枚举类型设置常量264
13.1.2 深入了解枚举类型266
13.1.3 枚举类型的优势271
13.2 泛型272
13.2.1 向上转型与向下转型272
13.2.2 定义泛型类273
13.2.3 泛型的常规用法274
13.2.4 泛型的高级用法278
13.2.5 泛型总结280
13.3 综合应用281
13.3.1 遍历枚举接口的元素281
13.3.2 选择合适的枚举元素281
13.4 本章小结282
13.5 跟我上机282
第14章 Swing基础知识283
(视频讲解:30分钟)
14.1 Swing概述284
14.1.1 Swing的特点284
14.1.2 Swing包284
14.1.3 常用Swing组件概述285
14.2 常见窗体285
14.2.1 JFrame窗体285
14.2.2 JDialog窗体287
14.3 掌握基本组件289
14.3.1 标签组件289
14.3.2 按钮组件291
14.3.3 文本组件294
14.3.4 列表组件297
14.4 向窗体中添加容器300
14.4.1 JPanel面板的应用300
14.4.2 JScrollPane面板的应用301
14.4.3 分割面板的应用302
14.4.4 选项卡面板的应用305
14.5 选择合理的布局方式307
14.5.1 灵活指定组件位置的绝对布局307
14.5.2 窗体默认的边界布局308
14.5.3 奇妙的网格布局309
14.5.4 按指定方向摆放组件的流式布局311
14.6 常用的事件监听器312
14.6.1 事件监听器概述312
14.6.2 事件监听器313
14.6.3 动作事件(ActionEvent)监听器314
14.6.4 焦点事件(FocusEvent)监听器315
14.7 综合应用316
14.7.1 实现按钮关键字描红316
14.7.2 鼠标经过时按钮放大317
14.8 本章小结318
14.9 跟我上机318
第15章 JDBC技术319
(视频讲解:44分钟)
15.1 了解数据库基础知识320
15.1.1 生活中的数据库320
15.1.2 了解数据库的特点及分类320
15.2 JDBC技术321
15.2.1 JDBC技术概述321
15.2.2 在项目中添加数据库驱动的原因322
15.3 认识JDBC中不可缺少的类与接口322
15.3.1 管理数据库驱动类DriverManager322
15.3.2 数据库连接接口Connection323
15.3.3 发送SQL语句接口Statement323
15.3.4 可执行动态SQL的接口PreparedStatement324
15.3.5 查询结果集接口ResultSet324
15.4 操作数据库的步骤325
15.4.1 加载JDBC驱动程序325
15.4.2 创建数据库连接326
15.4.3 执行SQL语句327
15.4.4 获得查询结果328
15.4.5 关闭连接328
15.5 常见的数据操作329
15.5.1 添加数据329
15.5.2 修改数据330
15.5.3 删除数据331
15.5.4 查询数据332
15.5.5 使用预处理语句334
15.6 综合应用336
15.6.1 查询商品销售的前3名336
15.6.2 查询男生和女生的人数339
15.7 本章小结339
15.8 跟我上机340
第16章 Swing高级组件341
(视频讲解:39分钟)
16.1 为窗体添加菜单342
16.1.1 创建菜单栏342
16.1.2 创建菜单342
16.1.3 创建菜单项343
16.1.4 创建弹出式菜单345
16.1.5 创建个性化菜单346
16.2 实现为窗体添加工具栏349
16.2.1 创建工具栏350
16.2.2 为工具栏添加工具按钮350
16.3 使用对话框351
16.3.1 打开本地文件的文件对话框352
16.3.2 为用户提供信息对话框354
16.3.3 色彩斑斓的颜色选择对话框356
16.3.4 实现确认操作的确认对话框357
16.4 表格组件358
16.4.1 实现创建表格359
16.4.2 表格模型360
16.4.3 维护表格模型362
16.5 使用系统托盘364
16.5.1 实现获取系统托盘365
16.5.2 为系统托盘添加图标的方法365
16.5.3 添加弹出菜单366
16.6 综合应用368
16.6.1 简单的图片浏览器368
16.6.2 浏览文本文件内容369
16.7 本章小结372
16.8 跟我上机373
第17章 GUI事件处理机制374
(视频讲解:30分钟)
17.1 掌握窗体事件375
17.1.1 捕获窗体焦点变化事件375
17.1.2 捕获窗体状态变化事件376
17.1.3 捕获其他窗体事件378
17.2 掌握鼠标操作379
17.2.1 鼠标事件监听器379
17.2.2 鼠标事件处理380
17.3 掌握键盘控制事件382
17.3.1 键盘事件监听器382
17.3.2 键盘事件处理383
17.4 选项事件385
17.5 表格模型事件386
17.6 综合应用389
17.6.1 创建总显示在最上方的窗体389
17.6.2 创建内部子窗体390
17.7 本章小结390
17.8 跟我上机391
第18章网络程序设计392
(视频讲解:47分钟)
18.1 网络程序设计基础393
18.1.1 局域网和广域网393
18.1.2 网络协议393
18.2 端口与套接字394
18.2.1 端口395
18.2.2 套接字395
18.3 学习TCP编程原理396
18.3.1 TCP协议396
18.3.2 掌握TCP编程的常用类396
18.3.3 编写TCP程序400
18.4 学习UDP编程原理402
18.4.1 UDP协议402
18.4.2 掌握UDP编程的常用类403
18.4.3 编写UDP程序404
18.5 综合应用407
18.5.1 客户端一对一通信407
18.5.2 聊天室程序409
18.6 本章小结412
18.7 跟我上机412
第3篇实战篇
第19章进销存管理系统414
(视频讲解:1小时41分钟)
19.1 需求分析415
19.1.1 需求分析415
19.1.2 可行性分析415
19.2 系统设计415
19.2.1 项目规划415
19.2.2 功能结构分析416
19.3 数据库设计417
19.3.1 E-R图417
19.3.2 数据表概要说明419
19.3.3 主要数据表的结构419
19.4 系统登录模块设计421
19.4.1 登录功能设计421
19.4.2 系统登录模块设计422
19.5 程序主界面的设计425
19.5.1 创建主窗口425
19.5.2 初始化程序主界面的initialize()方法426
19.5.3 添加菜单和工具按钮的方法427
19.5.4 创建Action对象的addFrameAction()方法430
19.5.5 获取功能窗体的getIFrame()方法431
19.6 基础信息模块设计431
19.6.1 商品信息管理模块设计432
19.6.2 商品添加功能设计432
19.6.3 设置组件布局位置的setupComponent()方法436
19.6.4 商品修改与删除功能设计436
19.7 进货管理模块设计439
19.7.1 进货单管理功能设计439
19.7.2 初始化表格的initTable()方法444
19.7.3 初始化商品下拉选择框的initSpBox()方法444
19.7.4 初始化进货单窗体的initTasks类445
19.7.5 初始化进货票号文本框的initPiaoHao()方法446
19.8 销售管理模块设计446
19.8.1 销售单管理功能设计446
19.8.2 初始化销售单窗体的initTasks类448
19.9 库存管理模块设计449
19.9.1 库存盘点功能设计449
19.9.2 库存价格调整功能设计452
19.10 查询统计模块设计454
19.10.1 销售排行功能设计454
19.10.2 执行销售排行功能的事件监听器455
19.11 系统设置模块设计456
19.11.1 操作员管理456
19.11.2 权限管理459
19.12 数据库模块462
19.12.1 数据库连接462
19.12.2 获取用户信息的getUser()方法462
19.12.3 添加商品信息的addSp()方法463
19.12.4 获取所有商品信息的getSpInfos()方法464
19.12.5 添加入库信息的insertRukuInfo()方法465
19.12.6 获取最大入库编号的getRuKuMainMaxId()方法466
19.12.7 更新用户信息的updateUser()方法467
19.13 本章小结468
第20章企业内部通信系统469
(视频讲解:1小时39分钟)
20.1 系统分析470
20.1.1 需求分析470
20.1.2 可行性分析470
20.1.3 编写项目计划书471
20.2 系统设计473
20.2.1 系统目标473
20.2.2 系统功能结构474
20.2.3 数据库设计474
20.2.4 系统预览475
20.2.5 文件夹组织结构476
20.3 主窗体设计477
20.3.1 创建主窗体477
20.3.2 记录窗体位置481
20.4 公共模块设计482
20.4.1 数据库操作类482
20.4.2 系统工具类487
20.5 系统托盘模块设计492
20.5.1 系统托盘模块概述492
20.5.2 系统托盘模块技术分析492
20.5.3 系统托盘模块实现493
20.6 系统工具模块设计495
20.6.1 系统工具模块概述495
20.6.2 系统工具模块技术分析495
20.6.3 系统工具模块实现496
20.7 用户管理模块设计500
20.7.1 用户管理模块概述500
20.7.2 用户管理模块技术分析501
20.7.3 用户管理模块实现502
20.8 通信模块设计506
20.8.1 通信模块概述506
20.8.2 通信模块技术分析507
20.8.3 通信模块实现507
20.9 开发技巧与难点分析511
20.9.1 合理使用图片资源511
20.9.2 使用JDK的系统托盘512
20.10 本章小结513