基 础篇 3
第1章 Java概述 3
1.1 Java的历史 3
1.2 Java语言的特点 4
1.3 Java平台和主要应用方向 5
1.4 Java开发环境的搭建 6
1.4.1 JVM 6
1.4.2 JRE与JDK 6
1.4.3 JVM、JRE和JDK的关系 7
1.4.4 JDK的下载和安装 7
1.5 Java程序的基本结构 13
1.6 Java注释 14
1.7 Java JDK版本的更替 15
1.8练习 15
第2章 Java基础 16
2.1标识符和关键字 16
2.1.1标识符 16
2.1.2关键字 16
2.2数据类型 17
2.2.1基本数据类型 17
2.2.2引用数据类型 18
2.2.3基本数据类型的类型转换 19
2.3运算符和表达式 22
2.3.1算数运算符和算数表达式 22
2.3.2关系运算和条件运算 23
2.3.3逻辑运算和位运算 25
2.3.4赋值运算符 28
2.4流程控制 28
2.4.1流程控制概述 28
2.4.2条件分支 28
2.4.3循环控制 32
2.4.4无条件分支 36
2.5练习 38
第3章 数组 41
3.1数组概述 41
3.2一维数组 41
3.2.1数组的声明 41
3.2.2数组初始化 42
3.2.3数组元素的访问 43
3.2.4数组复制 44
3.3 Arrays类 45
3.4二维数组 48
3.4.1二维数组的定义和初始化 48
3.4.2 Java中二维数组的实质 50
3.4.3二维数组应用举例 50
3.5练习 52
第4章 类和对象 54
4.1类与对象概述 54
4.1.1为什么需要类 54
4.1.2类的定义 55
4.1.3实例化对象 55
4.1.4访问对象中的成员变量 56
4.1.5对象的引用性质 57
4.2类的成员方法 58
4.2.1成员方法的定义和使用 58
4.2.2方法的参数传递 61
4.2.3方法的重载 63
4.3构造方法 64
4.4垃圾回收机制 67
4.5包的使用 69
4.5.1为什么需要包 69
4.5.2访问包中的类 70
4.6练习 73
第5章 类的封装 75
5.1封装的基本概念 75
5.2封装的实现 77
5.3类的特殊成员 79
5.4练习 81
第6章 类的继承 83
6.1继承的基本概念 83
6.1.1继承的实现 84
6.1.2继承的本质 84
6.2继承带来的方法重写 87
6.2.1方法重写的原则 87
6.2.2方法重写的意义 89
6.2.3方法的重写与重载的比较 90
6.3抽象类与接口 91
6.3.1抽象类的继承 91
6.3.2抽象类的意义 93
6.3.3接口 93
6.4 Object类 95
6.5练习 101
第7章 多态 103
7.1多态的基本概念 103
7.2多态的应用 107
7.2.1引用变量的转型 107
7.2.2接口回调 110
7.2.3动态绑定 111
7.3多态性总结 112
7.4练习 114
第8章 包装器类 116
8.1包装器类型 116
8.2自动装箱 117
8.3练习 122
第9章 内部类 123
9.1内部类的基本使用 123
9.2局部方法内部类 127
9.3匿名内部类 128
9.4静态嵌套类(静态内部类或者嵌套类) 130
9.5练习 131
第10章 枚举 133
10.1枚举的基本使用 133
10.2练习 136
第11章 异常和断言 137
11.1异常 137
11.1.1 JDK中异常的层次结构 137
11.1.2异常的分类 137
11.2 Java异常处理机制 139
11.2.1捕获异常 139
11.2.2声明(传播)异常 141
11.3自定义异常类 143
11.4断言 145
11.5练习 147
第12章 容器和泛型 149
12.1 Java中容器的分类 149
12.2集合类型 150
12.2.1 Set 150
12.2.2 List 155
12.2.3 Queue 156
12.3 Map类型 160
12.4迭代器(Iterator) 162
12.5 Collections工具类 163
12.6泛型 169
12.7练习 172
第13章 流与文件 173
13.1文件处理 173
13.2 I/O和流 176
13.3字节流 177
13.3.1InputStream 178
13.3.2 OutputStream 178
13.3.3 FilterInputStream和FilterOutputStream 179
13.3.4字节文件处理(FileInputStream和FileOutputStream) 180
13.4字符流 181
13.4.1 Reader 182
13.4.2 Writer 182
13.4.3字符文件的处理(FileReader和FileWriter) 183
13.5对象流 183
13.5.1对象的序列化和反序列化 183
13.5.2 ObjectInputStream和ObjectOutputStream 184
13.5.3对象序列化的控制 187
13.6其他常用流 190
13.7练习 192
第14章 字符串解析、日期格式化 195
14.1字符串 195
14.1.1 String 195
14.1.2 StringBuffer 201
14.1.3 StringTokenizer 203
14.1.4 Scanner扫描输入 205
14.2日期、日期的格式化以及字符串的解析 206
14.2.1Date 206
14.2.2 Calendar 207
14.2.3日期的格式化和解析 210
14.3练习 214
第15章 线程和多线程 216
15.1线程简介 216
15.1.1程序、进程、线程 216
15.1.2线程的生命周期 217
15.2 Java中创建多线程 218
15.2.1定义任务 218
15.2.2线程中常用的方法 222
15.2.3线程的优先级 226
15.3多线程的同步和死锁 227
15.3.1多线程同步 228
15.3.2多线程的死锁问题 233
15.3.3 Daemon线程 235
15.4练习 235
第16章 网络编程 237
16.1网络编程基础 237
16.1.1 TCP/IP基本概念 237
16.1.2 URL及应用 238
16.2基于套接字的Java网络编程 238
16.2.1Socket通信 238
16.2.2 Socket通信的过程 239
16.2.3 Socket基于TCP协议的网络编程 241
16.2.4 Socket基于UDP协议的网络编程 246
16.3练习 248
第17章 图形界面编程 249
17.1 Java GUI编程简介 249
17.2 AWT图形界面编程 250
17.2.1 AWT中的容器组件 250
17.2.2布局管理器 253
17.2.3 AWT中的事件处理 258
17.2.4 AWT中的其他组件 261
17.3 Swing组件 266
17.4 Java中的AWT绘图 269
17.5练习 273
扩展篇 277
第18章 反射 277
18.1 Java反射机制的基本原理 277
18.2 Java反射机制的应用 280
第19章 javac、java命令的使用 287
19.1 JDK环境配置中的环境变量 287
19.2 javac命令 287
19.3 java命令 288
第20章 JDBC数据库连接技术 293
20.1 JDBC的概念和类型 293
20.2 JDBC中主要的类和接口 295
20.3用JDBC进行数据库操作 298
20.4数据库连接池技术 303
附录A JavaBeans命名规则 308
附录B Eclipse的安装和使用 310