Java 2实用教程(第4版) / 高等学校Java课程系列教材
作者: 耿祥义、张跃平
出版时间:2014年9月
出版社:清华大学出版社
- 清华大学出版社
- 9787302260493
- 4-9
- 78880
- 16开
- 2014年9月
- 工学
- 软件工程
- TP312JA
- 计算机
- 本专科、高职高专
Java语言是一种很优秀的语言,具有面向对象、与平台无关、安全、稳定和多线程等优良特性,特别适合于网络应用程序的设计,已经成为网络时代最重要的语言之一。
耿祥义等编著的《Java2实用教程(第4版)》共分16章,分别介绍了Java
的基本数据类型、语句、类与对象、子类与继承、接口与实现、内部类与异常类、常用实用类、组件及事件处理、输入输出流、JDBC数据库操作、Java
多线程机制、Java网络编程、图形、图像与音频、泛型与集合框架、Java Applet等内容。
《Java2实用教程(第4版)》注重可读性和实用性,配备了大量的例题和习题。许多例题和习题都经过精心的考虑,既能帮助理解知识,又具有启发性。本书通俗易懂,便于自学,针对较难理解的问题,都是从简单到复杂,逐步深入地引入例子,便于读者掌握.1ava面向对象编程思想。
《Java2实用教程(第4版)》既适合作为高等院校相关专业Java程序设计的教材,也可供自学者及软件开发人员参考。
1.1 Java的地位 1
1.1.1 网络地位 2
1.1.2 语言地位 2
1.1.3 需求地位 2
1.2 Java的特点 2
1.2.1 简单 2
1.2.2 面向对象 2
1.2.3 平台无关 3
1.2.4 多线程 4
1.2.5 安全 4
1.2.6 动态 5
1.3 安装JDK 5
1.3.1 三种平台简介 5
1.3.2 安装Java SE平台 5
1.4 Java程序的开发步骤 7
1.5 简单的Java应用程序 8
1.5.1 源文件的编写与保存 8
1.5.2 编译 9
1.5.3 运行 10
1.6 编程风格 12
1.6.1 Allmans风格 12
1.6.2 Kernighan风格 13
1.6.3 注释 13
1.7 Java之父——James Gosling 14
1.8 小结 14
习题1 14
第2章 基本数据类型与数组 16
2.1 标识符与关键字 16
2.1.1 标识符 16
2.1.2 Unicode字符集 16
2.1.3 关键字 17
2.2 基本数据类型 17
2.2.1 逻辑类型 17
2.2.2 整数类型 17
2.2.3 字符类型 18
2.2.4 浮点类型 19
2.3 类型转换运算 20
2.4 输入、输出数据 22
2.4.1 输入基本型数据 22
2.4.2 输出基本型数据 23
2.5 数组 23
2.5.1 声明数组 24
2.5.2 为数组分配元素 25
2.5.3 数组元素的使用 26
2.5.4 length的使用 26
2.5.5 数组的初始化 26
2.5.6 数组的引用 27
2.6 应用举例 28
2.7 小结 29
习题2 29
第3章 运算符、表达式和语句 33
3.1 运算符与表达式 33
3.1.1 算术运算符与算术表达式 33
3.1.2 自增,自减运算符 33
3.1.3 算术混合运算的精度 34
3.1.4 关系运算符与关系表达式 34
3.1.5 逻辑运算符与逻辑表达式 35
3.1.6 赋值运算符与赋值表达式 35
3.1.7 位运算符 36
3.1.8 instanceof运算符 37
3.1.9 运算符综述 37
3.2 语句概述 38
3.3 if条件分支语句 39
3.3.1 if语句 39
3.3.2 if-else语句 40
3.3.3 if-else if-else语句 41
3.4 switch开关语句 42
3.5 循环语句 44
3.5.1 for循环语句 44
3.5.2 while循环 45
3.5.3 do-while循环 45
3.6 break和continue语句 46
3.7 for语句与数组 46
3.8 应用举例 47
3.9 小结 48
习题3 48
第4章 类与对象 51
4.1 编程语言的几个发展阶段 51
4.1.1 面向机器语言 51
4.1.2 面向过程语言 51
4.1.3 面向对象语言 52
4.2 类 53
4.2.1 类声明 54
4.2.2 类体 54
4.2.3 成员变量 55
4.2.4 方法 56
4.2.5 需要注意的问题 58
4.2.6 类的UML图 58
4.3 构造方法与对象的创建 59
4.3.1 构造方法 59
4.3.2 创建对象 60
4.3.3 使用对象 63
4.3.4 对象的引用和实体 64
4.4 类与程序的基本结构 67
4.5 参数传值 69
4.5.1 传值机制 69
4.5.2 基本数据类型参数的传值 69
4.5.3 引用类型参数的传值 70
4.6 对象的组合 74
4.6.1 组合与复用 74
4.6.2 类的关联关系和依赖关系的UML图 75
4.7 实例成员与类成员 76
4.7.1 实例变量和类变量的声明 76
4.7.2 实例变量和类变量的区别 76
4.7.3 实例方法和类方法的定义 78
4.7.4 实例方法和类方法的区别 79
4.8 方法重载 80
4.8.1 方法重载的语法规则 80
4.8.2 避免重载出现歧义 82
4.9 this关键字 83
4.9.1 在构造方法中使用this 83
4.9.2 在实例方法中使用this 84
4.10 包 85
4.10.1 包语句 86
4.10.2 有包名的类的存储目录 86
4.10.3 运行有包名的主类 86
4.11 import语句 88
4.11.1 引入类库中的类 88
4.11.2 引入自定义包中的类 89
4.12 访问权限 90
4.12.1 何谓访问权限 90
4.12.2 私有变量和私有方法 91
4.12.3 共有变量和共有方法 92
4.12.4 友好变量和友好方法 93
4.12.5 受保护的成员变量和方法 93
4.12.6 public类与友好类 94
4.13 基本类型的类封装 94
4.13.1 Double和Float类 94
4.13.2 Byte、Short、Integer、Long类 94
4.13.3 Character类 95
4.14 对象数组 95
4.15 反编译和文档生成器 96
4.16 jar文件 97
4.17 应用举例 99
4.18 小结 105
习题4 106
第5章 子类与继承 112
5.1 子类与父类 112
5.1.1 声明子类 113
5.1.2 类的树形结构 113
5.2 子类的继承性 113
5.2.1 子类和父类在同一包中的继承性 113
5.2.2 子类和父类不在同一包中的继承性 115
5.2.3 继承关系(Generalization)的UML图 115
5.2.4 protected的进一步说明 115
5.3 子类与对象 116
5.3.1 子类对象的特点 116
5.3.2 关于instanceof运算符 117
5.4 成员变量的隐藏和方法重写 117
5.4.1 成员变量的隐藏 117
5.4.2 方法重写(Override) 119
5.5 super关键字 123
5.5.1 用super操作被隐藏的成员变量和方法 123
5.5.2 使用super调用父类的构造方法 124
5.6 final关键字 125
5.6.1 final类 125
5.6.2 final方法 126
5.6.3 常量 126
5.7 对象的上转型对象 126
5.8 继承与多态 128
5.9 abstract类和abstract方法 129
5.10 面向抽象编程 131
5.11 开-闭原则 134
5.12 应用举例 135
5.13 小结 138
习题5 138
第6章 接口与实现 145
6.1 接口 145
6.2 实现接口 146
6.3 理解接口 148
6.4 接口的UML图 150
6.5 接口回调 151
6.6 接口与多态 153
6.7 接口参数 154
6.8 abstract类与接口的比较 155
6.9 面向接口编程 155
6.10 应用举例 156
6.11 小结 158
习题6 158
第7章 内部类与异常类 162
7.1 内部类 162
7.2 匿名类 164
7.2.1 和子类有关的匿名类 164
7.2.2 和接口有关的匿名类 166
7.3 异常类 167
7.3.1 try-catch语句 167
7.3.2 自定义异常类 168
7.4 断言 170
7.5 应用举例 171
7.6 小结 173
习题7 173
第8章 常用实用类 176
8.1 String类 176
8.1.1 构造字符串对象 176
8.1.2 String类的常用方法 177
8.1.3 字符串与基本数据的相互转化 181
8.1.4 对象的字符串表示 182
8.1.5 字符串与字符、字节数组 183
8.1.6 正则表达式及字符串的替换与分解 186
8.2 StringTokenizer类 190
8.3 Scanner类 191
8.4 Date与Calendar类 194
8.4.1 Date类 194
8.4.2 Calendar类 194
8.5 日期的格式化 197
8.5.1 format方法 197
8.5.2 不同区域的星期格式 200
8.6 Math、BigInteger和Random类 200
8.6.1 Math类 200
8.6.2 BigInteger类 201
8.6.3 Random类 202
8.7 数字格式化 203
8.7.1 Formatter类 203
8.7.2 格式化整数 204
8.7.3 格式化浮点数 205
8.8 StringBuffer类 207
8.8.1 StringBuffer对象的创建 207
8.8.2 StringBuffer类的常用方法 208
8.9 Pattern与Matcher类 209
8.10 Class类 212
8.10.1 使用Class实例化一个对象 212
8.10.2 获取类的有关信息 213
8.11 应用举例 214
8.12 小结 215
习题8 215
第9章 组件及事件处理 221
9.1 Java Swing概述 221
9.2 窗口 222
9.2.1 JFrame常用方法 223
9.2.2 菜单条、菜单、菜单项 224
9.3 常用组件与布局 226
9.3.1 常用组件 226
9.3.2 常用容器 228
9.3.3 常用布局 229
9.4 处理事件 235
9.4.1 事件处理模式 235
9.4.2 ActionEvent事件 236
9.4.3 ItemEvent事件 240
9.4.4 DocumentEvent事件 244
9.4.5 MouseEvent事件 247
9.4.6 焦点事件 252
9.4.7 键盘事件 252
9.4.8 窗口事件 255
9.4.9 匿名类实例或窗口做监视器 257
9.4.10 事件总结 259
9.5 使用MVC结构 260
9.6 对话框 263
9.6.1 消息对话框 263
9.6.2 输入对话框 265
9.6.3 确认对话框 266
9.6.4 颜色对话框 268
9.6.5 自定义对话框 269
9.7 树组件与表格组件 271
9.7.1 树组件 271
9.7.2 表格组件 274
9.8 按钮绑定到键盘 276
9.9 打印组件 278
9.10 发布GUI程序 281
9.11 应用举例 281
9.12 小结 286
习题9 286
第10章 输入、输出流 288
10.1 File类 289
10.1.1 文件的属性 289
10.1.2 目录 290
10.1.3 文件的创建与删除 291
10.1.4 运行可执行文件 291
10.2 文件字节输入流 292
10.3 文件字节输出流 294
10.4 文件字符输入、输出流 297
10.5 缓冲流 298
10.6 随机流 300
10.7 数组流 303
10.8 数据流 305
10.9 对象流 308
10.10 序列化与对象克隆 310
10.11 使用Scanner解析文件 313
10.12 文件对话框 315
10.13 带进度条的输入流 318
10.14 文件锁 319
10.15 应用举例 321
10.16 小结 330
习题10 331
第11章 JDBC数据库操作 334
11.1 Microsoft Access数据库管理系统 334
11.1.1 建立数据库 334
11.1.2 创建表 335
11.2 JDBC 335
11.3 连接数据库 336
11.3.1 连接方式的选择 336
11.3.2 建立JDBC-ODBC桥接器 337
11.3.3 ODBC数据源 337
11.3.4 建立连接 338
11.4 查询操作 340
11.4.1 顺序查询 341
11.4.2 控制游标 343
11.4.3 条件查询 345
11.4.4 排序查询 346
11.4.5 模糊查询 347
11.5 更新、添加与删除操作 348
11.6 使用预处理语句 349
11.6.1 预处理语句优点 350
11.6.2 使用通配符 352
11.7 事务 354
11.7.1 事务及处理 354
11.7.2 JDBC事务处理步骤 355
11.8 批处理 357
11.9 CachedRowSetImpl类 358
11.10 应用举例 360
11.11 小结 366
习题11 366
第12章 Java多线程机制 367
12.1 进程与线程 367
12.1.1 操作系统与进程 367
12.1.2 进程与线程 367
12.2 Java中的线程 368
12.2.1 Java的多线程机制 368
12.2.2 主线程(main线程) 368
12.2.3 线程的状态与生命周期 369
12.2.4 线程调度与优先级 372
12.3 Thread类与线程的创建 373
12.3.1 使用Thread的子类 373
12.3.2 使用Thread类 373
12.3.3 目标对象与线程的关系 376
12.3.4 关于run方法启动的次数 377
12.4 线程的常用方法 378
12.5 线程同步 382
12.6 协调同步的线程 384
12.7 线程联合 385
12.8 GUI线程 387
12.9 计时器线程 391
12.10 守护线程 393
12.11 应用举例 394
12.12 小结 397
习题12 398
第13章 Java网络编程 405
13.1 URL类 405
13.1.1 URL的构造方法 405
13.1.2 读取URL中的资源 406
13.2 InetAddress类 407
13.2.1 地址的表示 407
13.2.2 获取地址 407
13.3 套接字 408
13.3.1 套接字概述 408
13.3.2 客户端套接字 409
13.3.3 ServerSocket对象与服务器端套接字 409
13.3.4 使用多线程技术 412
13.4 UDP数据报 416
13.4.1 发送数据包 417
13.4.2 接收数据包 417
13.5 广播数据报 421
13.6 Java远程调用(RMI) 423
13.6.1 远程对象及其代理 423
13.6.2 RMI的设计细节 424
13.7 应用举例 428
13.8 小结 433
习题13 433
第14章 图形、图像与音频 434
14.1 绘制基本图形 434
14.2 变换图形 437
14.3 图形的布尔运算 438
14.4 绘制钟表 440
14.5 绘制图像 442
14.6 播放音频 444
14.7 应用举例 446
14.8 小结 449
习题14 449
第15章 泛型与集合框架 450
15.1 泛型 450
15.1.1 泛型类声明 450
15.1.2 使用泛型类声明对象 451
15.2 链表 453
15.2.1 LinkedList泛型类 453
15.2.2 常用方法 454
15.2.3 遍历链表 455
15.2.4 排序与查找 457
15.2.5 洗牌与旋转 458
15.3 堆栈 459
15.4 散列映射 460
15.4.1 HashMap泛型类 460
15.4.2 常用方法 461
15.4.3 遍历散列映射 461
15.4.4 基于散列映射的查询 461
15.5 树集 463
15.5.1 TreeSet泛型类 463
15.5.2 结点的大小关系 464
15.5.3 TreeSet类的常用方法 464
15.6 树映射 466
15.7 自动装箱与拆箱 468
15.8 应用举例 468
15.9 小结 473
习题15 473
第16章 Java Applet程序 475
16.1 Java Applet的结构 475
16.2 Java Applet的运行原理 475
16.3 网页传值 478
习题16 479