第1章 概述 1
1.1 面向对象的程序设计 1
1.1.1 什么是面向对象程序设计 1
1.1.2 OOP的基本特征 1
1.1.3 OOP的优势 2
1.2 了解Java 3
1.2.1 Java的特点 3
1.2.2 Java虚拟机 5
1.2.3 Java的核心技术 5
1.3 Java开发环境的搭建 6
1.3.1 JDK和帮助文档的安装 6
1.3.2 JDK 1.5目录结构 8
1.3.3 环境变量 9
1.4 Java集成开发环境 12
1.4.1 JCreator简介 12
1.4.2 JBuilder简介 15
1.4.3 Eclipse SDK简介 17
1.5 总结 20
1.6 习题 20
第2章 Java语言语法基础 21
2.1 标识符、关键字、注释与分隔符 22
2.1.1 标识符与关键字 22
2.1.2 注释 23
2.1.3 分隔符 23
2.2 Java的数据类型 24
2.2.1 Java的基本数据类型 24
2.2.2 常量和变量 26
2.2.3 数据类型的转换 30
2.3 运算符和表达式 31
2.3.1 优先级、结合性以及单/双目运算 32
2.3.2 算术运算符 33
2.3.3 关系运算符 37
2.3.4 逻辑运算符 39
2.3.5 位运算符 41
2.3.6 赋值运算符 43
2.3.7 条件运算符 46
2.3.8 其他运算符 47
2.4 控制结构 47
2.4.1 选择结构 48
2.4.2 循环语句 50
2.4.3 跳转语句 53
2.5 总结 56
2.6 习题 56
第3章 对象和类 58
3.1 对象和类简介 58
3.2 定义类 59
3.3 成员变量的作用域 62
3.4 方法重载 64
3.5 创建对象 68
3.6 构造函数 70
3.7 this关键字 71
3.8 初始化问题 72
3.9 static关键字 73
3.10 对象的清理 74
3.11 访问控制修饰符 75
3.12 具体隐藏实现 76
3.13 参数传递 77
3.14 总结 80
3.15 习题 81
第4章 继承和多态 83
4.1 继承基础 83
4.2 构造器的调用顺序 86
4.3 继承还是组合 87
4.4 Object类 89
4.5 toString方法 89
4.6 对象的比较 90
4.7 多态 91
4.7.1 向上转型 92
4.7.2 动态绑定 94
4.7.3 构造器中多态方法的行为 94
4.7.4 向下转型 95
4.8 总结 96
4.9 习题 97
第5章 抽象类、接口与内部类 99
5.1 抽象类 99
5.2 接口 101
5.2.1 接口的定义与实现 102
5.2.2 用接口实现Java中的多重继承 104
5.2.3 接口的扩展 106
5.2.4 接口的嵌套 106
5.3 内部类 108
5.3.1 内部类的基本语法 109
5.3.2 局部内部类 111
5.3.3 静态内部类 114
5.3.4 匿名内部类 114
5.3.5 内部类的继承 117
5.4 包 117
5.4.1 创建并命名自己的包 118
5.4.2 包的引用 119
5.5 总结 120
5.6 习题 121
第6章 数组、字符串及容器类 122
6.1 一维数组 122
6.1.1 一维数组的声明 122
6.1.2 一维数组的初始化 123
6.1.3 一维数组的引用 125
6.2 多维数组 126
6.2.1 二维数组的声明 126
6.2.2 二维数组的初始化 128
6.2.3 二维数组的引用 129
6.3 字符串处理 130
6.3.1 生成字符串 130
6.3.2 访问字符串 131
6.3.3 修改字符串 135
6.3.4 其他操作 136
6.4 数组与容器的比较 138
6.4.1 数组与容器类的区别 138
6.4.2 Arrays类 138
6.5 容器 147
6.5.1 容器类简介 147
6.5.2 容器的填充 148
6.5.3 容器的缺点 148
6.6 迭代器 150
6.7 容器的分类法 151
6.7.1 Collection接口 153
6.7.2 List接口 155
6.7.3 Set接口 158
6.7.4 Map接口 162
6.7.5 Java集合类对equals()和hashCode()方法的要求 169
6.8 总结 170
6.9 习题 170
第7章 异常处理 172
7.1 异常基础 172
7.1.1 Error和Exception 172
7.1.2 Throwable的方法 173
7.2 异常的产生、捕获与处理 173
7.2.1 基本异常 173
7.2.2 捕获和处理异常 174
7.2.3 捕获所有异常 177
7.3 抛出异常 178
7.3.1 throw关键字 178
7.3.2 重新抛出异常 179
7.3.3 finally 180
7.4 异常说明 182
7.5 创建自定义异常 183
7.6 总结 184
7.7 习题 185
第8章 Java I/O系统 186
8.1 I/O概述 186
8.1.1 流的概念 186
8.1.2 Java中的输入输出流 186
8.2 文件 188
8.2.1 File类 188
8.2.2 文件输入输出流 191
8.2.3 读写文件中的基本数据类型 193
8.2.4 随机文件读写 195
8.3 字节流和字符流处理 198
8.3.1 字节流 198
8.3.2 字符流 200
8.3.3 InputStreamReader类和OutputStreamWriter类 202
8.3.4 BufferedReader类和BufferedWriter类 203
8.4 标准流 205
8.5 其他常用的流 207
8.6 总结 208
8.7 习题 208
第9章 多线程 209
9.1 线程简介 209
9.2 线程的管理 210
9.2.1 线程的创建 210
9.2.2 线程的终止 214
9.2.3 线程的同步 216
9.2.4 线程的通信 218
9.2.5 中断阻塞线程 220
9.2.6 死锁 221
9.3 线程的优先级 224
9.4 总结 226
9.5 习题 227
第10章 图形用户界面 228
10.1 图形用户界面概述 228
10.2 编写Applet程序 229
10.3 容器JFrame与JPanel 233
10.3.1 JFrame 233
10.3.2 JPanel 235
10.4 布局设计 236
10.4.1 BorderLayout 236
10.4.2 FlowLayout 237
10.4.3 GridLayout与GridBagLayout 238
10.5 Swing GUI组件 241
10.5.1 JButton 241
10.5.2 JRadioButton与JProgressBar 244
10.5.3 JSlider 246
10.5.4 JMenu 248
10.5.5 JDialog与JFileChooser 251
10.5.6 实例:一个简单文本编辑器 254
10.6 Java的事件处理机制 264
10.6.1 键盘事件 266
10.6.2 鼠标事件 268
10.7 一个简单的媒体播放器 271
10.8 JavaBean简介 278
10.8.1 什么是JavaBean 278
10.8.2 JavaBean持久化 283
10.8.3 Bean的存储 284
10.9 总结 284
10.10 习题 285