前言 1
第1章 Java背景知识 1
1.1 Java的历史 1
1.2 Java的主要特性 2
1.3 什么是程序 2
1.4 编程原则 4
1.5 编程陷阱 4
1.6 小结 4
1.7 练习 4
1.8 自测题答案 5
第2章 第一个程序 6
2.1 简介 6
2.2 集成开发环境 6
2.3 文件和文件夹 6
2.4 使用编辑器 7
2.5 创建第一个Java程序 8
2.6 库 10
2.7 揭开程序的神秘面纱 10
2.8 对象和方法简介 11
2.9 类的一个比喻 12
2.10 使用文本字段 12
2.11 编程原则 14
2.12 编程陷阱 15
2.13 语法要点 15
2.14 新的语言要素 15
2.15 小结 15
2.16 练习 16
2.17 自测题答案 16
3.2 事件 17
第3章 使用图形方法 17
3.1 简介 17
3.3 单击按钮事件 19
3.4 图形坐标系统 19
3.5 对程序的解释 19
3.6 用于绘图的方法 20
3.7 绘制彩色图 21
3.8 创建新程序 22
3.9 顺序的概念 23
3.10 使用注释增加含义 24
3.11 编程原则 24
3.12 编程陷阱 24
3.13 语法要点 24
3.16 练习 25
3.17 自测题答案 25
3.15 小结 25
3.14 新的语言元素 25
第4章 变量和计算 27
4.1 简介 27
4.2 int的本质 27
4.3 double的本质 28
4.4 声明变量 28
4.5 赋值语句 31
4.6 计算和运算符 32
4.7 算术运算符 32
4.8 %运算符 35
4.9 使用+运算符连接字符串 35
4.10 字符串和数值之间的转换 37
4.11 消息对话框和输入对话框 38
4.12 使用\n格式化对话框中的文本 39
4.13 数值之间的转换 40
4.14 常量:使用final 41
4.15 表达式的作用 42
4.16 编程原则 42
4.17 编程陷阱 42
4.18 语法要点 43
4.19 新的语言元素 43
4.20 小结 43
4.21 练习 44
4.22 自测题答案 45
第5章 方法和参数 46
5.1 简介 46
5.2 编写自己的方法 46
5.3 第一个方法 47
5.4 调用方法 49
5.5 传递参数 49
5.6 形参和实参 50
5.7 三角形方法 51
5.8 局部变量 54
5.9 命名冲突 54
5.10 事件处理方法和main 56
5.11 return和结果 56
5.12 构造方法:drawHouse 59
5.13 构造方法:areaHouse 60
5.14 this和对象 61
5.15 重载 61
5.16 编程原则 62
5.18 语法要点 63
5.19 新的语言元素 63
5.17 编程陷阱 63
5.20 小结 64
5.21 练习 64
5.22 自测题答案 65
第6章 使用对象 67
6.1 简介 67
6.2 实例变量 67
6.3 实例化:通过new使用构造方法 70
6.4 Random类 70
6.5 main方法和new 74
6.6 Swing工具包 74
6.7 事件 75
6.8 创建JButton 75
6.10 JLabel类 77
6.9 使用对象的准则 77
6.11 JTextField类 79
6.12 JPanel类 79
6.13 Timer类 80
6.14 JSlider类 82
6.15 编程原则 84
6.16 编程陷阱 84
6.17 语法要点 84
6.18 新的语言元素 85
6.19 小结 85
6.20 练习 85
6.21 自测题答案 86
第7章 选择 87
7.1 简介 87
7.2 if语句 87
7.3 if...else 89
7.4 比较运算符 92
7.5 多个事件 99
7.6 与、或、非 101
7.7 嵌套if语句 103
7.8 switch语句 105
7.9 Boolean变量 108
7.10 比较字符串 111
7.11 编程原则 111
7.12 编程陷阱 111
7.13 语法要点 113
7.14 新的语言元素 113
7.15 小结 113
7.16 练习 114
7.17 自测题答案 116
8.2 While 119
8.1 简介 119
第8章 循环 119
8.3 for 123
8.4 与、或、非 125
8.5 do...while 126
8.6 嵌套循环 127
8.7 组合控制结构 129
8.8 编程原则 129
8.9 编程陷阱 129
8.10 语法要点 130
8.11 新的语言元素 130
8.12 小结 130
8.13 练习 130
8.14 自测题答案 132
9.2 设计一个类 134
9.1 简介 134
第9章 编写类 134
9.3 类和文件 137
9.3.1 单个文件 138
9.3.2 单独的文件 138
9.4 private变量 139
9.5 public方法 139
9.6 get和set方法 141
9.7 构造方法 141
9.8 多个构造方法 142
9.9 private方法 143
9.10 作用域规则 144
9.11 操作对象 145
9.12 对象析构 146
9.13 static方法 146
9.14 static变量 147
9.15 编程原则 148
9.16 编程陷阱 148
9.17 语法要点 149
9.18 新的语言元素 149
9.19 小结 150
9.20 练习 150
9.21 自测题答案 151
第10章 继承 153
10.1 简介 153
10.2 使用继承 153
10.3 protected 154
10.4 作用域规则 155
10.5 附加项 155
10.7 类图 156
10.6 重写 156
10.9 super 157
10.8 使用继承 157
10.10 构造方法 158
10.11 final 160
10.12 抽象类 160
10.13 编程原则 161
10.14 编程陷阱 162
10.15 新的语言元素 162
10.16 小结 163
10.17 练习 163
10.18 自测题答案 164
11.1 简介 165
11.2 库数学函数和常量 165
第11章 计算 165
11.3 格式化数字 166
11.4 案例分析——货币 168
11.5 案例分析——迭代 171
11.6 图表 171
11.7 异常 174
11.8 编程原则 175
11.9 编程陷阱 176
11.10 小结 176
11.11 练习 176
11.12 自测题答案 178
第12章 数组列表 179
12.1 简介 179
12.2 创建数组列表 179
12.5 索引 180
12.4 列表的长度 180
12.3 添加数据项到列表中 180
12.6 显示数组列表 181
12.7 使用索引值 182
12.8 从数组列表删除数据项 183
12.9 在数组列表中插入数据项 183
12.10 查找 183
12.11 对数组列表进行运算 184
12.12 搜索 186
12.13 编程原则 187
12.14 编程陷阱 187
12.15 小结 187
12.16 练习 188
12.17 自测题答案 188
13.1 简介 189
第13章 数组 189
13.2 创建数组 190
13.3 索引 191
13.4 数组的长度 192
13.5 将数组作为参数传递 193
13.6 使用常量 193
13.7 初始化数组 194
13.8 示例程序 195
13.9 查找 196
13.10 搜索 197
13.11 对象数组 198
13.12 编程原则 199
13.13 编程陷阱 200
13.14 语法要点 200
13.16 练习 201
13.15 小结 201
13.17 自测题答案 204
第14章 二维数组 206
14.1 简介 206
14.2 声明数组 207
14.3 索引 207
14.4 数组的大小 208
14.5 将数组作为参数传递 208
14.6 常量 209
14.7 初始化数组 209
14.8 示例程序 210
14.9 编程原则 211
14.11 小结 212
14.12 练习 212
14.10 编程陷阱 212
14.13 自测题答案 215
第15章 字符串操作 216
15.1 简介 216
15.2 使用字符串概述 216
15.3 字符串中的字符 217
15.4 关于char类型的注意事项 218
15.5 String类 218
15.6 String类方法 219
15.7 比较字符串 220
15.8 修改字符串 222
15.9 检查字符串 223
15.10 字符串转换 225
15.11 字符串参数 226
15.12 字符串处理的一个例子 227
15.13 字符串案例分析—Frasier 228
15.14 编程原则 231
15.15 编程陷阱 231
15.16 语法要点 231
15.17 新的语言元素 232
15.18 小结 232
15.19 练习 233
15.20 自测题答案 234
第16章 异常 235
16.1 简介 235
16.2 异常和对象 236
16.3 何时使用异常 237
16.4 异常的术语 237
16.5 一个使用try-catch的例子 237
16.6 try和作用域 240
16.7 搜索捕获器 241
16.8 抛出简介 241
16.9 异常类 242
16.10 编译和经过检查的异常 242
16.11 捕获的通常情况 243
16.12 使用异常类结构 245
16.13 编程原则 245
16.14 编程陷阱 245
16.15 语法要点 246
16.16 新的语言元素 246
16.17 小结 246
16.18 练习 246
16.19 自测题答案 247
17.1 简介 248
17.2 文件存取:流存取还是随机存取 248
第17章 文件和控制台应用程序 248
17.3 流存取概要 249
17.4 Java I/O类 249
17.5 BufferedReader和Printwriter类 249
17.6 文件输出 250
17.7 文件输入 253
17.8 文件搜索 255
17.9 File类 259
17.10 JFileChooser类 261
17.11 控制台I/O 263
17.12 System类 263
17.13 使用JOptionPane 265
17.14 一个控制台的例子:Finder 265
17.15 从远程站点读取 267
17.16 命令行参数 269
17.17 编程原则 270
17.18 编程陷阱 270
17.19 语法要点 270
17.20 新的语言元素 270
17.21 小结 270
17.22 练习 271
17.23 自测题答案 272
第18章 面向对象设计 273
18.1 简介 273
18.2 设计问题 273
18.3 识别对象和方法 274
18.4 设计案例分析 278
18.5 寻求重用 283
18.6 组合还是继承 283
18.7 类设计准则 287
18.8 小结 288
18.9 练习 288
18.10 自测题答案 289
第19章 程序风格 291
19.1 简介 291
19.2 程序布局 291
19.2.1 缩排 292
19.2.2 空行 292
19.2.3 新页 292
19.3 名称 292
19.4 类 292
19.4.1 模块化 292
19.5 注释 293
19.4.5 字段顺序 293
19.4.4 类的大小 293
19.4.3 隐藏数据 293
19.4.2 复杂性 293
19.6 常量 294
19.7 方法 295
19.8 嵌套的if 295
19.9 嵌套循环 298
19.10 复合条件 299
19.11 文档 300
19.12 一致性 301
19.13 编程陷阱 301
19.14 小结 301
19.15 练习 302
第20章 测试 303
20.1 简介 303
20.4 黑盒(功能)测试 304
20.2 程序规格说明 304
20.3 穷举测试 304
20.5 白盒测试 306
20.6 审查和走查 308
20.7 分步执行代码 309
20.8 形式验证 309
20.9 增量开发 309
20.10 编程原则 310
20.11 小结 310
20.12 练习 310
20.13 自测题答案 312
第21章 调试 314
21.1 简介 314
21.2 不使用调试器进行调试 315
21.3 使用调试器 316
21.4 常见错误——编译错误 317
21.5 常见错误——运行时错误 317
21.5.1 数组索引 317
21.5.2 算术异常 318
21.5.3 Null指针异常 318
21.6 常见错误——逻辑错误 318
21.6.1 初始化 318
21.6.2 事件 318
21.7 常见错误——语言理解错误 318
21.7.1 括号 318
21.7.4 无限循环 319
21.8 小结 319
21.7.3 等式(第2部分) 319
21.7.2 等式(第1部分) 319
21.9 自测题答案 320
第22章 线程 321
22.1 简介 321
22.2 线程概述 322
22.3 启动线程 325
22.4 线程消亡 326
22.5 join 326
22.6 线程的状态 327
22.7 调度、线程优先级和yield 327
22.8 编程原则 327
22.9 小结 328
22.10 练习 328
22.11 自测题答案 329
第23章 接口 330
23.1 简介 330
23.2 用于设计的接口 330
23.3 接口和互操作性 332
23.4 接口和Java库 333
23.5 多接口 334
23.6 接口与抽象类 335
23.7 编程原则 335
23.8 编程陷阱 335
23.9 语法要点 336
23.10 新的语言元素 336
23.11 小结 336
23.12 练习 336
23.13 自测题答案 336
24.1 简介 338
24.2 使用类和import语句 338
第24章 使用包编写大程序 338
24.3 使用package语句创建包 339
24.4 包、文件和文件夹 339
24.5 作用域原则 340
24.6 Java库包 340
24.7 编程陷阱 340
24.8 新的语言元素 341
24.9 小结 341
24.10 练习 341
24.11 自测题答案 341
第25章 多态 342
25.1 简介 342
25.2 多态的使用 342
25.3 强制转换 345
25.4 强制转换的原则 346
25.5 编程原则 348
25.6 编程陷阱 349
25.7 新的语言元素 349
25.8 小结 349
25.9 练习 349
25.10 自测题答案 350
第26章 Java的背景 351
26.1 简介 351
26.2 简单 351
26.3 面向对象 352
26.4 平台独立(可移植性) 352
26.5 性能 352
26.6.1 Java语言本身 353
26.6.2 验证程序 353
26.6 安全 353
26.6.3 类装载器 354
26.6.4 Java虚拟机(JVM) 354
26.6.5 数组 354
26.6.6 垃圾收集 354
26.6.7 文件系统 354
26.6.8 小结 355
26.7 Netcentric 355
26.8 Microsoft在全球 355
26.9 Java的版本 356
26.10 Java的能力 356
26.11 Java库 357
26.12 国际化 357
26.14 远程方法调用(RMI) 358
26.13 数据库:JDBC 358
26.15 Java bean 359
26.16 Java servlet 359
26.17 JavaScript 360
26.18 结论 360
26.19 小结 361
26.20 练习 361
附录A Java库 362
附录B 抽象窗口工具包 393
附录C Applet 397
附录D 术语表 400
附录E 命名规则 402
附录F 关键字 403
附录G 作用域规则(可见性) 404
附录H 参考书目 406
附录I 在Microsoft Windows系统中使用Java 408