理论篇 1
第1章 Java概述 2
1.2 Java的特点 4
1.3 Java的体系结构 5
1.3.1 Java体系结构 6
1.3.2 Java程序类型 6
1.4 JVM、JRE和JDK 7
1.4.1 JVM 7
1.4.2 JRE与JDK 9
1.4.3 三者关系 9
1.5 第一个Java程序 10
1.6 Java注释 11
小结 12
练习 13
第2章 Java基础 14
2.1 常量和变量 16
2.1.1 标识符 16
2.1.2 分隔符 16
2.1.3 常量 17
2.1.4 变量 18
2.2 数据类型 18
2.2.1 基本数据类型 19
2.2.2 引用类型 20
2.2.3 类型转换 20
2.3 变量的作用域和初始化 22
2.3.1 变量作用域 22
2.3.2 变量初始化 23
2.4 运算符 23
2.4.1 算术运算符 23
2.4.2 比较运算符 24
2.4.3 逻辑运算符 25
2.4.4 位运算符 27
2.4.5 赋值运算符 29
2.4.6 条件运算符 30
2.4.7 运算符优先级 30
2.5 流程控制 31
2.5.1 分支结构 31
2.5.2 迭代结构 36
2.5.3 转移语句 41
小结 44
练习 45
第3章 数组 47
3.1 数组 49
3.2 一维数组 49
3.2.1 创建数组 49
3.2.2 数组初始化 52
3.2.3 使用数组 53
3.2.4 数组复制 53
3.3 数组与数据结构 55
3.3.1 数组排序 55
3.3.2 实现栈 56
3.3.3 实现队列 57
3.4 二维数组 59
3.4.1 创建二维数组 59
3.4.2 使用二维数组 60
小结 61
练习 62
第4章 类与对象 63
4.1 类 65
4.1.1 OOP概念 65
4.1.2 类的声明 66
4.1.3 构造方法 67
4.1.4 类的方法 69
4.1.5 Overload 70
4.2 对象 71
4.2.1 对象的创建 71
4.2.2 使用对象 72
4.2.3 对象参数 74
4.3 类的封装 76
4.3.1 包 76
4.3.2 访问修饰符 77
4.3.3 静态变量和方法 81
4.4 内部类 84
4.4.1 成员内部类 84
4.4.2 局部内部类 85
4.4.3 静态内部类 87
4.4.4 匿名内部类 88
小结 89
练习 89
第5章 继承与多态 91
5.1 继承与多态 93
5.1.1 继承 93
5.1.2 多态 96
5.1.3 this super null 98
5.1.4 final关键字 104
5.2 抽象类与接口 106
5.2.1 抽象类 106
5.2.2 接口 109
5.2.3 instanceof运算符 110
5.2.4 对象造型 112
5.3 Object类 113
5.3.1 equals方法 113
5.3.2 toString方法 115
小结 117
练习 118
第6章 异常 120
6.1 异常 122
6.1.1 异常概述 122
6.1.2 Java异常分类 122
6.1.3 Java异常处理机制 124
6.2 异常处理 124
6.2.1 异常实例 125
6.2.2 try、catch 125
6.2.3 多重catch处理异常 127
6.2.4 嵌套异常处理 129
6.2.5 finally 130
6.2.6 throw、throws 132
6.3 自定义异常 133
小结 135
练习 135
第7章 泛型 137
7.1 泛型概述 139
7.1.1 认识泛型 139
7.2 泛型定义 141
7.2.1 有界类 142
7.2.2 泛型接口 144
7.2.3 泛型方法 145
7.2.4 通配符 147
7.2.5 泛型的继承 148
7.3 泛型的局限性 150
小结 152
练习 152
第8章 集合 153
8.1 集合概述 155
8.1.1 集合框架 155
8.1.2 迭代器接口 158
8.2 集合类 159
8.2.1 List 159
8.2.2 Set 163
8.2.3 Map 166
8.2.4 区别与联系 168
小结 169
练习 169
第9章 流与文件 171
9.1 文件 173
9.1.1 File类 173
9.1.2 文件列表器 174
9.2 流的分类 177
9.3 字节流 178
9.3.1 InputStream 178
9.3.2 OutputStream 181
9.3.3 过滤流 183
9.4 字符流 185
9.4.1 Reader 186
9.4.2 Writer 188
9.5 对象流 190
9.5.1 对象序列化与反序列化 190
9.5.2 对象流 191
小结 194
练习 195
第10章 反射 197
10.1 类加载 199
10.1.1 认识Class 199
10.1.2 使用ClassLoader 201
10.1.3 使用instanceof 203
10.2 反射 204
10.2.1 Constructor类 205
10.2.2 Method类 207
10.2.3 Field类 208
小结 209
练习 210
第11章 枚举、自动装箱、注解 211
11.1 枚举 213
11.1.1 枚举定义 214
11.1.2 Java枚举是类类型 215
11.1.3 枚举继承自Enum 217
11.2 自动装箱/拆箱 218
11.3 注解 219
11.3.1 注解定义 220
11.3.2 使用注解 221
11.3.3 内置注解 223
小结 224
练习 224
实践篇 225
实践1 Java概述 226
实践指导 226
实践1.G.1 226
实践1.G.2 230
知识拓展 237
1.GUI Application应用 237
2.Web Applet应用 238
3.数据读取 240
拓展练习 242
练习1.E.1 242
实践2 Java基础 243
实践指导 243
实践2.G.1 243
实践2.G.2 243
实践2.G.3 244
知识拓展 245
1.Java编码规范 245
2.Math类 251
3.String类 253
拓展练习 255
练习2.E.1 255
练习2.E.2 255
实践3 数组 256
实践指导 256
实践3.G.1 256
实践3.G.2 257
知识拓展 258
1.Arrays类 258
2.命令行参数 260
3.for-each语句 261
4.Random类 262
拓展练习 263
练习3.E.1 263
练习3.E.2 263
实践4 类与对象 265
实践指导 265
实践4.G.1 265
实践4.G.2 266
实践4.G.3 267
实践4.G.4 270
知识拓展 273
1.静态块 273
2.Singleton设计模式 273
拓展练习 275
练习4.E.1 275
实践5 继承与多态 276
实践指导 276
实践5.G.1 276
知识拓展 279
1.Comparable接口 279
2.Cloneable接口 280
3.Template模式 280
拓展练习 282
练习5.E.1 282
实践6 异常 283
实践指导 283
实践6.G.1 283
知识拓展 285
1.日志记录 285
2.StringBuffer 287
3.StringBuilder 288
4.StringTokenizer 288
拓展练习 289
练习6.E.1 289
实践7 泛型 290
实践指导 290
实践7.G.1 290
知识拓展 291
1.泛型类在继承中的运行时 291
2.擦除 293
拓展练习 296
练习7.E.1 296
实践8 集合 297
实践指导 297
实践8.G.1 297
实践8.G.2 299
实践8.G.3 301
知识拓展 302
1.历史遗留 302
2.Properties 303
3.Collections 304
4.BitSet 305
拓展练习 307
练习8.E.1 307
实践9 流与文件 308
实践指导 308
实践9.G.1 308
实践9.G.2 309
实践9.G.3 314
知识拓展 316
1.Zip流 316
2.NIO 319
拓展练习 320
练习9.E.1 320
练习9.E.2 320
实践10 反射 321
实践指导 321
实践10.G.1 321
知识拓展 324
1.日期处理 324
2.Formatter类 328
拓展练习 330
练习10.E.1 330
实践11 枚举、自动装箱、注解 331
实践指导 331
实践11.G.1 331
实践11.G.2 332
知识拓展 334
1.自动装箱/拆箱 334
2.可变参数 335
拓展练习 336
练习11.E.1 336
附录A Java关键字 337