第一篇 程序设计基础 1
第1章 Java入门 2
1.1 引言 2
1.2 Java简史 2
1.3 Java的特点 3
1.3.1 Java是简单的 3
1.3.2 Java是面向对象的 3
1.3.3 Java是分布式的 4
1.3.4 Java是解释型的 4
1.3.5 Java是健壮的 4
1.3.8 Java是可移植的 5
1.3.9 Java的效率 5
1.3.6 Java是安全的 5
1.3.7 Java是体系结构中立的 5
1.3.10 Java是多线程的 6
1.3.11 Java是动态的 6
1.4 Java和WWW 6
1.5 Java语言规范 7
1.6 Java开发工具 8
1.7 Java application 8
1.8.2 保留字 10
1.8.1 注释 10
1.8 application程序剖析 10
1.8.3 修饰符 11
1.8.4 语句 11
1.8.5 块 11
1.8.6 类 11
1.8.7 方法 11
1.8.8 main方法 12
1.9 Java applet 12
1.9.2 创建HTML文件 13
1.9.3 浏览applet 13
1.9.1 编译applet 13
1.9.4 applet浏览工具 14
1.10 applet程序剖析 15
1.10.1 Import语句 15
1.10.2 类的实例 15
1.10.3 方法paint和类Graphics 15
1.10.4 关键字extends和类继承 16
1.11 application与applet 16
1.12 本章小结 17
复习题 17
编程练习 18
2.2 编写简单的程序 19
2.1 引言 19
第2章 基本数据类型和基本操作 19
2.3 标识符 23
2.4 变量 23
2.5 赋值语句 23
2.6 常量 24
2.7 数值数据类型 25
2.7.1 算术运算符 25
2.7.2 数值字面量 26
2.7.3 简捷赋值运算符 26
2.7.4 数值类型转换 27
2.8 字符数据类型 28
2.9 布尔数据类型 29
2.10 实例学习 31
2.11 编程风格和文档 34
2.11.1 适当的注释 34
2.11.2 命名习惯 34
2.11.3 适当的缩进和空白 35
2.11.4 块的对齐方式 35
2.12 程序错误 35
2.12.1 编译错误 35
2.12.2 运行时错误 36
2.13 调试(可选) 37
2.12.3 逻辑错误 37
2.14 本章小结 38
复习题 39
编程练习 41
第3章 控制语句 42
3.1 引言 42
3.2 条件语句 42
3.2.1 简单if语句 42
3.2.2 if…else语句 43
3.2.3 if语句的嵌套 44
3.2.4 switch语句 46
3.3.1 while循环 48
3.2.5 条件表达式 48
3.3 循环语句 48
3.3.2 do循环 50
3.3.3 for循环 51
3.4 使用关键字break和continue 54
3.5 实例学习 57
3.6 本章小结 61
复习题 62
编程练习 64
4.1 引言 66
4.2 创建方法 66
第4章 方法 66
4.3 调用方法 67
4.4 参数传递 69
4.5 重载方法 71
4.6 方法抽象 72
4.7 Math类 73
4.7.1 三角函数方法 73
4.7.2 指数函数方法 73
4.7.3 方法min、max、abs、round和random 73
4.8 实例学习 75
4.9.1 计算阶乘 80
4.9 递归(可选) 80
4.9.2 计算斐波那契(Fibonacci)数 82
4.9.3 汉诺(Hanoi)塔问题 84
4.9.4 递归与迭代 87
4.10 本章小结 87
复习题 88
编程练习 90
第二篇 面向对象程序设计 94
第5章 使用对象和类编写程序 94
5.1 引言 94
5.2 对象和类 94
5.2.2 简单类型变量和对象类型变量的区别 96
5.2.1 声明和创建对象 96
5.2.4 访问对象的数据和方法 97
5.2.3 垃圾回收 97
5.3 构造方法 99
5.4 给方法传递对象 101
5.5 可见性修饰符与访问器方法 103
5.6 类变量、类常量和类方法 105
5.7 变量的作用域 105
5.8 关键字this 110
5.9 对象关系分析 110
5.9.1 关联 110
5.9.3 继承 111
5.9.2 聚集 111
5.9.4 类抽象 112
5.10 实例学习 112
5.11 Java应用程序接口 122
5.12 String类 123
5.12.1 构造一个字符串 123
5.12.2 字符串比较 123
5.12.3 字符串连接 124
5.12.4 子串 124
5.12.5 字符串长度和获取字符串的单个字符 125
5.13.1 在StringBuffer类中追加和插入新内容 126
5.13 StringBuffer类 126
5.13.2 常用方法 127
5.14 StringTokenizer类 128
5.15 本章小结 130
复习题 131
编程练习 134
第6章 类的继承性 138
6.1 引言 138
6.2 父类和子类 138
6.3.1 调用父类的构造方法 140
6.3.2 调用父类的方法 140
6.3 使用关键字super 140
6.4 方法覆盖 141
6.5 Object类 142
6.5.1 equals方法 142
6.5.2 toString方法 143
6.5.3 clone方法 143
6.6 修饰符protected和final 143
6.6.1 修饰符protected 143
6.6.2 修饰符final 144
6.7 抽象类 144
6.8 多态性和动态绑定 149
6.9 对象转换和instanceof运算符 151
6.10 接口 153
6.10.1 接口与抽象类 156
6.10.2 Cloneable接口 157
6.11 内部类 160
6.12 软件开发过程 161
6.13 类的设计原则 162
6.14 本章小结 163
复习题 163
编程练习 168
7.1 引言 170
7.2 声明和创建数组 170
第7章 数组和向量 170
7.3 数组的初始化和处理 171
7.4 数组排序 173
7.5 数组中元素的查找 175
7.5.1 线性查找法 175
7.5.2 二分查找法 177
7.6 对象的数组 179
7.7 数组的复制 181
7.8 多维数组 183
7.9 将基本数据类型处理为对象 186
7.10 Number类及其子类 186
7.10.3 类型转换方法 187
7.10.1 数值包装类的构造方法 187
7.10.2 数值类的常量 187
7.10.4 静态方法valueOf、parselnt和parseDouble 188
7.11 命令行参数 188
7.11.1 向Java程序传递参数 188
7.11.2 处理命令行参数 188
7.12 实例学习(可选) 190
7.13 向量类Vector(可选) 196
7.14 本章小结 199
复习题 199
编程练习 200
8.1 引言 204
第三篇 图形程序设计 204
第8章 图形程序设计入门 204
8.2 Java图形API 205
8.3 框架 206
8.3.1 创建框架 207
8.3.2 框架居中(可选) 208
8.3.3 在框架中添加组件 209
8.4 布局管理器 209
8.4.1 布局管理器FlowLayout 210
8.4.2 布局管理器GridLayout 212
8.4.3 布局管理器BorderLayout 213
8.5 使用面板作容器 214
8.6 在面板上绘制图形 216
8.7 Color类 217
8.8 Font类和Fontmetrics类 217
8.9 绘制几何图形 221
8.9.1 绘制直线 221
8.9.2 绘制矩形 222
8.9.3 绘制椭圆 223
8.9.4 绘制圆弧 224
8.9.5 绘制多边形 225
8.10 实例学习 227
8.11 事件驱动程序设计 230
8.11.1 事件和事件源 230
8.11.2 事件注册、监听和处理 231
8.11.3 事件处理 233
8.12 本章小结 237
复习题 237
编程练习 239
第9章 创建用户界面 242
9.1 引言 242
9.2 JavaBean 242
9.3 按钮 244
9.4 标签 248
9.5 文本域 250
9.6 文本区 252
9.7 组合框 256
9.8 列表框 259
9.9 复选框 262
9.10 单选按钮 264
9.11 边框 268
9.12 消息对话框 273
9.13 菜单 277
9.14 创建多个窗口 282
9.15 滚动条 285
9.16 滚动窗格 288
9.17 选项卡 291
9.18 本章小结 294
复习题 295
编程练习 296
第10章 applet和高级图形界面 300
10.1 引言 300
10.2 Applet类 300
10.2.3 stop方法 301
10.2.4 destroy方法 301
10.2.2 start方法 301
10.2.1 init方法 301
10.3 JApplet类 302
10.4 在Java Plug-In中运行applet(可选) 304
10.5 HTML的〈applet〉标记 306
10.6 向applet传递参数 307
10.7 application与applet之间的转换 308
10.8 程序作为applet和application运行 313
10.9 鼠标事件 315
10.10 键盘事件 320
10.11.2 状态图 323
10.11.1 顺序图 323
10.11 利用顺序图和状态图模拟动态行为 323
10.12 实例学习 324
10.13 Java工程的打包解包(可选) 329
10.13.1 清单文件Manifest 330
10.13.2 运行存档的工程 330
10.14 CardLayout布局管理器(可选) 331
10.15 GridBagLayout布局管理器(可选) 334
10.16 不使用布局管理器(可选) 337
10.17 本章小结 339
复习题 339
编程练习 340
11.1 引言 344
第11章 异常处理 344
第四篇 开发综合应用工程 344
11.2 异常和异常类 345
11.3 理解异常处理 346
11.3.1 声明异常 347
11.3.2 抛出异常 347
11.3.3 捕获异常 347
11.4 重新抛出异常 353
11.5 finally子句 353
11.6 慎用异常 353
11.7 创建自己的异常类(可选) 354
11.8 本章小结 358
复习题 358
编程练习 364
第12章 国际化 366
12.1 引言 366
12.2 Locale类 366
12.3 处理日期和时间 369
12.4 数字格式化 380
12.5 资源簇(可选) 384
复习题 391
编程练习 391
12.6 本章小结 391
第13章 多线程 394
13.1 引言 394
13.2 扩展Thread类创建线程 395
13.3 实现Runnable接口创建线程 397
13.4 控制线程和线程状态 398
13.5 线程组 400
13.6 同步 401
13.7 为applet创建线程 404
13.8 使用Timer类控制动画 408
13.9 实例学习 409
13.10 本章小结 413
复习题 414
编程练习 415
第14章 多媒体 418
14.1 引言 418
14.2 播放音频 418
14.3 在独立的线程中播放音频 422
14.4 显示图像 424
14.5 在Java application中装入图像和音频文件 427
14.6 播放一系列图像 431
14.7 使用MediaTracker类 434
编程练习 436
复习题 436
14.8 本章小结 436
第15章 输入输出 439
15.1 引言 439
15.2 数据流的类 440
15.2.1 InputStream类和Reader类 441
15.2.2 OutputStream类和Writer类 441
15.3 File类与外部文件处理 442
15.4 过滤器流 445
15.5 数据流 445
15.6 打印数据流 448
15.7 缓冲数据流 450
15.8 文件对话框 453
15.9 控制台文本输入输出 457
15.10 对象数据流 459
15.11 随机读写文件 463
15.12 分析文本文件(可选) 472
15.13 其他常用的数据流(可选) 475
15.14 本章小结 475
复习题 476
编程练习 477
16.1 引言 480
16.2 客户/服务器计算模式 480
第16章 网络 480
16.3 多客户服务和InetAddress类 484
16.4 applet客户 488
16.5 发送和接收对象型数据 492
16.6 URL类与使用applet浏览网页 496
16.7 从Web服务器上读取文件 498
16.8 使用JEditorPane类浏览HTML文件 500
16.9 实例学习(可选) 503
16.10 本章小结 515
复习题 515
编程练习 516
附录A Java关键字 520
附录 520
附录B ASCⅡ码字符集 521
附录C 操作符优先级表 522
附录D Java修饰符 523
附录E 数系 524
附录F HTML指南 527
附录G UML图形符号 538
附录H Java包 541
附录I JBuilder 3.5使用指南 544
附录J 术语表 558
索引 563