目 录
第1章 分包、编译和解释Java代码 1
1.1 理解包 2
1.1.1 包设计 2
1.1.2 包和import语句 3
1.2 理解包派生类 7
1.2.1 Java 实用工具API 7
1.2.2 Java基本输入/输出API 9
1.2.3 Java网络API 9
1.2.4 Java抽象窗口工具API 9
1.2.5 Java Swing API 10
1.3 理解类结构 13
1.3.1 命名规范 13
1.3.2 分隔符和其他Java源符号 14
1.3.3 Java类结构 14
1.4 编译和解释Java代码 16
1.4.1 Java编译器 16
1.4.2 Java解释器 18
1.5 认证小结 22
1.6 知识点回顾 22
1.6.1 理解包 22
1.6.2 理解包派生类 23
1.6.3 理解类结构 23
1.6.4 编译和解释Java代码 23
1.7 自测题 24
1.7.1 理解包 24
1.7.2 理解包派生类 24
1.7.3 理解类结构 25
1.7.4 编译和解释Java代码 26
1.8 自测题答案 26
1.8.1 理解包 26
1.8.2 理解包派生类 27
1.8.3 理解类结构 27
1.8.4 编译和解释Java代码 27
第2章 Java语句编程 29
2.1 理解赋值语句 31
2.2 创建和使用条件语句 32
2.2.1 if条件语句 33
2.2.2 if-then条件语句 34
2.2.3 if-then-else条件语句 35
2.2.4 switch条件语句 36
2.3 创建和使用迭代语句 39
2.3.1 for循环迭代语句 39
2.3.2 增强的for循环迭代语句 40
2.3.3 while迭代语句 41
2.3.4 do-while迭代语句 42
2.4 创建和使用控制转换语句 44
2.4.1 break控制转换语句 44
2.4.2 continue控制转换语句 44
2.4.3 return控制转换语句 45
2.4.4 标记语句 46
2.5 认证小结 47
2.6 知识点回顾 48
2.6.1 理解赋值语句 48
2.6.2 创建和使用条件语句 48
2.6.3 创建和使用迭代语句 48
2.6.4 创建和使用控制转换语句 48
2.7 自测题 48
2.7.1 理解赋值语句 49
2.7.2 创建和使用条件语句 49
2.7.3 创建和使用迭代语句 50
2.7.4 创建和使用控制转换语句 50
2.8 自测题答案 50
2.8.1 理解赋值语句 50
2.8.2 创建和使用条件语句 51
2.8.3 创建和使用迭代语句 51
2.8.4 创建和使用控制转换语句 52
第3章 Java运算符和字符串编程 53
3.1 理解基本运算符 54
3.1.1 赋值运算符 54
3.1.2 算术运算符 57
3.1.3 关系运算符 58
3.1.4 逻辑运算符 61
3.2 理解运算符优先级 63
3.2.1 运算符优先级 63
3.2.2 重写运算符优先级 64
3.3 使用String对象及其方法 65
3.3.1 字符串 65
3.3.2 String连接运算符 66
3.3.3 String类的方法 70
3.4 使用StringBuilder对象及其方法 75
3.5 测试字符串和其他对象之间的相等性 79
3.6 认证小结 81
3.7 知识点回顾 81
3.7.1 理解基本运算符 81
3.7.2 理解运算符优先级 82
3.7.3 使用String对象及其方法 82
3.7.4 使用StringBuilder对象及其方法 83
3.7.5 String和其他对象间的相等性测试 83
3.8 自测题 83
3.8.1 理解基本运算符 83
3.8.2 理解运算符优先级 86
3.8.3 使用String对象及其方法 86
3.8.4 使用StringBuilder对象及其方法 88
3.8.5 字符串和其他对象间的相等性测试 88
3.9 自测题答案 88
3.9.1 理解基本运算符 88
3.9.2 理解运算符优先级 89
3.9.3 使用String对象及其方法 89
3.9.4 使用StringBuilder对象及其方法 90
3.9.5 字符串和其他对象的相等性测试 90
第4章 使用基本类和变量 91
4.1 理解基本数据类型、枚举和对象 92
4.1.1 基本数据类型变量 92
4.1.2 对象 98
4.1.3 数组 101
4.1.4 枚举 101
4.1.5 Java是强类型 102
4.1.6 命名规范 103
4.2 使用基本数据类型、枚举和对象 103
4.2.1 字面值 104
4.2.2 基本数据类型、枚举和对象的示例 104
4.3 认证小结 107
4.4 知识点回顾 107
4.4.1 理解基本数据类型、枚举和对象 107
4.4.2 使用基本数据类型、枚举和对象 108
4.5 自测题 108
4.5.1 理解基本数据类型、枚举和对象 108
4.5.2 使用基本数据类型、枚举和对象 110
4.6 自测题答案 112
4.6.1 理解基本数据类型、枚举和对象 112
4.6.2 使用基本数据类型,枚举和对象 112
第5章 理解方法和变量的作用域 115
5.1 创建和使用方法 116
5.1.1 使用方法语法 116
5.1.2 创建和调用方法 118
5.1.3 重载方法 119
5.2 通过引用和值传递对象 121
5.2.1 通过值传递基本数据类型给方法 121
5.2.2 通过引用传递对象给方法 121
5.3 理解变量的作用域 123
5.3.1 局部变量 123
5.3.2 方法参数 125
5.3.3 实例变量 125
5.3.4 对象的生命周期 127
5.4 创建和使用构造函数 127
5.4.1 创建构造函数 127
5.4.2 重载构造函数 128
5.4.3 使用默认构造函数 129
5.5 使用this和super关键字 129
5.5.1 this关键字 129
5.5.2 super关键字 131
5.6 创建静态方法和实例变量 133
5.6.1 静态方法 133
5.6.2 静态变量 134
5.6.3 常量 135
5.7 认证小结 135
5.8 知识点回顾 136
5.8.1 创建和使用方法 136
5.8.2 通过引用和值传递对象 136
5.8.3 理解变量的作用域 136
5.8.4 创建和使用构造函数 136
5.8.5 使用this和super关键字 137
5.8.6 创建静态方法和实例变量 137
5.9 自测题 137
5.9.1 创建和使用方法 137
5.9.2 通过引用和值传递对象 138
5.9.3 理解变量的作用域 139
5.9.4 创建和使用构造函数 140
5.9.5 使用this和super关键字 141
5.9.6 创建静态方法和实例变量 141
5.10 自测题答案 143
5.10.1 创建和使用类 143
5.10.2 通过引用和值传递对象 143
5.10.3 理解变量的作用域 143
5.10.4 创建和使用构造函数 143
5.10.5 使用this和super关键字 144
5.10.6 创建静态方法和实例变量 144
第6章 数组编程 145
6.1 使用Java数组 146
6.1.1 一维数组 146
6.1.2 多维数组 149
6.2 使用ArrayList对象及其方法 151
6.2.1 使用ArrayList类 151
6.2.2 ArrayList与标准数组的比较 153
6.3 认证小结 154
6.4 知识点回顾 155
6.4.1 使用Java数组 155
6.4.2 使用ArrayList对象及其方法 155
6.5 自测题 156
6.5.1 使用Java数组 156
6.5.2 使用ArrayList对象及其方法 158
6.6 自测题答案 160
6.6.1 使用Java数组 160
6.6.2 使用ArrayList对象及其方法 160
第7章 理解类继承 163
7.1 实现并使用继承和类类型 164
7.1.1 继承 164
7.1.2 重写方法 166
7.1.3 抽象类 167
7.1.4 接口 168
7.1.5 继承的高级概念 169
7.2 理解封装原则 170
7.2.1 使用封装的良好设计 170
7.2.2 访问修饰符 171
7.2.3 setter和getter方法 173
7.3 类继承和封装的高级应用 174
7.3.1 Java访问修饰符示例 174
7.3.2 具体类继承的示例 175
7.3.3 抽象类继承的示例 178
7.3.4 接口示例 182
7.4 认证小结 184
7.5 知识点回顾 184
7.5.1 实现并使用继承和类类型 184
7.5.2 理解封装原则 185
7.5.3 类继承和封装的高级应用 185
7.6 自测题 185
7.6.1 实现并使用继承和类类型 185
7.6.2 理解封装原则 186
7.6.3 类继承和封装的高级应用 187
7.7 自测题答案 188
7.7.1 实现并使用继承和类类型 188
7.7.2 理解封装原则 188
7.7.3 类继承和封装的高级应用 189
第8章 理解多态和类型转换 191
8.1 理解多态 192
8.1.1 多态的概念 192
8.1.2 多态的实践示例 195
8.2 理解类型转换 203
8.3 认证小结 207
8.4 知识点回顾 208
8.4.1 理解多态 208
8.4.2 理解类型转换 208
8.5 自测题 208
8.5.1 理解多态 208
8.5.2 理解类型转换 211
8.6 自测题答案 212
8.6.1 理解多态 212
8.6.2 理解类型转换 212
第9章 异常处理 213
9.1 理解异常的基本原理和类型 214
9.1.1 Java中异常的层次结构 214
9.1.2 已检查的异常 215
9.1.3 未检查的异常 215
9.1.4 (未检查的)错误 216
9.2 理解异常的本质 216
9.2.1 定义异常 217
9.2.2 抛出异常 217
9.2.3 传递异常 217
9.3 改变程序流程 219
9.3.1 try-catch语句 219
9.3.2 try-finally语句 221
9.3.3 try-catch-finally语句 222
9.3.4 try-with-resources语句 222
9.3.5 multi-catch子句 223
9.4 识别常见异常 224
9.4.1 常见的已检查的异常 225
9.4.2 常见的未检查的异常 226
9.4.3 常见的错误 228
9.5 认证小结 230
9.6 知识点回顾 231
9.6.1 理解异常的基本原理和类型 231
9.6.2 理解异常的本质 231
9.6.3 改变程序流程 231
9.6.4 识别常见异常 231
9.7 自测题 232
9.7.1 理解异常的基本原理和类型 232
9.7.2 理解异常的本质 232
9.7.3 改变程序流程 233
9.7.4 识别常见异常 234
9.8 自测题答案 235
9.8.1 理解异常的基本原理和类型 235
9.8.2 理解异常的本质 235
9.8.3 改变程序流程 235
9.8.4 识别常见异常 235
第10章 使用类及其关系 237
10.1 理解类的组合与关联 238
10.1.1 类的组合与关联 238
10.1.2 类关系 239
10.1.3 多重性 240
10.1.4 关联导航 241
10.2 类的组合与关联的实践 242
10.2.1 类关联关系的示例 242
10.2.2 类组合关系的示例 244
10.2.3 关联导航的示例 245
10.3 认证小结 245
10.4 知识点回顾 246
10.4.1 理解类的组合与关联 246
10.4.2 类的组合与关联的实践 247
10.5 自测题 247
10.5.1 理解类的组合与关联 247
10.5.2 类的组合与关联的实践 248
10.6 自测题答案 249
10.6.1 理解类的组合与关联 249
10.6.2 类的组合与关联的实践 250
附录A Java平台 251
附录B Java SE 7的包 259
附录C Java关键字 269
附录D 括号规范 271
附录E Unicode标准 273
附录F 伪代码算法 275
附录G 统一建模语言 279
术语表 287