第1章 Java应用程序的开发过程 1
1.1 Java开发工具包 1
1.2 安装Java SE Development Kit 1
1.3 设置系统环境变量 4
1.4 开发Java应用程序的一般过程 5
1.5 Java应用程序的基本结构和性质 7
1.6 小结 8
1.7 习题 8
第2章 使用NetBeans IDE开发Java应用程序 10
2.1 Java IDE软件简介 10
2.2 安装NetBeans IDE 10
2.3 在NetBeans IDE中开发Java应用程序 12
2.3.1 创建Java项目 13
2.3.2 创建Java主类 14
2.3.3 编辑Java源程序 16
2.3.4 编译Java源程序 17
2.3.5 运行Java应用程序 17
2.4 在NetBeans IDE中调试Java应用程序 18
2.4.1 在Java项目中创建第二个Java应用程序 18
2.4.2 在NetBeans IDE中调试Java应用程序 19
2.5 在NetBeans IDE中开发Java应用程序的过程 21
2.6 小结 22
2.7 习题 22
第3章 基本类型、变量和表达式 23
3.1 基本类型 23
3.2 局部变量 24
3.3 算术运算符 25
3.4 自增、自减运算符 25
3.5 赋值运算符 25
3.6 复合的赋值运算符 26
3.7 类型转换 26
3.7.1 自动类型转换 26
3.7.2 强制类型转换 26
3.8 小结 27
3.9 习题 28
第4章 程序流程图与结构化程序设计 29
4.1 基本图形符号 29
4.2 顺序结构 29
4.3 选择结构 31
4.3.1 关系运算符和逻辑运算符 31
4.3.2 使用if语句实现单分支选择结构 32
4.3.3 使用if-else语句实现双分支选择结构 34
4.3.4 条件运算符 35
4.3.5 使用嵌套的if-else语句或if语句实现多层次选择结构 36
4.3.6 使用switch语句实现多分支选择结构 37
4.4 循环结构 39
4.4.1 while型循环结构 39
4.4.2 do-while型循环结构 41
4.4.3 for型循环结构 42
4.5 三种基本结构的共同特点 45
4.6 运算符的优先级 47
4.7 小结 48
4.8 习题 48
第5章 类与对象基础 52
5.1 类的声明 52
5.2 对象的创建和引用 53
5.3 构造器 56
5.4 定义多个构造器 58
5.5 实例变量和类变量 59
5.6 实例方法和类方法 60
5.7 超类与子类 62
5.8 包 64
5.9 基本类型变量和引用变量 70
5.9.1 方法内部的基本类型变量和引用变量 71
5.9.2 作为参数的基本类型变量和引用变量 72
5.9.3 引用类型的方法返回值 73
5.10 小结 74
5.11 习题 75
第6章 继承性、封装性和多态性 76
6.1 再论对象和类 76
6.2 继承性 77
6.3 封装性与访问控制 79
6.3.1 对类的访问控制:非public类和public类 79
6.3.2 对成员的访问控制:public、protected、private和默认修饰符 81
6.4 多态性 86
6.4.1 再论方法重载 86
6.4.2 实例方法的覆盖 88
6.5 小结 89
6.6 习题 90
第7章 数组 91
7.1 一维数组的逻辑结构 91
7.2 数组变量的定义和数组对象的创建 91
7.3 数组对象的初始化 92
7.4 数组长度与数组元素 92
7.5 一维数组的应用:查找和排序 93
7.5.1 顺序查找 93
7.5.2 二分查找 95
7.5.3 冒泡排序 96
7.6 二维数组及其应用 98
7.6.1 矩阵乘法 98
7.6.2 八皇后问题 99
7.7 小结 104
7.8 习题 104
第8章 Java类库及其应用 105
8.1 String类 105
8.1.1 创建String对象 106
8.1.2 String类的常用方法 107
8.1.3 Java应用程序的命令行参数 108
8.2 StringBuffer类 110
8.2.1 创建StringBuffer对象 111
8.2.2 StringBuffer类的常用方法 111
8.3 基本类型的包装类 115
8.4 Scanner类 117
8.5 Math类 118
8.6 Date类与SimpleDateFormat类 121
8.7 Object类 125
8.8 引用类型的实例变量和类变量 126
8.9 小结 128
8.10 习题 129
第9章 抽象类、引用类型转换和接口 131
9.1 抽象类和抽象方法 131
9.2 引用类型转换 134
9.2.1 比较不同类型的对象 135
9.2.2 将不同类型的对象组织在一个数组中 137
9.3 接口 139
9.3.1 接口也是一种引用类型 142
9.3.2 使用接口对不同类进行类似操作 145
9.3.3 抽象类和接口的比较 148
9.4 小结 149
9.5 习题 149
第10章 异常处理 151
10.1 异常的层次结构 151
10.2 Java系统默认的异常处理功能 152
10.3 使用try、catch和finally语句块捕捉和处理异常 154
10.4 自定义异常类 158
10.5 异常分类及其解决方法 162
10.5.1 错误 162
10.5.2 运行时异常 162
10.5.3 被检查异常 163
10.6 小结 163
10.7 习题 164
第11章 数据输出输入 166
11.1 File类:文件与目录的表示 166
11.2 输出流/输入流与其相关类 167
11.3 文件输出流/文件输入流 168
11.3.1 文件输出流 169
11.3.2 文件输入流 170
11.4 数据输出流/数据输入流 172
11.4.1 数据输出流 172
11.4.2 数据输入流 173
11.5 对象输出流/对象输入流 177
11.5.1 对象输出流 177
11.5.2 对象输入流 178
11.5.3 通过数组一次性写入和读取多个对象及其数据 182
11.5.4 对象串行化、对象持久化与对象反串行化 183
11.6 小结 184
11.7 习题 185
第12章 多线程 188
12.1 主线程 188
12.2 创建线程的方法 189
12.2.1 通过Thread类的子类创建线程 189
12.2.2 通过Runnable接口的实现类创建线程 191
12.3 线程的基本状态 192
12.4 线程的优先级 194
12.5 线程干扰及其解决办法 195
12.5.1 线程干扰 195
12.5.2 同步方法技术 198
12.5.3 同步语句块技术 199
12.5.4 测试线程的BLOCKED状态 201
12.6 线程间通信 202
12.6.1 生产者-消费者模型 202
12.6.2 线程的各种状态及其转换 206
12.6.3 应用举例:模拟库存管理流程 207
12.6.4 应用举例:改进库存管理流程 211
12.7 小结 216
12.8 习题 217
第13章 Java小程序 219
13.1 Applet基础 219
13.1.1 控制输出的字体和颜色 220
13.1.2 通过启用Java的Web浏览器运行Applet 222
13.1.3 由HTML文件向Applet传递参数 223
13.2 Applet的生命周期 225
13.3 通过Applet输出抛物线 227
13.4 Applet中的定时器线程设计 230
13.4.1 在Applet中显示时钟 230
13.4.2 定时器线程设计原理 232
13.5 应用Applet演示常用算法 234
13.5.1 演示冒泡排序过程 234
13.5.2 演示皇后问题的求解过程 236
13.6 小结 239
13.7 习题 239
参考文献 241