JAVA实用教程(第4版) 含视频教学
作者: 郑阿奇主编
出版时间:2019年版
内容简介
本书以*新长期支持稳定版本Java为基础,对第3版进行了升级;除保留了原版内容的循序渐进、深入浅出等诸多优点外,精心设计每个实例,囊括了Java的*新语言特性;增强了Java数据库编程部分的内容,涉及操作*新MySQL、SQL Server、Oracle等多种*新主流数据库的关键技术。 本书由Java实用教程、实验、习题集这三个部分组成。第1部分:一般在介绍内容后紧跟相关的实例演示,在第2、4、7、9~12、14、15章章尾配有综合实例,以提高读者综合应用已学过的主要知识的能力。第2部分:首先通过实例引导读者学习,然后提出思考问题,*后在原有基础上让读者自己进行操作和编程练习。第3部分:本版系统地扩充了习题的内容,对应于主要知识点,对所有习题均结合书中重要知识点进行了精心设计;通过扫描书中的二维码可得到配套答案,帮助读者在巩固所学知识的同时提高能力。 本书以*新版Eclipse作为Java的集成开发环境,该版本与各版JDK的兼容性较好,能将用户以旧版JDK开发的Java项目自动转换**版项目,其编写、调试、运行Java程序都十分方便。本书所有实例均在*新版Eclipse下调试通过,实例运行结果以抓图形式提供。 与本书配套的同步电子课件,可直接用于课堂教学。书中的源代码和电子课件,可从华信教育资源网(http://www.hxedu.com.cn)上免费下载。本书对每个重要知识点均提供通过二维码播放的配套视频教学,既可以作为课后教学辅助,也可作为课程自学。 本书既可作为大学本科和专科计算机及相关专业的教材,也可作为Java自学者或应用开发者的参考书。
目录
目 录
第1部分 Java实用教程
第1章 Java语言及编程环境 1
1.1 Java语言简介 1
1.1.1 Java语言特点 1
1.1.2 Java运行机制 2
1.1.3 从Java 5到Java 11 3
1.2 Java编程环境 4
1.2.1 JDK 11 4
1.2.2 Eclipse集成开发环境 6
第2章 Java语法基础 19
2.1 常量和变量 19
2.1.1 数据类型 19
2.1.2 标识符和关键字 19
2.1.3 常量 20
2.1.4 变量 22
2.1.5 类型转换 23
2.2 运算符和表达式 25
2.2.1 运算符 25
2.2.2 表达式 30
2.3 流程控制 30
2.3.1 分支语句 30
2.3.2 循环语句 33
2.3.3 流程跳转语句 36
2.4 数组 37
2.4.1 一维数组 37
2.4.2 多维数组 39
2.4.3 数组的访问 42
2.5 综合实例 44
第3章 Java类与对象 47
3.1 Java语言的类 47
3.1.1 面向对象程序设计概念 47
3.1.2 类的定义 48
3.1.3 变量初始化 49
3.1.4 类的方法 51
3.2 创建对象 55
3.2.1 构造方法 55
3.2.2 默认构造方法 57
3.2.3 构造方法重载 58
3.3 this引用 59
3.4 静态成员 61
3.4.1 静态变量 61
3.4.2 静态方法 62
3.4.3 main()方法 63
3.4.4 静态代码块 65
3.5 内部类 65
3.5.1 实例内部类 66
3.5.2 匿名内部类 68
3.5.3 static内部类 69
3.5.4 局部内部类 70
3.6 类的打包或封装 70
3.6.1 包(package)机制 70
3.6.2 创建JAR文件 74
第4章 Java面向对象编程 76
4.1 继承 76
4.1.1 继承的定义 76
4.1.2 初始化基类 77
4.1.3 方法的重写 78
4.1.4 super关键字 80
4.2 多态 81
4.2.1 对象的类型转换 81
4.2.2 多态的实现 84
4.3 抽象类和接口 86
4.3.1 抽象方法与抽象类 86
4.3.2 接口概念及特性 87
4.4 终止继承 89
4.4.1 final类 90
4.4.2 final方法 90
4.4.3 final变量 91
4.5 修饰符的适用范围 93
4.5.1 修饰符及访问权限 93
4.5.2 类内部 93
4.5.3 同一个包的类 94
4.5.4 不同包的子类 95
4.5.5 任意类 96
4.5.6 继承规则 97
4.6 Java编程规范 97
4.6.1 代码书写规范 97
4.6.2 文档的使用 98
4.7 综合实例:航班管理 99
4.7.1 需求分析 99
4.7.2 程序设计 100
4.7.3 文档编制 109
第5章 Java常用类 111
5.1 Object类 111
5.1.1 equals()方法 111
5.1.2 hashCode()方法 112
5.1.3 toString()方法 113
5.2 字符串类 114
5.2.1 String类 114
5.2.2 StringBuffer类 118
5.3 包装类 119
5.4 Math类 121
5.5 Random类 122
5.6 日期时间类 123
5.6.1 新日期时间包 123
5.6.2 日历应用 124
5.7 正则表达式 125
5.7.1 基础知识 125
5.7.2 正则表达式的应用 128
5.8 数组实用类 131
5.8.1 复制数组 131
5.8.2 数组排序 132
5.8.3 数组元素的查找 133
第6章 Java语言新特性 135
6.1 枚举 135
6.1.1 定义枚举类型 135
6.1.2 enum构造方法 136
6.1.3 使用EnumMap 137
6.2 注解 138
6.2.1 内置注解 138
6.2.2 自定义注解 142
6.2.3 元注解 142
6.3 lambda表达式 145
6.3.1 lambda表达式简介 145
6.3.2 函数式接口 146
6.3.3 lambda表达式与匿名
内部类 147
6.3.4 方法引用 149
第7章 容器和泛型 150
7.1 Collection与Iterator接口 150
7.2 Collections实用类 152
7.3 Set(集合) 153
7.3.1 HashSet类 153
7.3.2 TreeSet类 155
7.4 List(列表) 158
7.4.1 ArrayList类 158
7.4.2 LinkedList类 161
7.4.3 栈的实现 162
7.5 Queue(队列) 163
7.5.1 LinkedList类实现 163
7.5.2 PriorityQueue类 163
7.5.3 双向队列 165
7.6 Map(映射) 166
7.6.1 HashMap 166
7.6.2 TreeMap 167
7.7 泛型 169
7.7.1 泛型的基本概念 169
7.7.2 泛型方法 171
7.7.3 受限泛型 173
7.7.4 通配符与受限通配符 174
7.7.5 子类泛型 175
7.7.6 泛型数组 177
7.8 Java增强容器特性 178
7.9 综合实例 180
第8章 异常处理 183
8.1 异常概述 183
8.2 异常处理机制 184
8.2.1 异常的捕获与处理 184
8.2.2 声明抛出异常子句 186
8.2.3 抛出异常 186
8.3 自定义异常类 187
第9章 Java输入/输出系统 190
9.1 字节流 190
9.1.1 字节数组输入流 191
9.1.2 字节数组输出流 192
9.1.3 文件输入流 192
9.1.4 文件输出流 193
9.1.5 管道流 194
9.2 过滤流 195
9.2.1 缓冲流类 196
9.2.2 数据流类 197
9.2.3 PrintStream类 199
9.3 字符流 200
9.3.1 转换流类 201
9.3.2 FileReader和FileWriter类 202
9.3.3 BufferedReader和
BufferedWriter类 203
9.3.4 PrintWriter类 204
9.4 标准I/O 205
9.4.1 重新包装标准I/O 206
9.4.2 标准I/O流重定向 206
9.5 随机访问文件类 207
9.6 对象序列化 210
9.7 File类 211
9.8 综合实例 213
第10章 多线程 215
10.1 线程的创建与启动 215
10.1.1 继承java.lang.Thread类 215
10.1.2 实现Runnable接口 217
10.2 线程的状态转换 218
10.3 线程调度 219
10.3.1 调整线程优先级 219
10.3.2 线程让步 220
10.3.3 合并线程 221
10.4 后台线程 222
10.5 线程互斥 223
10.5.1 临界区 223
10.5.2 对象锁机制 225
10.5.3 显式Lock对象 228
10.6 线程同步 230
10.7 综合实例 233
第11章 AWT图形用户界面编程 238
11.1 AWT容器 238
11.1.1 Window和Frame 239
11.1.2 Panel 239
11.2 布局管理器 241
11.3 事件处理机制 243
11.3.1 AWT事件与监听器 243
11.3.2 窗口事件 244
11.3.3 鼠标事件 246
11.3.4 键盘事件 247
11.3.5 内部类实现监听器接口 249
11.3.6 类自身实现监听器接口 250
11.3.7 外部类实现监听器接口 251
11.3.8 采用事件适配器 253
11.4 在AWT中绘图 255
11.4.1 Graphics类 255
11.4.2 AWT绘图实现原理 257
11.5 综合实例 259
第12章 Swing组件及应用 264
12.1 窗口(JFrame) 264
12.2 Swing基本组件 265
12.2.1 按钮(JButton) 265
12.2.2 文本框(JTextField) 267
12.2.3 复选框(JCheckBox)和
单选按钮(JRadioButton) 269
12.2.4 列表框(JList) 272
12.3 Swing菜单程序设计 274
12.3.1 菜单条(JMenuBar) 274
12.3.2 弹出式菜单
(JPopupMenu) 277
12.3.3 页签面板(JTabbedPane) 279
12.3.4 工具栏(JToolBar) 281
12.4 Swing数据管理组件 283
12.4.1 表格(JTable) 284
12.4.2 树状视图(JTree) 286
12.5 Swing标准对话框 287
12.5.1 对话框(JDialog) 287
12.5.2 消息框(JOptionPane) 289
12.5.3 文件对话框
(JFileChooser) 291
12.6 综合实例 293
第13章 Java基础开发综合实习 297
13.1 设计思路 297
13.2 汉诺塔上盘子模拟 297
13.3 对象定位及盘子的存放 298
13.4 创建汉诺塔及实现手工搬运盘子 299
13.5 自动搬运盘子 305
第14章 Java网络编程 312
14.1 网络程序设计基础 312
14.1.1 TCP与UDP 312
14.1.2 端口和套接字 312
14.2 TCP网络编程 313
14.2.1 TCP通信模型 313
14.2.2 Socket编程相关类 313
14.2.3 TCP通信程序 316
14.3 UDP网络编程 319
14.3.1 UDP相关类 319
14.3.2 UDP通信程序 321
14.3.3 组播 324
14.4 URL网络编程 327
14.4.1 URL类 327
14.4.2 URLConnetction类 329
14.5 综合实例 331
第15章 Java数据库编程 336
15.1 SQL语言简介 336
15.2 JDBC原理 337
15.3 访问数据库 339
15.3.1 加载并注册数据库驱动 339
15.3.2 建立到数据库的连接 340
15.3.3 执行数据库操作 341
15.4 JDBC操作MySQL 342
15.4.1 获取和加载驱动 342
15.4.2 创建数据库和表 345
15.4.3 操作数据库 347
15.4.4 事务处理 349
15.4.5 存储过程 351
15.5 JDBC操作其他数据库 353
15.5.1 JDBC操作SQL Server 354
15.5.2 JDBC操作Oracle 355
15.6 综合实例 356
第2部分 实 验
实验1 Java语言及编程环境 362
实验2 Java语法基础 363
实验3 Java类与对象 365
实验4 Java面向对象编程 368
实验5 Java常用类 371
实验6 Java语言新特性 373
实验7 容器和泛型 374
实验8 Java异常处理 377
实验9 Java输入/输出系统 378
实验10 多线程 379
实验11 AWT图形用户界面编程 380
实验12 Swing组件及应用 383
实验13 Java网络编程 386
实验14 Java数据库编程 392
第3部分 习 题 集
第1章 Java语言及编程环境 399
第2章 Java语法基础 399
第3章 Java类与对象 402
第4章 Java面向对象编程 402
第5章 Java常用类 403
第6章 Java语言新特性 403
第7章 容器和泛型 403
第8章 异常处理 404
第9章 Java输入/输出系统 404
第10章 多线程 404
第11章 AWT图形用户界面编程 405
第12章 Swing组件及应用 405
第14章 Java网络编程 405
第15章 Java数据库编程 406