- 清华大学出版社
- 9787302608714
- 2-1
- 454932
- 48254603-3
- 平装
- 16开
- 2022-07
- 572
- 376
- 计算机
- 本科
作者简介
内容简介
《Java程序开发实用教程(第2版)(微课版)》是针对零基础读者研发的Java程序开发入门教材。该书侧重案例实训,并以扫码微课来讲解当前的热点案例。 《Java程序开发实用教程(第2版)(微课版)》分为17章,内容包括快速搭建Java开发环境、Java语言基础、程序控制语句、Java数组的应用、字符串的处理、面向对象编程基础、类的封装与继承、抽象类与接口、程序的异常处理、常用类与枚举类、泛型与集合类、Swing技术、输入和输出流、线程与并发、JDBC编程基础、Java绘图与音频,最后通过热点综合项目电影订票系统的开发,进一步巩固读者的项目开发经验。 《Java程序开发实用教程(第2版)(微课版)》通过精选热点案例,可以让初学者快速掌握Java项目开发技术。通过微信扫码看视频,可以随时在移动端学习技能对应的操作;通过上机练练手可以检验读者的学习情况,并且通过扫码可以看答案。 《Java程序开发实用教程(第2版)(微课版)》面向初、中级Java程序开发人员,适合希望快速、全面掌握Java程序开发的人员、高等院校的老师和学生使用。
目录
目 录
第1章 快速搭建Java开发环境 1
1.1 Java简介 2
1.1.1 什么是Java 2
1.1.2 Java的特性 2
1.1.3 Java的工作原理 4
1.2 搭建Java 开发环境 5
1.2.1 JDK的下载 5
1.2.2 JDK的安装 7
1.2.3 JDK的环境配置 7
1.2.4 测试开发环境 9
1.3 我的第一个Java程序 10
1.4 Eclipse的下载与安装 11
1.4.1 Eclipse的下载 11
1.4.2 Eclipse的安装 12
1.5 Eclipse的使用 13
1.5.1 创建Java项目 13
1.5.2 创建类(class)文件 14
1.5.3 编写和运行Java程序 15
1.6 如何学好Java 16
1.7 就业面试问题解答 16
1.8 上机练练手 17
第2章 Java语言基础 19
2.1 Java程序的结构 20
2.2 Java的基础语法 22
2.2.1 基本语法规则 22
2.2.2 Java标识符 22
2.2.3 Java的关键字 23
2.2.4 Java分隔符 25
2.2.5 代码注释 26
2.3 常量与变量 28
2.3.1 常量 28
2.3.2 变量 28
2.3.3 变量的作用域 29
2.4 基本数据类型 31
2.4.1 整数类型 31
2.4.2 浮点类型 32
2.4.3 字符类型 33
2.4.4 布尔类型 35
2.4.5 字符串类型 36
2.5 数据类型转换 36
2.5.1 自动类型转换 37
2.5.2 强制类型转换 37
2.6 运算符 38
2.6.1 赋值运算符 38
2.6.2 算术运算符 39
2.6.3 关系运算符 41
2.6.4 三元运算符 41
2.6.5 逻辑运算符 42
2.6.6 位运算符 43
2.6.7 自增和自减运算符 45
2.6.8 圆括号 46
2.6.9 运算符优先级 46
2.7 就业面试问题解答 47
2.8 上机练练手 47
第3章 程序控制语句 49
3.1 程序结构 50
3.2 条件语句 51
3.2.1 if语句 51
3.2.2 if…else语句 52
3.2.3 if...else if...else语句 54
3.2.4 嵌套使用if…else语句 55
3.2.5 switch语句 56
3.3 循环语句 58
3.3.1 while循环语句 59
3.3.2 do...while循环语句 60
3.3.3 for循环语句 61
3.3.4 增强型for循环语句 62
3.4 循环语句的嵌套 63
3.4.1 嵌套for循环 63
3.4.2 嵌套while循环 64
3.4.3 嵌套do...while循环 65
3.5 跳转语句 66
3.5.1 break语句 67
3.5.2 continue语句 68
3.5.3 return语句 69
3.6 就业面试问题解答 70
3.7 上机练练手 71
第4章 Java数组的应用 73
4.1 数组的概念 74
4.2 一维数组 74
4.2.1 声明一维数组 74
4.2.2 初始化一维数组 76
4.2.3 获取单个元素 78
4.2.4 获取全部元素 79
4.3 二维数组 80
4.3.1 声明二维数组 80
4.3.2 初始化二维数组 81
4.3.3 获取单个元素 82
4.3.4 获取全部元素 83
4.3.5 获取指定行的元素 84
4.3.6 获取指定列的元素 85
4.3.7 不规则数组 86
4.4 多维数组 87
4.5 数组排序方法 88
4.5.1 冒泡排序法 88
4.5.2 选择排序法 89
4.5.3 快速排序法 90
4.5.4 直接插入法 91
4.6 就业面试问题解答 92
4.7 上机练练手 92
第5章 字符串的处理 95
5.1 String类 96
5.1.1 声明字符串 96
5.1.2 创建字符串 96
5.2 字符串的连接 98
5.2.1 使用“+”号连接 98
5.2.2 使用concat()方法连接 99
5.2.3 连接其他数据类型 99
5.3 获取字符串信息 100
5.3.1 获取字符串长度 101
5.3.2 获取指定位置的字符 101
5.3.3 获取子字符串索引位置 102
5.3.4 判断字符串首尾内容 103
5.3.5 判断子字符串是否存在 104
5.3.6 获取字符串数组 105
5.4 字符串的操作 105
5.4.1 截取字符串 105
5.4.2 分割字符串 106
5.4.3 替换字符串 107
5.4.4 去除空白内容 107
5.4.5 比较字符串是否相等 108
5.4.6 字符串的比较操作 109
5.4.7 字符串大小写转换 110
5.5 正则表达式 111
5.5.1 常用正则表达式 111
5.5.2 正则表达式的实例 112
5.6 字符串的类型转换 113
5.6.1 字符串转换为数组 113
5.6.2 基本数据类型转换为字符串 114
5.6.3 格式化字符串 114
5.7 StringBuilder类 116
5.7.1 StringBuilder类的创建 116
5.7.2 StringBuilder类的方法 117
5.8 就业面试问题解答 118
5.9 上机练练手 118
第6章 面向对象编程基础 119
6.1 面向对象概述 120
6.1.1 认识类与对象 120
6.1.2 面向对象的特点 120
6.2 类和对象 121
6.2.1 什么是类 121
6.2.2 成员变量 122
6.2.3 成员方法 122
6.2.4 构造方法 124
6.2.5 创建对象 125
6.2.6 局部变量 127
6.2.7 this关键字 128
6.3 static关键字 129
6.3.1 静态变量 130
6.3.2 静态方法 130
6.3.3 静态代码块 131
6.4 对象值的传递 132
6.4.1 值传递 132
6.4.2 引用传递 132
6.4.3 可变参数传递 133
6.5 就业面试问题解答 134
6.6 上机练练手 135
第7章 类的封装与继承 137
7.1 类的封装 138
7.1.1 认识封装 138
7.1.2 实现封装 139
7.2 类的继承 140
7.2.1 extends关键字 141
7.2.2 super关键字 142
7.2.3 访问修饰符 144
7.3 类的多态 147
7.3.1 认识多态 147
7.3.2 方法重载 149
7.3.3 方法重写 150
7.3.4 向上转型 152
7.3.5 向下转型 153
7.3.6 instanceof关键字 155
7.4 定义和导入包 155
7.5 就业面试问题解答 157
7.6 上机练练手 157
第8章 抽象类与接口 159
8.1 抽象类和抽象方法 160
8.1.1 认识抽象类 160
8.1.2 定义抽象类 162
8.1.3 抽象方法 164
8.2 接口概述 166
8.2.1 接口声明 166
8.2.2 实现接口 167
8.2.3 接口默认方法 168
8.2.4 接口与抽象类 169
8.3 接口的高级应用 169
8.3.1 接口的多态性 169
8.3.2 适配接口 171
8.3.4 接口回调 171
8.4 就业面试问题解答 173
8.5 上机练练手 173
第9章 程序的异常处理 175
9.1 认识异常 176
9.1.1 异常的概念 176
9.1.2 异常的分类 176
9.1.3 常见的异常 177
9.1.4 异常的使用原则 178
9.2 异常的处理 178
9.2.1 异常处理机制 178
9.2.2 使用try...catch...finally语句
处理异常 181
9.2.3 使用throws抛出异常 183
9.2.4 finally和return 185
9.3 自定义异常 187
9.4 断言语句 189
9.5 就业面试问题解答 190
9.6 上机练练手 190
第10章 常用类与枚举类 193
10.1 Math类 194
10.2 Random类 195
10.3 日期类Date 197
10.4 日历类Calendar 198
10.5 Scanner类 199
10.6 数字格式化类 201
10.7 包装类 202
10.7.1 Boolean类 202
10.7.2 Byte类 204
10.7.3 Character类 205
10.8 枚举类 207
10.8.1 声明枚举类 207
10.8.2 枚举类的常用方法 207
10.8.3 添加属性和方法 208
10.8.4 枚举在switch中的使用 209
10.8.5 EnumSet和EnumMap 210
10.9 就业面试问题解答 212
10.10 上机练练手 212
第11章 泛型与集合类 215
11.1 泛型 216
11.1.1 定义泛型类 216
11.1.2 泛型方法 217
11.1.3 泛型接口 218
11.1.4 泛型参数 220
11.2 认识集合类 221
11.2.1 集合类概述 221
11.2.2 Collection接口的方法 222
11.3 List集合 224
11.3.1 List接口 224
11.3.2 List接口的实现类 224
11.3.3 Iterator迭代器 227
11.4 Set集合 228
11.4.1 Set接口 228
11.4.2 Set接口的实现类 228
11.5 Map集合 231
11.5.1 Map接口 231
11.5.2 Map接口的实现类 231
11.5.3 Properties类 233
11.6 就业面试问题解答 235
11.7 上机练练手 235
第12章 Swing技术 237
12.1 Swing概述 238
12.1.1 Swing的特点 238
12.1.2 Swing包 238
12.1.3 常用Swing组件概述 239
12.2 Swing容器 240
12.2.1 JFrame窗体 240
12.2.2 JPanel面板 241
12.2.3 JScrollPane面板 242
12.3 Swing的组件 245
12.3.1 按钮JButton 245
12.3.2 标签JLabel 246
12.3.3 复选框JCheckBox 247
12.3.4 单选按钮JRadioButton 248
12.3.5 单行文本框JTextField 250
12.3.6 密码文本框
JPasswordField 251
12.3.7 多行文本框JTextArea 252
12.3.8 下拉列表JComboBox 254
12.3.9 列表框JList 255
12.3.10 表格组件JTable 256
12.4 菜单组件 258
12.4.1 下拉式菜单 258
12.4.2 弹出式菜单 259
12.5 布局管理 260
12.5.1 流式布局管理器 260
12.5.2 边框布局管理器 261
12.5.3 网格布局管理器 262
12.6 就业面试问题解答 263
12.7 上机练练手 263
第13章 输入和输出流 265
13.1 文件类 266
13.1.1 文件类的常用方法 266
13.1.2 遍历目录文件 268
13.1.3 删除文件和目录 269
13.2 字节流 270
13.2.1 字节输入流 270
13.2.2 字节输出流 272
13.3 字符流 274
13.3.1 字符输入流Reader 274
13.3.2 字符输出流Writer 275
13.4 文件流 276
13.4.1 FileReader类 276
13.4.2 FileWriter类 276
13.5 字符缓冲流 277
13.5.1 缓冲输入流类 278
13.5.2 缓冲输出流类 278
13.6 数据操作流 280
13.6.1 数据输入流 280
13.6.2 数据输出流 281
13.7 就业面试问题解答 283
13.8 上机练练手 283
第14章 线程与并发 285
14.1 创建线程 286
14.1.1 继承Thread类 286
14.1.2 实现Runnable接口 287
14.2 线程的状态与转换 288
14.2.1 线程状态 288
14.2.2 线程睡眠 289
14.2.3 线程合并 290
14.2.4 线程让出 291
14.3 线程的同步 292
14.3.1 线程安全 292
14.3.2 同步代码块 293
14.3.3 同步方法 293
14.3.4 死锁 294
14.4 线程交互 296
14.4.1 wait()和notify()方法 296
14.4.2 生产者—消费者问题 297
14.5 就业面试问题解答 299
14.6 上机练练手 300
第15章 JDBC编程基础 301
15.1 JDBC的原理 302
15.2 JDBC相关类与接口 304
15.2.1 DriverManager类 304
15.2.2 Connection接口 305
15.2.3 Statement接口 306
15.2.4 PreparedStatement接口 306
15.2.5 ResultSet接口 306
15.3 JDBC连接数据库 307
15.3.1 加载数据库驱动程序 307
15.3.2 创建数据库连接 307
15.3.3 获取Statement对象 307
15.3.4 执行SQL语句 307
15.3.5 获得执行结果 308
15.3.6 关闭连接 309
15.4 操作数据库 309
15.4.1 创建数据表 309
15.4.2 插入数据 310
15.4.3 查询数据 312
15.4.4 更新数据 313
15.4.5 删除数据 315
15.5 就业面试问题解答 317
15.6 上机练练手 317
第16章 Java绘图与音频 319
16.1 Java绘图基础 320
16.1.1 绘图方法 320
16.1.2 Canvas画布类 320
16.1.3 Graphics绘图类 320
16.1.4 Graphics2D绘图类 322
16.2 设置颜色与画笔 323
16.2.1 设置绘图颜色 323
16.2.2 设置笔画属性 325
16.3 图像处理 328
16.3.1 绘制图像 328
16.3.2 缩放图像 329
16.3.3 倾斜图像 329
16.3.4 旋转图像 331
16.3.5 翻转图像 332
16.4 播放音频 335
16.5 就业面试问题解答 337
16.6 上机练练手 337
第17章 开发电影订票系统 339
17.1 系统简介 340
17.2 系统运行及配置 340
17.2.1 开发及运行环境 340
17.2.2 运行订票系统 340
17.2.3 系统功能分析 346
17.3 数据库设计 347
17.3.1 电影信息 347
17.3.2 放映信息 347
17.3.3 用户订单信息 348
17.3.4 管理员账号 348
17.4 系统代码编写 349
17.4.1 欢迎界面模块 349
17.4.2 系统对象模块 352
17.4.3 前台订票模块 354
17.4.4 后台管理模块 362
17.4.5 数据库模块 362
17.4.6 辅助处理模块 363
第1章 快速搭建Java开发环境 1
1.1 Java简介 2
1.1.1 什么是Java 2
1.1.2 Java的特性 2
1.1.3 Java的工作原理 4
1.2 搭建Java 开发环境 5
1.2.1 JDK的下载 5
1.2.2 JDK的安装 7
1.2.3 JDK的环境配置 7
1.2.4 测试开发环境 9
1.3 我的第一个Java程序 10
1.4 Eclipse的下载与安装 11
1.4.1 Eclipse的下载 11
1.4.2 Eclipse的安装 12
1.5 Eclipse的使用 13
1.5.1 创建Java项目 13
1.5.2 创建类(class)文件 14
1.5.3 编写和运行Java程序 15
1.6 如何学好Java 16
1.7 就业面试问题解答 16
1.8 上机练练手 17
第2章 Java语言基础 19
2.1 Java程序的结构 20
2.2 Java的基础语法 22
2.2.1 基本语法规则 22
2.2.2 Java标识符 22
2.2.3 Java的关键字 23
2.2.4 Java分隔符 25
2.2.5 代码注释 26
2.3 常量与变量 28
2.3.1 常量 28
2.3.2 变量 28
2.3.3 变量的作用域 29
2.4 基本数据类型 31
2.4.1 整数类型 31
2.4.2 浮点类型 32
2.4.3 字符类型 33
2.4.4 布尔类型 35
2.4.5 字符串类型 36
2.5 数据类型转换 36
2.5.1 自动类型转换 37
2.5.2 强制类型转换 37
2.6 运算符 38
2.6.1 赋值运算符 38
2.6.2 算术运算符 39
2.6.3 关系运算符 41
2.6.4 三元运算符 41
2.6.5 逻辑运算符 42
2.6.6 位运算符 43
2.6.7 自增和自减运算符 45
2.6.8 圆括号 46
2.6.9 运算符优先级 46
2.7 就业面试问题解答 47
2.8 上机练练手 47
第3章 程序控制语句 49
3.1 程序结构 50
3.2 条件语句 51
3.2.1 if语句 51
3.2.2 if…else语句 52
3.2.3 if...else if...else语句 54
3.2.4 嵌套使用if…else语句 55
3.2.5 switch语句 56
3.3 循环语句 58
3.3.1 while循环语句 59
3.3.2 do...while循环语句 60
3.3.3 for循环语句 61
3.3.4 增强型for循环语句 62
3.4 循环语句的嵌套 63
3.4.1 嵌套for循环 63
3.4.2 嵌套while循环 64
3.4.3 嵌套do...while循环 65
3.5 跳转语句 66
3.5.1 break语句 67
3.5.2 continue语句 68
3.5.3 return语句 69
3.6 就业面试问题解答 70
3.7 上机练练手 71
第4章 Java数组的应用 73
4.1 数组的概念 74
4.2 一维数组 74
4.2.1 声明一维数组 74
4.2.2 初始化一维数组 76
4.2.3 获取单个元素 78
4.2.4 获取全部元素 79
4.3 二维数组 80
4.3.1 声明二维数组 80
4.3.2 初始化二维数组 81
4.3.3 获取单个元素 82
4.3.4 获取全部元素 83
4.3.5 获取指定行的元素 84
4.3.6 获取指定列的元素 85
4.3.7 不规则数组 86
4.4 多维数组 87
4.5 数组排序方法 88
4.5.1 冒泡排序法 88
4.5.2 选择排序法 89
4.5.3 快速排序法 90
4.5.4 直接插入法 91
4.6 就业面试问题解答 92
4.7 上机练练手 92
第5章 字符串的处理 95
5.1 String类 96
5.1.1 声明字符串 96
5.1.2 创建字符串 96
5.2 字符串的连接 98
5.2.1 使用“+”号连接 98
5.2.2 使用concat()方法连接 99
5.2.3 连接其他数据类型 99
5.3 获取字符串信息 100
5.3.1 获取字符串长度 101
5.3.2 获取指定位置的字符 101
5.3.3 获取子字符串索引位置 102
5.3.4 判断字符串首尾内容 103
5.3.5 判断子字符串是否存在 104
5.3.6 获取字符串数组 105
5.4 字符串的操作 105
5.4.1 截取字符串 105
5.4.2 分割字符串 106
5.4.3 替换字符串 107
5.4.4 去除空白内容 107
5.4.5 比较字符串是否相等 108
5.4.6 字符串的比较操作 109
5.4.7 字符串大小写转换 110
5.5 正则表达式 111
5.5.1 常用正则表达式 111
5.5.2 正则表达式的实例 112
5.6 字符串的类型转换 113
5.6.1 字符串转换为数组 113
5.6.2 基本数据类型转换为字符串 114
5.6.3 格式化字符串 114
5.7 StringBuilder类 116
5.7.1 StringBuilder类的创建 116
5.7.2 StringBuilder类的方法 117
5.8 就业面试问题解答 118
5.9 上机练练手 118
第6章 面向对象编程基础 119
6.1 面向对象概述 120
6.1.1 认识类与对象 120
6.1.2 面向对象的特点 120
6.2 类和对象 121
6.2.1 什么是类 121
6.2.2 成员变量 122
6.2.3 成员方法 122
6.2.4 构造方法 124
6.2.5 创建对象 125
6.2.6 局部变量 127
6.2.7 this关键字 128
6.3 static关键字 129
6.3.1 静态变量 130
6.3.2 静态方法 130
6.3.3 静态代码块 131
6.4 对象值的传递 132
6.4.1 值传递 132
6.4.2 引用传递 132
6.4.3 可变参数传递 133
6.5 就业面试问题解答 134
6.6 上机练练手 135
第7章 类的封装与继承 137
7.1 类的封装 138
7.1.1 认识封装 138
7.1.2 实现封装 139
7.2 类的继承 140
7.2.1 extends关键字 141
7.2.2 super关键字 142
7.2.3 访问修饰符 144
7.3 类的多态 147
7.3.1 认识多态 147
7.3.2 方法重载 149
7.3.3 方法重写 150
7.3.4 向上转型 152
7.3.5 向下转型 153
7.3.6 instanceof关键字 155
7.4 定义和导入包 155
7.5 就业面试问题解答 157
7.6 上机练练手 157
第8章 抽象类与接口 159
8.1 抽象类和抽象方法 160
8.1.1 认识抽象类 160
8.1.2 定义抽象类 162
8.1.3 抽象方法 164
8.2 接口概述 166
8.2.1 接口声明 166
8.2.2 实现接口 167
8.2.3 接口默认方法 168
8.2.4 接口与抽象类 169
8.3 接口的高级应用 169
8.3.1 接口的多态性 169
8.3.2 适配接口 171
8.3.4 接口回调 171
8.4 就业面试问题解答 173
8.5 上机练练手 173
第9章 程序的异常处理 175
9.1 认识异常 176
9.1.1 异常的概念 176
9.1.2 异常的分类 176
9.1.3 常见的异常 177
9.1.4 异常的使用原则 178
9.2 异常的处理 178
9.2.1 异常处理机制 178
9.2.2 使用try...catch...finally语句
处理异常 181
9.2.3 使用throws抛出异常 183
9.2.4 finally和return 185
9.3 自定义异常 187
9.4 断言语句 189
9.5 就业面试问题解答 190
9.6 上机练练手 190
第10章 常用类与枚举类 193
10.1 Math类 194
10.2 Random类 195
10.3 日期类Date 197
10.4 日历类Calendar 198
10.5 Scanner类 199
10.6 数字格式化类 201
10.7 包装类 202
10.7.1 Boolean类 202
10.7.2 Byte类 204
10.7.3 Character类 205
10.8 枚举类 207
10.8.1 声明枚举类 207
10.8.2 枚举类的常用方法 207
10.8.3 添加属性和方法 208
10.8.4 枚举在switch中的使用 209
10.8.5 EnumSet和EnumMap 210
10.9 就业面试问题解答 212
10.10 上机练练手 212
第11章 泛型与集合类 215
11.1 泛型 216
11.1.1 定义泛型类 216
11.1.2 泛型方法 217
11.1.3 泛型接口 218
11.1.4 泛型参数 220
11.2 认识集合类 221
11.2.1 集合类概述 221
11.2.2 Collection接口的方法 222
11.3 List集合 224
11.3.1 List接口 224
11.3.2 List接口的实现类 224
11.3.3 Iterator迭代器 227
11.4 Set集合 228
11.4.1 Set接口 228
11.4.2 Set接口的实现类 228
11.5 Map集合 231
11.5.1 Map接口 231
11.5.2 Map接口的实现类 231
11.5.3 Properties类 233
11.6 就业面试问题解答 235
11.7 上机练练手 235
第12章 Swing技术 237
12.1 Swing概述 238
12.1.1 Swing的特点 238
12.1.2 Swing包 238
12.1.3 常用Swing组件概述 239
12.2 Swing容器 240
12.2.1 JFrame窗体 240
12.2.2 JPanel面板 241
12.2.3 JScrollPane面板 242
12.3 Swing的组件 245
12.3.1 按钮JButton 245
12.3.2 标签JLabel 246
12.3.3 复选框JCheckBox 247
12.3.4 单选按钮JRadioButton 248
12.3.5 单行文本框JTextField 250
12.3.6 密码文本框
JPasswordField 251
12.3.7 多行文本框JTextArea 252
12.3.8 下拉列表JComboBox 254
12.3.9 列表框JList 255
12.3.10 表格组件JTable 256
12.4 菜单组件 258
12.4.1 下拉式菜单 258
12.4.2 弹出式菜单 259
12.5 布局管理 260
12.5.1 流式布局管理器 260
12.5.2 边框布局管理器 261
12.5.3 网格布局管理器 262
12.6 就业面试问题解答 263
12.7 上机练练手 263
第13章 输入和输出流 265
13.1 文件类 266
13.1.1 文件类的常用方法 266
13.1.2 遍历目录文件 268
13.1.3 删除文件和目录 269
13.2 字节流 270
13.2.1 字节输入流 270
13.2.2 字节输出流 272
13.3 字符流 274
13.3.1 字符输入流Reader 274
13.3.2 字符输出流Writer 275
13.4 文件流 276
13.4.1 FileReader类 276
13.4.2 FileWriter类 276
13.5 字符缓冲流 277
13.5.1 缓冲输入流类 278
13.5.2 缓冲输出流类 278
13.6 数据操作流 280
13.6.1 数据输入流 280
13.6.2 数据输出流 281
13.7 就业面试问题解答 283
13.8 上机练练手 283
第14章 线程与并发 285
14.1 创建线程 286
14.1.1 继承Thread类 286
14.1.2 实现Runnable接口 287
14.2 线程的状态与转换 288
14.2.1 线程状态 288
14.2.2 线程睡眠 289
14.2.3 线程合并 290
14.2.4 线程让出 291
14.3 线程的同步 292
14.3.1 线程安全 292
14.3.2 同步代码块 293
14.3.3 同步方法 293
14.3.4 死锁 294
14.4 线程交互 296
14.4.1 wait()和notify()方法 296
14.4.2 生产者—消费者问题 297
14.5 就业面试问题解答 299
14.6 上机练练手 300
第15章 JDBC编程基础 301
15.1 JDBC的原理 302
15.2 JDBC相关类与接口 304
15.2.1 DriverManager类 304
15.2.2 Connection接口 305
15.2.3 Statement接口 306
15.2.4 PreparedStatement接口 306
15.2.5 ResultSet接口 306
15.3 JDBC连接数据库 307
15.3.1 加载数据库驱动程序 307
15.3.2 创建数据库连接 307
15.3.3 获取Statement对象 307
15.3.4 执行SQL语句 307
15.3.5 获得执行结果 308
15.3.6 关闭连接 309
15.4 操作数据库 309
15.4.1 创建数据表 309
15.4.2 插入数据 310
15.4.3 查询数据 312
15.4.4 更新数据 313
15.4.5 删除数据 315
15.5 就业面试问题解答 317
15.6 上机练练手 317
第16章 Java绘图与音频 319
16.1 Java绘图基础 320
16.1.1 绘图方法 320
16.1.2 Canvas画布类 320
16.1.3 Graphics绘图类 320
16.1.4 Graphics2D绘图类 322
16.2 设置颜色与画笔 323
16.2.1 设置绘图颜色 323
16.2.2 设置笔画属性 325
16.3 图像处理 328
16.3.1 绘制图像 328
16.3.2 缩放图像 329
16.3.3 倾斜图像 329
16.3.4 旋转图像 331
16.3.5 翻转图像 332
16.4 播放音频 335
16.5 就业面试问题解答 337
16.6 上机练练手 337
第17章 开发电影订票系统 339
17.1 系统简介 340
17.2 系统运行及配置 340
17.2.1 开发及运行环境 340
17.2.2 运行订票系统 340
17.2.3 系统功能分析 346
17.3 数据库设计 347
17.3.1 电影信息 347
17.3.2 放映信息 347
17.3.3 用户订单信息 348
17.3.4 管理员账号 348
17.4 系统代码编写 349
17.4.1 欢迎界面模块 349
17.4.2 系统对象模块 352
17.4.3 前台订票模块 354
17.4.4 后台管理模块 362
17.4.5 数据库模块 362
17.4.6 辅助处理模块 363