第1章 Java语言基础 1
1.1 Java概述 1
1.1.1 Java起源 1
1.1.2 Java的版本 4
1.1.3 Java语言的特征 5
1.1.4 JavaApplication与JavaApplet 8
1.1.5 Java与C/C++的比较 9
1.1.6 类库与API文档 10
1.1.7 Java教学体系探索 11
1.2 Java程序结构与运行机制 11
1.2.1 一个简单的Java程序 12
1.2.2 Java运行机制 13
1.3 Java开发环境 15
1.3.1 JDK 15
1.3.2 Eclipse 16
1.3.3 NetBeans 17
1.3.4 其他 17
1.4 Java编程参考 18
1.4.1 Java编程规范 18
1.4.2 Java帮助文档 18
1.4.3 Java相关讨论和社区 18
本章小结 19
习题 19
实验 20
第2章 结构化程序设计基础 21
2.1 标识符、关键字和数据类型 21
2.1.1 标识符 21
2.1.2 关键字 22
2.1.3 数据类型 23
2.1.4 常量 25
2.1.5 变量的声明和初始化 26
2.2 操作符 27
2.2.1 赋值操作符 27
2.2.2 数学操作符 28
2.2.3 关系操作符 29
2.2.4 逻辑操作符 30
2.2.5 位操作符和位移操作符 31
2.2.6 字符串操作符 32
2.2.7 类型转换操作符 32
2.2.8 三元条件操作符 33
2.2.9 Java语言操作符的优先级与结合性 34
2.3 表达式与语句 35
2.3.1 表达式 35
2.3.2 语句与语句块 35
2.4 控制流程 36
2.4.1 顺序结构 36
2.4.2 选择结构 36
2.4.3 循环结构 38
2.4.4 break语句和continue语句 39
2.4.5 return语句 41
本章小结 41
习题 41
实验 42
第3章 Java类与对象 43
3.1 面向对象的基本概念 43
3.2 Java类 45
3.2.1 类的定义 45
3.2.2 变量成员与方法成员 46
3.2.3 访问控制符 50
3.2.4 构造方法 51
3.2.5 终结处理方法 52
3.3 Java对象 53
3.3.1 对象的创建 53
3.3.2 对象初始化 54
3.3.3 成员初始化次序 56
3.3.4 垃圾回收机制 57
3.4 包:库单元 58
3.4.1 命名空间 58
3.4.2 package语句 59
3.4.3 import语句 60
3.5 Java标准类库 61
3.5.1 Java常用包:java.lang包、java.util包 61
3.5.2 Object类 63
3.5.3 System类 64
3.5.4 Math类 64
3.5.5 String类、StringBuffer类和StringBuilder类 65
本章小结 70
习题 70
实验 71
第4章 类的复用和抽象 72
4.1 面向对象基本机制 72
4.2 类的复用 73
4.2.1 合成与聚合 74
4.2.2 继承 76
4.2.3 重写与重载 79
4.2.4 abstract和final 83
4.2.5 this和super 84
4.3 多态 86
4.3.1 向上转型 87
4.3.2 多态性 88
4.3.3 运行时绑定 89
4.3.4 多态的实现方法 91
4.4 接口 94
4.4.1 接口的定义 94
4.4.2 接口的设计思想 95
4.4.3 接口的应用 97
4.5 内部类 99
4.5.1 内部类的定义和特性 100
4.5.2 其他类型的内部类 102
4.5.3 内部类与外部类的关系 107
本章小结 112
习题 112
实验 114
第5章 图形化用户界面 115
5.1 图形化用户界面概述 115
5.1.1 Swing与AWT 116
5.1.2 GUI组件类层次结构 116
5.1.3 Swing组件 117
5.2 常用组件 118
5.2.1 JFrame窗体 118
5.2.2 JLabel标签 120
5.2.3 JButton按钮 121
5.2.4 JTextField文本框 123
5.2.5 其他常用组件 125
5.3 布局管理 125
5.3.1 FlowLayout顺序布局 126
5.3.2 BorderLayout边界布局 127
5.3.3 GridLayout网格布局 128
5.3.4 CardLayout卡片布局 129
5.3.5 GridBagLayout网格块布局 131
5.4 事件 131
5.4.1 事件处理机制 131
5.4.2 事件类与事件监听接口 134
5.4.3 常用事件处理 137
5.4.4 事件适配器 140
5.5 Java的GUI可视化编程 142
5.5.1 WindowBuilder插件的下载及安装 143
5.5.2 开发可视化GUI工程 144
本章小结 146
习题 146
实验 146
第6章 异常处理 148
6.1 异常概述 148
6.1.1 异常与错误 148
6.1.2 标准异常类 150
6.1.3 常见异常与错误 152
6.2 异常处理方法 153
6.2.1 捕获和处理异常 154
6.2.2 异常的抛出 156
6.2.3 异常传递链 157
6.2.4 异常处理原则 159
6.3 自定义异常 159
6.3.1 自定义异常的创建 159
6.3.2 抛出异常对象 159
6.3.3 自定义异常抛出与捕获 161
6.3.4 异常转型 163
本章小结 164
习题 164
实验 165
第7章 对象的容纳 166
7.1 数组 166
7.1.1 数组创建、初始化和使用 167
7.1.2 多维数组 167
7.1.3 数组和数组引用 168
7.1.4 数组的工具类Arrays 169
7.1.5 对象比较 170
7.2 枚举 171
7.2.1 枚举的定义 172
7.2.2 枚举的使用 172
7.3 容器 173
7.3.1 List 173
7.3.2 泛型 178
7.3.3 Set 181
7.3.4 Map 188
7.3.5 容器的Collections工具类 193
7.3.6 容器的选择 195
7.4 Java泛型扩展 196
7.4.1 无界通配符“?” 196
7.4.2 通配符上界“?extendsT” 197
7.4.3 通配符下界“?superT” 199
本章小结 200
习题 201
思考题 201
实验 201
第8章 I/O流 202
8.1 流与相关类 202
8.1.1 流的概念 202
8.1.2 字节流及其方法 203
8.1.3 字符流及其方法 207
8.1.4 节点流与处理流 211
8.2 标准I/O流 215
8.3 文件I/O流 217
8.3.1 File类 217
8.3.2 基于字节的文件流 219
8.3.3 基于字符的文件流 221
8.4 随机访问文件 223
8.5 压缩 224
本章小结 226
习题 226
实验 226
第9章 并发控制 227
9.1 多任务系统介绍 227
9.2 Java多线程的概念 229
9.2.1 Java语言中多线程的作用 229
9.2.2 线程的创建 230
9.2.3 线程的生命周期 232
9.2.4 线程的优先级 233
9.3 线程之间的协作 234
9.3.1 同步区域 235
9.3.2 协作机制 236
9.3.3 死锁 238
9.4 扩展模型 239
9.4.1 ReentrantLock锁 239
9.4.2 await/signal协作机制 240
本章小结 241
习题 241
实验 242
第10章 数据库应用 243
10.1 数据库基础 243
10.1.1 常用的关系数据库 243
10.1.2 SQL语言简介 245
10.2 JDBC概述 246
10.2.1 JDBC驱动程序接口 246
10.2.2 JDBC应用程序接口 247
10.3 JDBC编程步骤 248
10.4 一个简单的JDBC操作数据库程序 248
10.5 对象关系映射概述 251
10.5.1 ORM的概念 252
10.5.2 ORM技术特点 252
10.5.3 流行的ORM框架简介 252
10.5.4 Hibernate简介 253
本章小结 253
习题 254
实验 254
第11章 网络应用 255
11.1 InetAddress类 256
11.2 ServerSocket类和Socket类 258
11.3 DatagramSocket类 262
本章小结 265
习题 265
实验 265
第12章 注解 266
12.1 注解的语法 267
12.2 注解的使用 268
12.3 JUnit4中注解的使用 270
本章小结 271
习题 272
参考文献 273