2017 《Java 2实用教程(第5版)》是由耿祥义、张跃平编著

发布时间 2023-12-28 10:36:34作者: 王闯wangchuang2017
我的研究生同学 河南老乡 河南工业大学Jackso_hao 大学期间学习的Java教材
 
 
《Java 2实用教程(第5版)》是由耿祥义、张跃平编著,2017年清华大学出版社出版的高等学校Java课程系列教材、普通高等教育“十一五”国家级规划教材。该教材既可作为高等院校相关专业Java程序设计的教材,也可供自学者及软件开发人员参考。 [1]
全书共分15章,分别介绍了Java的基本数据类型,运算符、表达式和语句,类与对象,子类与继承,接口与实现,内部类与异常类,常用实用类,组件及事件处理,输入、输出流,JDBC与MySQL数据库,Java多线程机制,Java网络编程,图形、图像与音频,泛型与集合框架等内容。 [1]
 
全书共分15章,分别介绍了Java的基本数据类型,运算符、表达式和语句,类与对象,子类与继承,接口与实现,内部类与异常类,常用实用类,组件及事件处理,输入、输出流,JDBC与MySQL数据库,Java多线程机制,Java网络编程,图形、图像与音频,泛型与集合框架等内容。每章提供的二维码可观看相应章节的视频讲解。 [1]
第1章介绍Java语言的来历、地位和重要性,详细讲解了Java平台。第2章讲解基本数据类型。第3章介绍Java运算符和控制语句。
第4~7章是该教材的重点内容之一,讲述了类与对象、子类与继承、接口与多态、内部类与异常类等内容,对相关的知识点都结合例子给予了讲解,强调了面向抽象和接口的设计思想以及软件设计的开闭原则。
第8章讲述常用的实用类,包括字符串、日期、正则表达式、模式匹配以及数学计算等实用类,讲解了怎样使用StringTokenizer、Scanner、Pattern和Matcher类解析字符串。
第9章介绍了组件的有关知识,把对事件处理的讲解分散到具体的组件,只要真正理解掌握了一种组件事件的处理过程,就会掌握其他组件的事件处理。输入流、输出流是Java语言中的经典内容,尽管Java提供了二十多种流,但它们的用法、原理却很类似。
第10章在输入流、输出流的讲解上突出原理,讲解了利用对象流克隆对象的原理。
第11章结合例子讲解Java与数据库的连接过程,主要讲解Java怎样使用JDBC操作数据库,特别讲解了预处理、事务处理和批处理等重要技术。
第12章通过有针对性的例子使读者掌握多线程中的重要概念,并介绍怎样用多线程来解决实际问题。
第13章是关于网络编程的知识,针对套接字,进行了讲解。
第14章是有关图形、图像和音频的知识,结合已学知识给出了许多实用的例子。
第15章讲述了常用数据结构的Java实现,强调如何有效合理地使用各种数据结构。 [2]

教材目录

 
播报
编辑
第1章Java入门
1.1Java的地位 1
1.1.1网络地位 2
1.1.2语言地位 2
1.1.3需求地位 2
1.2Java的特点 2
1.2.1简单 2
1.2.2面向对象 2
1.2.3平台无关 3
1.2.4多线程 4
1.2.5动态 4
1.3安装JDK 5
1.3.1平台简介 5
1.3.2安装Java SE平台 5
1.3.3系统环境的设置 7
1.4Java程序的开发步骤 8
1.5简单的Java应用程序 9
1.5.1源文件的编写与保存 9
1.5.2编译 10
1.5.3运行 11
1.6Java反编译 13
1.7编程风格 13
1.7.1Allmans风格 13
1.7.2Kernighan风格 14
1.7.3注释 14
1.8Java之父——James Gosling 15
1.9小结 15
习题1 15
第2章基本数据类型与数组
2.1标识符与关键字 17
2.1.1标识符 17
2.1.2Unicode字符集 17
2.1.3关键字 18
2.2基本数据类型 18
2.2.1逻辑类型 18
2.2.2整数类型 18
2.2.3字符类型 19
2.2.4浮点类型 20
2.3类型转换运算 21
2.4输入、输出数据 23
2.4.1输入基本型数据 23
2.4.2输出基本型数据 23
2.5数组 24
2.5.1声明数组 24
2.5.2为数组分配元素 25
2.5.3数组元素的使用 26
2.5.4length的使用 27
2.5.5数组的初始化 27
2.5.6数组的引用 27
2.6应用举例 29
2.7小结 30
习题2 30
第3章运算符、表达式和语句
3.1运算符与表达式 33
3.1.1算术运算符与算术表达式 33
3.1.2自增、自减运算符 33
3.1.3算术混合运算的精度 34
3.1.4关系运算符与关系表达式 34
3.1.5逻辑运算符与逻辑表达式 34
3.1.6赋值运算符与赋值表达式 35
3.1.7位运算符 35
3.1.8instanceof运算符 37
3.1.9运算符综述 37
3.2语句概述 38
3.3if条件分支语句 38
3.3.1if语句 38
3.3.2if-else语句 39
3.3.3if-else if-else语句 40
3.4switch开关语句 41
3.5循环语句 43
3.5.1for循环语句 43
3.5.2while循环语句 44
3.5.3do-while循环语句 44
3.6break和continue语句 45
3.7for语句与数组 46
3.8应用举例 47
3.9小结 47
习题3 48
第4章类与对象
4.1编程语言的几个发展阶段 50
4.1.1面向机器语言 50
4.1.2面向过程语言 50
4.1.3面向对象语言 51
4.2类 52
4.2.1类声明 52
4.2.2类体 53
4.2.3成员变量 53
4.2.4方法 55
4.2.5需要注意的问题 57
4.2.6类的UML图 57
4.3构造方法与对象的创建 57
4.3.1构造方法 58
4.3.2创建对象 59
4.3.3使用对象 62
4.3.4对象的引用和实体 63
4.4类与程序的基本结构 66
4.5参数传值 68
4.5.1传值机制 68
4.5.2基本数据类型参数的传值 68
4.5.3引用类型参数的传值 69
4.5.4可变参数 70
4.6对象的组合 71
4.6.1组合与复用 72
4.6.2类的关联关系和依赖关系的UML图 76
4.7实例成员与类成员 77
4.7.1实例变量和类变量的声明 77
4.7.2实例变量和类变量的区别 77
4.7.3实例方法和类方法的定义 79
4.7.4实例方法和类方法的区别 79
4.8方法重载 81
4.8.1方法重载的语法规则 81
4.8.2避免重载出现歧义 83
4.9this关键字 84
4.9.1在构造方法中使用this 84
4.9.2在实例方法中使用this 84
4.10包 86
4.10.1包语句 86
4.10.2有包名的类的存储目录 86
4.10.3运行有包名的主类 87
4.11import语句 88
4.11.1引入类库中的类 88
4.11.2引入自定义包中的类 90
4.12访问权限 91
4.12.1何谓访问权限 91
4.12.2私有变量和私有方法 92
4.12.3共有变量和共有方法 93
4.12.4友好变量和友好方法 93
4.12.5受保护的成员变量和方法 94
4.12.6public类与友好类 95
4.13基本类型的类封装 95
4.13.1Double和Float类 95
4.13.2Byte、Short、Integer、Long类 95
4.13.3Character类 95
4.14对象数组 96
4.15JRE扩展与jar文件 97
4.16文档生成器 98
4.17应用举例 99
4.18小结 105
习题4 105
第5章子类与继承
5.1子类与父类 112
5.1.1子类 112
5.1.2类的树形结构 113
5.2子类的继承性 113
5.2.1子类和父类在同一包中的继承性 113
5.2.2子类和父类不在同一包中的继承性 115
5.2.3继承关系(Generalization)的UML图 115
5.2.4protected的进一步说明 115
5.3子类与对象 115
5.3.1子类对象的特点 115
5.3.2关于instanceof运算符 117
5.4成员变量的隐藏和方法重写 117
5.4.1成员变量的隐藏 117
5.4.2方法重写 118
5.5super关键字 122
5.5.1用super操作被隐藏的成员变量和方法 122
5.5.2使用super调用父类的构造方法 124
5.6final关键字 125
5.6.1final类 125
5.6.2final方法 125
5.6.3常量 125
5.7对象的上转型对象 126
5.8继承与多态 128
5.9abstract类和abstract方法 129
5.10面向抽象编程 131
5.11开-闭原则 134
5.12应用举例 135
5.13小结 138
习题5 138
第6章接口与实现
6.1接口 145
6.2实现接口 146
6.3接口的UML图 148
6.4接口回调 149
6.5理解接口 150
6.6接口与多态 152
6.7接口参数 153
6.8abstract类与接口的比较 154
6.9面向接口编程 155
6.10应用举例 155
6.11小结 158
习题6 158
第7章内部类与异常类
7.1内部类 162
7.2匿名类 163
7.2.1和子类有关的匿名类 163
7.2.2和接口有关的匿名类 165
7.3异常类 166
7.3.1try-catch语句 167
7.3.2自定义异常类 168
7.4断言 169
7.5应用举例 171
7.6小结 172
习题7 172
第8章常用实用类
8.1String类 175
8.1.1构造String对象 175
8.1.2字符串的并置 177
8.1.3String类的常用方法 178
8.1.4字符串与基本数据的相互转化 182
8.1.5对象的字符串表示 183
8.1.6字符串与字符数组、字节数组 184
8.1.7正则表达式及字符串的替换与分解 186
8.2StringTokenizer类 191
8.3Scanner类 192
8.4StringBuffer类 194
8.4.1StringBuffer对象 194
8.4.2StringBuffer类的常用方法 195
8.5Date类与Calendar类 196
8.5.1Date类 197
8.5.2Calendar类 197
8.6日期的格式化 200
8.6.1format方法 200
8.6.2不同区域的星期格式 202
8.7Math类、BigInteger类和Random类 202
8.7.1Math类 202
8.7.2BigInteger类 203
8.7.3Random类 204
8.8数字格式化 206
8.8.1format方法 206
8.8.2格式化整数 207
8.8.3格式化浮点数 208
8.9Class类与Console类 209
8.9.1Class类 209
8.9.2Console类 211
8.10Pattern类与Matcher类 212
8.11应用举例 214
8.12小结 215
习题8 216
第9章组件及事件处理
9.1Java Swing概述 221
9.2窗口 222
9.2.1JFrame常用方法 222
9.2.2菜单条、菜单、菜单项 224
9.3常用组件与布局 225
9.3.1常用组件 225
9.3.2常用容器 227
9.3.3常用布局 228
9.4处理事件 233
9.4.1事件处理模式 233
9.4.2ActionEvent事件 234
9.4.3ItemEvent事件 238
9.4.4DocumentEvent事件 241
9.4.5MouseEvent事件 244
9.4.6焦点事件 249
9.4.7键盘事件 249
9.4.8窗口事件 252
9.4.9匿名类实例或窗口做监视器 253
9.4.10事件总结 256
9.5使用MVC结构 256
9.6对话框 259
9.6.1消息对话框 259
9.6.2输入对话框 260
9.6.3确认对话框 262
9.6.4颜色对话框 264
9.6.5自定义对话框 265
9.7树组件与表格组件 266
9.7.1树组件 266
9.7.2表格组件 269
9.8按钮绑定到键盘 271
9.9打印组件 273
9.10发布GUI程序 275
9.11应用举例 276
9.12小结 279
习题9 279
第10章输入、输出流
10.1File类 281
10.1.1文件的属性 282
10.1.2目录 283
10.1.3文件的创建与删除 284
10.1.4运行可执行文件 284
10.2文件字节输入流 285
10.3文件字节输出流 287
10.4文件字符输入、输出流 289
10.5缓冲流 290
10.6随机流 292
10.7数组流 295
10.8数据流 297
10.9对象流 299
10.10序列化与对象克隆 301
10.11使用Scanner解析文件 303
10.12文件对话框 306
10.13带进度条的输入流 308
10.14文件锁 309
10.15应用举例 311
10.16小结 318
习题10 319
第11章JDBC与MySQL数据库
11.1MySQL数据库管理系统 322
11.2启动MySQL数据库服务器 323
11.3MySQL客户端管理工具 325
11.4JDBC 327
11.5连接数据库 328
11.6查询操作 330
11.6.1顺序查询 332
11.6.2控制游标 333
11.6.3条件与排序查询 335
11.7更新、添加与删除操作 337
11.8使用预处理语句 338
11.8.1预处理语句的优点 338
11.8.2使用通配符 339
11.9通用查询 340
11.10事务 343
11.10.1事务及处理 343
11.10.2JDBC事务处理步骤 343
11.11连接SQL Server数据库 345
11.12连接Derby数据库 346
11.13应用举例 348
11.13.1设计思路 348
11.13.2具体设计 349
11.13.3用户程序 356
11.14小结 357
习题11 358
第12章Java多线程机制
12.1进程与线程 359
12.1.1操作系统与进程 359
12.1.2进程与线程 359
12.2Java中的线程 360
12.2.1Java的多线程机制 360
12.2.2主线程(main线程) 360
12.2.3线程的状态与生命周期 361
12.2.4线程调度与优先级 364
12.3Thread类与线程的创建 365
12.3.1使用Thread的子类 365
12.3.2使用Thread类 365
12.3.3目标对象与线程的关系 367
12.3.4关于run方法启动的次数 369
12.4线程的常用方法 369
12.5线程同步 373
12.6协调同步的线程 375
12.7线程联合 377
12.8GUI线程 378
12.9计时器线程 382
12.10守护线程 384
12.11应用举例 385
12.12小结 388
习题12 389
第13章Java网络编程
13.1URL类 396
13.1.1URL的构造方法 396
13.1.2读取URL中的资源 397
13.2InetAddress类 398
13.2.1地址的表示 398
13.2.2获取地址 398
13.3套接字 399
13.3.1套接字概述 399
13.3.2客户端套接字 400
13.3.3ServerSocket对象与服务器端套接字 400
13.3.4使用多线程技术 403
13.4UDP数据报 407
13.4.1发送数据包 407
13.4.2接收数据包 408
13.5广播数据报 411
13.6Java远程调用 414
13.6.1远程对象及其代理 414
13.6.2RMI的设计细节 415
13.7应用举例 418
13.8小结 423
习题13 424
第14章图形、图像与音频
14.1绘制基本图形 425
14.2变换图形 427
14.3图形的布尔运算 429
14.4绘制钟表 430
14.5绘制图像 433
14.6播放音频 434
14.7应用举例 437
14.8小结 439
习题14 439
第15章泛型与集合框架
15.1泛型 441
15.1.1泛型类声明 441
15.1.2使用泛型类声明对象 442
15.2链表 444
15.2.1LinkedList<E>泛型类 444
15.2.2常用方法 445
15.2.3遍历链表 445
15.2.4排序与查找 447
15.2.5洗牌与旋转 449
15.3堆栈 450
15.4散列映射 451
15.4.1HashMap<K,V>泛型类 451
15.4.2常用方法 452
15.4.3遍历散列映射 452
15.4.4基于散列映射的查询 452
15.5树集 454
15.5.1TreeSet<E>泛型类 454
15.5.2结点的大小关系 454
15.5.3TreeSet类的常用方法 455
15.6树映射 456
15.7自动装箱与拆箱 458
15.8应用举例 459
15.9小结 463
习题15 464
(注:目录排版顺序为从左列至右列 [5]

教学资源

 
播报
编辑
  • 配套教材
该教材有配套习题和实验指导教材——《Java 2实用教程(第5版)实验指导与习题解答》。 [1]
书名
书号
出版社
出版时间
作者
《Java 2实用教程(第5版)实验指导与习题解答》
9787302466871
清华大学出版社
2017.05.01
张跃平、耿祥义 [6]
  • 课程资源
该教材提供PPT、Word教案、源码、视频、教学大纲、教案、试卷、习题答案。 [3]

教材特色

 
播报
编辑
该教材注重可读性和实用性,配备了例题和习题。该教材采用JDK1.8(JDK8)。该教材针对较难理解的问题,都是从简单到复杂,逐步深入地引入例子,便于读者掌握Java面向对象编程思想。 [1]
该教材是《Java2实用教程》的第5版,继续保留原教材的特点——注重教材的可读性和实用性,许多例题都经过考虑,既能帮助理解知识,又具有启发性。 [2]

作者简介

 
播报
编辑
耿祥义,1995年中国科学技术大学博士毕业,获理学博士学位。1997年从中山大学博士后流动站出站,大连交通大学教授。有教授Java语言的经验。 [3]