第一部分 开始 3
第1章 成为一名程序员 3
1.1 选择一种编程语言 4
1.2 告诉计算机做什么 5
1.3 程序是如何工作的 7
1.4 为什么程序不能正常工作 7
1.5 下一步:Java 8
1.6 专题:安装一个Java开发工具 9
1.7 小结 9
1.8 问与答 9
1.9 测验 10
1.9.1 问题 10
1.9.2 答案 11
1.10 实际操作 11
第2章 编写你的第一个程序 12
2.1 要编写程序,你必须做哪些工作 12
2.2 创建Saluton程序 13
2.3 开始编写程序 13
2.3.1 Class语句 14
2.3.2 main语句的作用 14
2.3.3 大括号标识 14
2.4 在变量中存储信息 15
2.5 保存完成的程序 15
2.6 把程序编译成Class文件 16
2.7 修复错误 17
2.8 专题:运行一个Java程序 18
2.9 小结 18
2.10 问与答 19
2.11 测验 20
2.11.1 问题 20
2.11.2 答案 20
2.12 实际操作 21
第3章 在Java中度假 22
3.1 第一步:Sun Microsystems公司 23
3.2 去Java学校 24
3.3 开始了解JavaWorld 26
3.4 了解ESPN.com上的球类比赛 28
3.5 开始认真考虑做商务 29
3.6 到Gamelan寻找方向 30
3.7 专题:把Java放在你的桌面上 31
3.8 小结 32
3.9 问与答 32
3.10 测验 33
3.10.1 问题 33
3.10.2 答案 33
3.11 实际操作 33
第4章 理解Java程序的工作原理 34
4.1 创建一个应用程序 34
4.2 给应用程序传递参数 35
4.3 applet的基础知识 36
4.4 给applet传递参数 38
4.5 专题:浏览用于运行Java applet的代码 40
4.6 小结 40
4.7 问与答 41
4.8 测验 41
4.8.1 问题 41
4.8.2 答案 42
4.9 实际操作 42
第二部分 学习编程的基本知识 45
第5章 在程序中存储和更改信息 45
5.1 语句和表达式 45
5.2 指定变量类型 46
5.2.1 整数和浮点数 46
5.2.2 字符和字符串 46
5.2.3 其他数字类型的变量 48
5.2.4 布尔型变量 48
5.3 给变量命名 49
5.4 在变量中存储信息 49
5.5 专题:使用表达式 50
5.6 关于操作符 52
5.6.1 加1和减1操作符 52
5.6.2 操作符的优先顺序 53
5.7 小结 54
5.8 问与答 55
5.9 测验 55
5.9.1 问题 55
5.9.2 答案 56
5.10 实际操作 56
第6章 用字符串进行通信 57
6.1 在字符串中存储文本 57
6.2 在程序中显示字符串 58
6.3 在字符串中使用特殊字符 58
6.4 连接字符串 59
6.5 使用其他的字符串变量 60
6.6 字符串的高级处理 61
6.6.1 比较两个字符串 61
6.6.2 确定字符串的长度 61
6.6.3 改变一个字符串的大小写 61
6.6.4 查找字符串 62
6.7 专题:介绍导演及演员名单 62
6.8 小结 64
6.9 问与答 64
6.10 测验 66
6.10.1 问题 66
6.10.2 答案 66
6.11 实际操作 66
第7章 用条件测试做出判断 67
7.1 测试条件 67
7.2 if语句 67
7.2.1 小于和大于比较 68
7.2.2 等于和不等于比较 68
7.2.3 用块语句组织一个程序 69
7.3 if-else语句 70
7.4 switch语句 71
7.5 条件操作符 72
7.6 专题:观察时钟 73
7.7 小结 76
7.8 问与答 76
7.9 测验 77
7.9.1 问题 78
7.9.2 答案 78
7.10 实际操作 78
第8章 在循环中重复一个动作 79
8.1 for循环 79
8.2 while循环 82
8.3 do-while循环 82
8.4 退出循环 83
8.5 给一个循环命名 84
8.6 专题:给你的计算机上一课 85
8.7 小结 87
8.8 问与答 87
8.9 测验 88
8.9.1 问题 88
8.9.2 答案 88
8.10 实际操作 88
第三部分 用新方法使用信息 91
第9章 用数组存储信息 91
9.1 创建数组 91
9.2 使用数组 92
9.3 多维数组 94
9.4 对数组进行排序 94
9.5 专题:真的Prizes数组 97
9.6 小结 99
9.7 问与答 99
9.8 测验 100
9.8.1 问题 100
9.8.2 答案 101
9.9 实际操作 101
第10章 创建你的第一个对象 102
10.1 面向对象编程的工作原理 102
10.2 对象的行为 103
10.3 对象是什么 104
10.4 理解继承 105
10.5 建立一个继承的层次图 106
10.6 转换对象和简单变量 106
10.6.1 简单变量的类型转换 107
10.6.2 对象类型转换 108
10.6.3 在简单变量和对象之间进行转换 108
10.7 专题:创建一个对象 109
10.8 小结 111
10.9 问与答 112
10.10 测验 112
10.10.1 问题 112
10.10.2 答案 113
10.11 实际操作 113
第11章 描述你的对象 114
11.1 创建变量 114
11.2 创建类变量 116
11.3 用方法来创建行为 116
11.3.1 声明一个方法 117
11.3.2 具有不同参数的类似方法 118
11.3.3 构造函数 118
11.3.4 类方法 119
11.3.5 方法中的变量的作用范围 119
11.4 把一个类放在另一个类中 120
11.5 使用关键字this 121
11.6 专题:使用类方法和类变量 122
11.7 小结 124
11.8 问与答 124
11.9 测验 125
11.9.1 问题 125
11.9.2 答案 125
11.10 实际操作 125
第12章 充分利用现有的对象 126
12.1 继承的功能 126
12.1.1 继承行为和属性 127
12.1.2 重载方法 127
12.2 建立继承 128
12.3 用现有的对象工作 129
12.4 专题:创建一个子类 131
12.5 小结 134
12.6 问与答 134
12.7 测验 135
12.7.1 问题 135
12.7.2 答案 135
12.8 实际操作 135
第四部分 编写图形用户界面程序 139
第13章 创建一个简单的用户界面 139
13.1 Swing和抽象窗口工具包 139
13.2 使用组件 140
13.2.1 帧和窗口 140
13.2.2 按钮 142
13.2.3 标签和文本字段 144
13.2.4 复选框 144
13.2.5 组合框 145
13.2.6 文本区域 146
13.2.7 面板 147
13.3 专题:创建你自己的组件 147
13.4 小结 150
13.5 问与答 150
13.6 测验 151
13.6.1 问题 151
13.6.2 答案 151
13.7 实际操作 151
第14章 布置一个用户界面 152
14.1 使用布局管理器 152
14.1.1 GridLayout管理器 154
14.1.2 BorderLayout管理器 154
14.1.3 用Insets把组件分隔开 155
14.2 专题:布置一个应用程序 156
14.3 小结 160
14.4 问与答 160
14.5 测验 161
14.5.1 问题 161
14.5.2 答案 161
14.6 实际操作 161
第15章 响应用户的输入 162
15.1 让程序监听 162
15.2 建立监听的组件 163
15.3 处理用户事件 163
15.3.1 复选框和组合框事件 164
15.3.2 键盘事件 164
15.3.3 允许和禁止组件 166
15.4 专题:一个小的Lotto Madness程序 167
15.5 小结 175
15.6 问与答 175
15.7 测验 175
15.7.1 问题 175
15.7.2 答案 176
15.8 实际操作 176
第16章 创建一个复杂的用户界面 177
16.1 滚动窗格 177
16.2 滑动条 179
16.3 变化监听器 180
16.4 菜单 184
16.5 专题:使用图像图标和工具栏 185
16.6 小结 188
16.7 问与答 189
16.8 测验 189
16.8.1 问题 189
16.8.2 答案 190
16.9 实际操作 190
第五部分 创建多媒体程序 193
第17章 创建交互式Web程序 193
17.1 标准applet方法 193
17.1.1 画applet窗口 194
17.1.2 初始化一个applet 195
17.1.3 开始和结束applet 195
17.1.4 消毁一个applet 195
17.2 在Web页面中放置一个applet 196
17.3 一个applet示例 196
17.3.1 在一个applet窗口中画画 197
17.3.2 测试SalutonApplet程序 198
17.4 Java Plug-in 199
17.5 从Web页面发送参数 201
17.6 在applet中接收参数 202
17.7 专题:处理applet中的参数 202
17.8 小结 204
17.9 问与答 205
17.10 测验 205
17.10.1 问题 205
17.10.2 答案 206
17.11 实际操作 206
第18章 处理程序中的错误 207
18.1 异常 207
18.1.1 在一个try-catch块中捕获异常 208
18.1.2 捕获几种不同类型的异常 210
18.1.3 出现异常后做一些处理 211
18.1.4 抛出异常 211
18.1.5 忽略异常 212
18.2 声明 213
18.3 专题:抛出和捕获异常 214
18.4 小结 216
18.5 问与答 216
18.6 测验 217
18.6.1 问题 217
18.6.2 答案 217
18.7 实际操作 217
第19章 创建一个线程程序 218
19.1 线程 218
19.1.1 减慢一个程序的速度 218
19.1.2 创建一个线程 219
19.2 使用线程 222
19.2.1 类的声明 222
19.2.2 建立变量 223
19.3 开始init()方法 223
19.4 设置URL时捕获错误 224
19.5 在paint()方法中处理屏幕更新 224
19.6 开始一个线程 225
19.6.1 运行一个线程 226
19.6.2 停止线程 226
19.7 处理鼠标点击 227
19.8 专题:循环链接 227
19.9 小结 230
19.10 问与答 230
19.11 测验 231
19.11.1 问题 231
19.11.2 答案 231
19.12 实际操作 231
第20章 读写文件 232
20.1 流 232
20.1.1 文件 233
20.1.2 从一个流读数据 233
20.1.3 缓存输入流 236
20.2 往流中写入数据 238
20.3 专题:往MP3文件中写字节 238
20.4 小结 240
20.5 问与答 240
20.6 测验 240
20.6.1 问题 241
20.6.2 答案 241
20.7 实际操作 241
第六部分 创建多媒体程序 245
第21章 使用字体和颜色 245
21.1 使用Font类 245
21.2 使用Color类 248
21.3 选择颜色的其他方法 248
21.4 专题:显示一个危险信息 249
21.5 小结 254
21.6 问与答 254
21.7 测验 254
21.7.1 问题 254
21.7.2 答案 255
21.8 实际操作 255
第22章 播放声音文件 256
22.1 检索和使用声音 256
22.1.1 简单的声音播放 257
22.1.2 把声音加载到AudioClip对象 257
22.1.3 播放和循环AudioClip对象 258
22.2 Java存档文件 261
22.3 专题:让你的计算机与你谈话 262
22.4 小结 264
22.5 问与答 265
22.6 测验 265
22.6.1 问题 265
22.6.2 答案 265
22.7 实际操作 266
第23章 使用图片 267
23.1 使用图片 267
23.2 画线和画外形 268
23.2.1 画线 269
23.2.2 画矩形 269
23.2.3 画椭圆和圆 270
23.2.4 画弧线 270
23.2.5 画多边形 271
23.2.6 画不同宽度的线 272
23.2.7 创建一个标记 272
23.3 专题:绘制一个饼图 274
23.4 小结 279
23.5 问与答 280
23.6 测验 280
23.6.1 问题 280
23.6.2 答案 281
23.7 实际操作 281
第24章 创建动画 282
24.1 用一系列图像制作动画 282
24.1.1 加载并显示图像 284
24.1.2 存储一组相关的图像 285
24.2 给applet传参数 285
24.3 专题:跟随活动的球 287
24.4 小结 290
24.5 问与答 290
24.6 测验 291
24.6.1 问题 291
24.6.2 答案 291
24.7 实际操作 291
第七部分 附录 295
附录A 抓住Java 2版本1.4的新功能 295
A.1 Java Web Start 295
A.2 使用Java Web Start 298
A.3 小结 301
附录B 使用Java2软件开发工具包 303
B.1 选择一种Java开发工具 303
B.2 配置软件开发工具包 307
B.2.1 使用命令行界面 307
B.2.2 在MS-DOS中打开目录 308
B.2.3 在MS-DOS下创建目录 309
B.2.4 在MS-DOS下运行程序 309
B.2.5 改正配置错误 310
B.3 使用文本编辑器 313
B.4 创建一个样本程序 314
B.5 设置CLASSPATH变量 316
B.5.1 在Windows 95、98或Me上设置CLASSPATH 317
B.5.2 在Windows NT、2000或XP上设置Classpath 318
B.5.3 对安装工具包的答疑 319
附录C 用Java2的软件开发工具包编程 320
C.1 SDK概要介绍 320
C.2 java解释器 321
C.3 javac编译器 322
C.4 appletviewer浏览器 323
C.5 javadoc文档工具 326
C.6 Java文件存档工具jar 329
C.7 jdb调试器 331
C.7.1 调试应用程序 331
C.7.2 调试applet 332
C.7.3 高级调试命令 333
C.8 使用系统属性 333
C.9 小结 334
C.10 问与答 335
附录D 使用Sun ONE Studio 336
D.1 选择一种Java开发工具 336
D.2 配置Sun ONE Studio 338
D.3 创建一个示例程序 340
D.3.1 运行程序 342
D.3.2 对初学者的附加帮助 342
附录E 下一步去哪里:Java资源 343
E.1 Sun的正式Java站点 343
E.2 其他关于Java的Web站点 344
E.2.1 本书的正式站点 344
E.2.2 Café au Lait 344
E.2.3 Workbench 344
E.2.4 Java评论服务 344
E.2.5 Java World杂志 344
E.2.6 Gamelan:Earthweb的Java目录 344
E.2.7 Java书籍列表 345
E.3 Java新闻组 345
E.4 就职机会 346
附录F 本书英文版的Web站点 347