第一篇 Java,小应用程序(Applet)和Internet 1
第1章 Java概述 1
1.1 Java的故事 1
1.2 Java简介 3
1.3 Java程序设计 4
1.4 Java开发工具 6
1.5 Java在哪儿 6
1.6 示例:安装HotJava 8
1.7 示例:安装JDK 8
1.8 总结 9
1.9 复习题 10
1.10 练习题 10
第2章 运行Java小应用程序 11
2.1 Java小应用程序示例 11
2.1.1 Appletviewer工具 11
2.1.2 示例:运行TicTacToe 11
2.1.3 动画小应用程序 13
2.1.4 直方图小应用程序 14
2.1.5 其它演示小应用程序 14
2.2 在一个HTML文件中加入小应用程序 15
2.2.1 小应用程序的可选属性 15
2.2.2 小应用程序的参数 17
2.2.3 不支持Java的浏览器 18
2.2.4 示例:一个包含有Java小应用程序的Home Page 18
2.3 总结 20
2.4 复习题 20
2.5 练习题 21
第3章 小应用程序和Internet 22
3.1 本地小应用程序和远程小应用程序 22
3.1.1 本地小应用程序 22
3.1.2 远程小应用程序 23
3.2 客户和服务器 24
3.3 安全性 24
3.4 示例:建立你的Web页面 25
3.5 总结 27
3.6 复习题 27
3.7 练习题 28
第二篇 Java语言基础 29
第4章 面向对象程序设计的概念 29
4.1 从开关到对象 29
4.2 一个浅显而明智的办法 31
4.3 面向对象程序设计 32
4.3.1 封装 32
4.3.2 类和数据类型 33
4.3.3 继承性 33
4.3.4 多态性 33
4.3.5 示例:封装、继承性与多态性 34
4.4 总结 35
4.5 复习题 35
4.6 练习题 36
第5章 常量和变量 37
5.1 常量 37
5.2 变量 38
5.3 常量和变量的命名 39
5.4 示例:建立你自己的标识符 41
5.5 数据类型 41
5.5.1 整型 42
5.5.2 浮点型 43
5.5.3 字符型 44
5.5.4 布尔型 45
5.6 变量的作用范围 46
5.6.1 示例:确定一个变量的作用范围 47
5.7 总结 48
5.8 复习题 48
5.9 练习题 49
第6章 简单输入和输出 50
6.1 窗口和图形 50
6.2 在小应用程序中显示文本 50
6.2.1 示例:Applet1的创建和运行 52
6.2.2 Applet1是怎样工作的 53
6.3 实现用户输入 54
6.3.1 Applet2是怎样工作的 55
6.3.2 示例:从一个TextField控件中获取文本 56
6.3.3 Applet3是怎样工作的 57
6.4 显示数值 58
6.5 总结 59
6.6 复习题 59
6.7 练习题 59
第7章 数学操作符 61
7.1 加法操作符 61
7.1.1 示例:使用加法操作符 61
7.1.2 示例:多重加法 61
7.2 减法操作符 62
7.2.1 示例:使用减法操作符 62
7.2.2 示例:使用混合数据类型的多重减法 62
7.2.3 示例:把结果转换为不同的数据类型 63
7.3 乘法操作符 63
7.3.1 示例:乘法和数据类型 64
7.4 除法操作符 64
7.4.1 示例:整数除法与浮点数除法 64
7.5 取模操作符 65
7.6 自增操作符 65
7.7 自减操作符 66
7.8 示例:在小应用程序中使用数学计算 67
7.9 运算的次序 71
7.9.1 示例1:运算的次序 71
7.9.2 示例2:运算的次序 71
7.9.3 示例3:运算的次序 72
7.9.4 示例4:运算的次序 72
7.10 总结 72
7.11 复习题 72
7.12 练习题 73
第8章 表达式 74
8.1 表达式的类型 74
8.2 表达式的嵌套 74
8.3 比较操作符 75
8.4 逻辑操作符 76
8.4.1 示例:使用逻辑操作符 77
8.4.2 示例:使用多个逻辑操作符 77
8.4.3 示例:不同的比较操作符和逻辑操作符的混合运用 78
8.5 逻辑表达式的编写 78
8.6 运算的次序 79
8.7 总结 79
8.8 复习题 80
8.9 练习题 80
第9章 if语句和switch语句 81
9.1 程序流程控制 81
9.2 程序流程与转移 81
9.3 if语句 82
9.3.1 示例:if语句的格式 82
9.3.2 多重if语句 83
9.3.3 多行if语句 83
9.3.4 else子句 84
9.3.5 示例:在程序中使用if语句 85
9.4 switch语句 87
9.4.1 示例:正确使用break语句 88
9.4.2 示例:在程序中使用switch语句 89
9.5 总结 90
9.6 复习题 91
9.7 练习题 92
第10章 while循环和do-while循环 93
10.1 while循环 93
10.1.1 示例:使用while循环 94
10.1.2 示例:在程序中使用while循环 95
10.2 do-while循环 97
10.2.1 示例:使用do-while循环 98
10.2.2 示例:在程序中使用do-while循环 98
10.3 总结 100
10.4 复习题 100
10.5 练习题 101
第11章 for循环 102
11.1 for循环介绍 102
11.2 示例:使用for循环 103
11.3 示例:在程序中使用for循环 104
11.4 改变增量值 105
11.5 示例:取不同增量值的循环 106
11.6 在循环中使用变量 107
11.7 示例:用变量控制for循环 108
11.8 总结 110
11.9 复习题 110
11.10 练习题 110
第12章 函数 112
12.1 自顶向下的程序设计方法 112
12.2 示例:函数作为子程序 113
12.3 定义与调用函数 114
12.4 示例:用函数来返回值 115
12.5 示例:使函数工作起来 116
12.6 总结 120
12.7 复习题 120
12.8 练习题 120
第13章 数组 121
13.1 数组介绍 121
13.1.1 示例:建立数组 123
13.1.2 示例:把变量作为下标 123
13.2 多维数组 127
13.3 示例:在小应用程序中使用二维数组 129
13.4 总结 130
13.5 复习题 131
13.6 练习题 131
第14章 类 132
14.1 类与对象 132
14.1.1 定义一个简单的类 132
14.1.2 为类声明数据域 133
14.1.3 定义建构方法 133
14.1.4 示例:调用建构方法产生一个对象 134
14.1.5 定义方法 134
14.2 示例:在小应用程序中使用类 135
14.3 理解小应用程序 137
14.4 利用继承性 138
14.4.1 生成一个子类 139
14.4.2 为子类添加域和方法 139
14.4.3 示例:添加域和方法 139
14.5 示例:在程序中使用子类 140
14.6 重载父类的方法 141
14.7 关键字this 142
14.8 总结 143
14.9 复习题 143
14.10 练习题 143
第三篇 使Java工作起来 145
第15章 编写简单的小应用程序 145
15.1 最简单的Java小应用程序 145
15.2 小应用程序生命周期的五个阶段 146
15.3 示例:重载生命周期中的方法 147
15.4 总结 148
15.5 复习题 148
15.6 练习题 148
第16章 绘图 150
16.1 小应用程序的画布 150
16.2 示例:使用坐标系统 151
16.3 绘制图形 151
16.4 示例:画矩形 152
16.5 示例:其它图形的绘制 154
16.6 理解小应用程序ShapeApplet 156
16.6.1 画椭圆 156
16.6.2 画圆弧 156
16.6.3 示例:在小应用程序中画圆弧 157
16.6.4 画多边形 159
16.7 总结 160
16.8 复习题 161
16.9 练习题 161
第17章 图形文本 162
17.1 处理图形文本 162
17.1.1 获取字体属性 162
17.1.2 示例:显示字体信息 163
17.1.3 获取字体的详细数据 165
17.1.4 示例:显示字体的详细数据 166
17.2 创建字体 168
17.2.1 示例:产生复杂字型的字体 168
17.2.2 使用字体 168
17.2.3 示例:用不同大小的字体显示 169
17.3 总结 171
17.4 复习题 171
17.5 练习题 172
第18章 标签与按钮 173
18.1 标签 173
18.1.1 示例:创建标签 173
18.1.2 Label类的方法 174
18.2 按钮 174
18.2.1 示例:在小应用程序中加入按钮 175
18.2.2 处理有多个按钮时的按钮事件 175
18.2.3 示例:在一个多按钮的小应用程序中处理按钮事件 176
18.3 总结 177
18.4 复习题 177
18.5 练习题 178
第19章 选择框与文本行控件 179
19.1 选择框 179
19.1.1 示例:创建复式选择框 179
19.1.2 选择框组(checkbox group) 180
19.1.3 Checkbox方法 181
19.1.4 示例:在小应用程序中运用选择框 182
19.1.5 对选择框事件的响应 184
19.1.6 示例:在小应用程序中处理选择框事件 184
19.2 文本行 186
19.2.1 TextField方法 187
19.2.2 示例:使用回显字符 187
19.3 总结 189
19.4 复习题 189
19.5 练习题 189
第20章 选择菜单、文本域及滚动列表控件 191
20.1 选择菜单 191
20.1.1 示例:生成一个选择菜单 191
20.1.2 选择菜单类的方法 192
20.1.3 示例:在小应用程序中响应一个菜单事件 192
20.2 滚动列表 195
20.2.1 示例:创建一个单选列表 195
20.2.2 示例:创建一个多选列表 196
20.2.3 示例:创建一个滚动列表 196
20.2.4 List类的方法 197
20.2.5 示例:在小应用程序中使用滚动列表 198
20.3 文本域控件 199
20.3.1 示例:创建一个文本域控件 200
20.3.2 TextArea类的方法 201
20.4 总结 202
20.5 复习题 202
20.6 练习题 202
第21章 滚动条和画布控件 204
21.1 滚动条 204
21.1.1 示例:创建一个滚动条 204
21.1.2 响应一个滚动条控件的事件 206
21.1.3 示例:在小应用程序中应用滚动条 207
21.1.4 画布 209
21.1.5 示例:在小应用程序中应用画布 209
21.2 总结 212
21.3 复习题 212
21.4 练习题 212
第22章 面板和输出管理器 213
22.1 面板 213
22.2 输出管理器 215
22.3 流式输出管理器 215
22.4 网格式输出管理器 216
22.5 边框式输出管理器 218
22.6 卡片式输出管理器 219
22.6.1 卡片式输出管理器类的方法 219
22.6.2 示例:创建一个卡片式输出管理器 219
22.7 网格袋式输出管理器 221
22.7.1 创建并设置网格袋式输出管理器 221
22.7.2 创建并设置GridBagConstraints对象 222
22.7.3 示例:在一个小应用程序中使用网格袋式输出管理器 223
22.7.4 理解小应用程序GridBagApplet的工作原理 225
22.8 总结 228
22.9 复习题 228
22.10 练习题 228
第23章 窗口和菜单条 230
23.1 显示一个窗口 230
23.1.1 示例:在小应用程序中显示一个窗口 230
23.1.2 示例:创建一个窗口类 232
23.1.3 示例:向窗口中添加部件 234
23.2 使用菜单条 236
23.2.1 创建并设置菜单条对象 236
23.2.2 向菜单条中添加菜单 237
23.2.3 向菜单中添加菜单项 238
23.2.4 示例:在框架窗口中使用菜单条 238
23.3 总结 242
23.4 复习题 242
23.5 练习题 242
第24章 对话框 244
24.1 使用对话框 244
24.1.1 创建对话框 244
24.1.2 创建对话框的输出形式 245
24.1.3 显示对话框 245
24.1.4 删除对话框 245
24.1.5 Dialog类的方法 245
24.1.6 示例:一个用于文本输入的对话框 246
24.2 总结 249
24.3 复习题 250
24.4 练习题 250
第25章 鼠标和键盘事件 251
25.1 Event对象 251
25.2 鼠标 252
25.2.1 处理鼠标按键 252
25.2.2 示例:在小应用程序中使用鼠标单击 253
25.2.3 处理鼠标移动 255
25.2.4 示例:在小应用程序中响应鼠标移动 255
25.3 键盘 257
25.3.1 响应键按下 257
25.3.2 预定义的键常量 258
25.3.3 修正键 258
25.3.4 示例:在小应用程序中使用按键 259
25.4 直接处理事件 260
25.5 总结 263
25.6 复习题 263
25.7 练习题 263
第26章 可设置的小应用程序 265
26.1 用户的分类 265
26.2 参数和小应用程序 265
26.2.1 示例:设置和取出一个参数的值 266
26.2.2 示例:在小应用程序中使用参数 266
26.3 多个参数 268
26.4 缺省参数值 271
26.5 总结 273
26.6 复习题 274
26.7 练习题 274
第27章 图像和声音 275
27.1 图像的分类 275
27.2 载入和显示图像 275
27.2.1 示例:使用getDocumentBase()方法 276
27.2.2 示例:使用getCodeBase()方法 276
27.2.3 载入图像 276
27.2.4 显示图像 277
27.2.5 示例:在小应用程序中显示图像 277
27.3 播放声音 279
27.3.1 示例:使用play()方法 279
27.3.2 示例:在小应用程序中播放声音 280
27.3.3 控制声音 281
27.3.4 示例:在小应用程序中使用AudioClip 282
27.4 总结 283
27.5 复习题 283
27.6 练习题 284
第28章 通信 285
28.1 URL对象 285
28.1.1 示例:创建URL对象 285
28.1.2 URL例外 285
28.2 小应用程序的上下文 286
28.2.1 示例:利用AppletContext连接URL 286
28.2.2 示例:在小应用程序中利用AppletContext 287
28.2.3 创建“最喜欢的URL”的小应用程序 290
28.3 总结 293
28.4 复习题 294
28.5 练习题 294
第四篇 Java高级篇 295
第29章 包和接口 295
29.1 包 295
29.1.1 创建自己的包 296
29.1.2 示例:创建一个简单的包 296
29.1.3 示例:使用新建的包 298
29.1.4 示例:扩充这个包 299
29.2 接口 300
29.2.1 基本接口 301
29.2.2 示例:创建一个接口 301
29.2.3 实现接口 302
29.3 总结 303
29.4 复习题 303
29.5 练习题 303
第30章 例外 304
30.1 Java的例外 304
30.2 丢出一个例外 306
30.3 例外的类型 307
30.4 决定要处理的例外 308
30.4.1 示例:抓住运行时例外 309
30.4.2 示例:处理多个例外 310
30.5 总结 312
30.6 复习题 312
30.7 练习题 312
第31章 线程 314
31.1 两种线程 314
31.2 将一个类转变成线程 314
31.2.1 将类定义为实现Runnable接口的 314
31.2.2 实现run()方法 315
31.2.3 定义一个Thread类的对象 315
31.2.4 创建并启动Thread类的对象 315
31.2.5 停止线程 316
31.2.6 示例:在小应用程序中使用线程 316
31.3 从Thread类派生一个类 319
31.3.1 示例:创建一个线程类 319
31.3.2 示例:在小应用程序中使用单独的线程 320
31.4 同步多个线程 321
31.4.1 示例:使用同步方法 322
31.4.2 理解ThreadApplet3 326
31.5 总结 326
31.6 复习题 327
31.7 练习题 327
第32章 编写Java应用程序 329
32.1 关于Java应用程序 329
32.2 最简单的Java应用程序 329
32.2.1 示例:生成一个应用程序 330
32.2.2 示例:获取一个应用程序的参量 331
32.3 窗口式应用程序 333
32.3.1 示例:把一个小应用程序改成一个应用程序 333
32.3.2 理解应用程序FaceApp 335
32.4 总结 336
32.5 复习题 336
32.6 练习题 336
第五篇 Java开发工具 337
第33章 开发工具概览 337
33.1 工具 337
33.2 使用Appletviewer 338
33.2.1 示例:一次装载多个小应用程序 338
33.2.2 从Appletviewer运行调试程序 339
33.3 使用HotJava 339
33.4 使用Java的文档生成器 340
33.4.1 Javadoc的标签 341
33.4.2 示例:使用文档标签 341
33.4.3 示例:做一个小应用程序的文档 342
33.4.4 Javadoc的选项 344
33.5 使用反汇编器 345
33.6 使用C的头文件生成器 345
33.7 使用调试程序 346
33.8 总结 348
33.9 复习题 348
33.10 练习题 348
第34章 使用编译器 350
34.1 编译器的功能 350
34.2 运行编译器 351
34.2.1 设定类路径 352
34.2.2 指定目标目录 353
34.2.3 示例:设定目标目录 353
34.2.4 建立调试用的表 353
34.2.5 示例:往小应用程序中加进调试用表 353
34.2.6 取消警告 354
34.2.7 优化程序 354
34.2.8 允许状态信息输出 355
34.3 总结 355
34.4 复习题 355
34.5 练习题 356
第35章 使用解释器 357
35.1 解释器的功能 357
35.2 运行解释器 358
35.2.1 需要时重新编译文件 359
35.2.2 设定类路径 360
35 2.3 允许?态信息输出 360
35.2.4 示例:带状态信息运行应用程序 360
35.2.5 获得帮助 362
35.3 总结 362
35.4 复习题 362
35.5 练习题 363
第36章 Java的类库 364
36.1 包 364
36.2 java.lang包 364
36.2.1 数据类型封套 365
36.2.2 示例:使用数据类型封套 366
36.2.3 System类 367
36.2.4 示例:获取系统属性 367
36.2.5 Math类 369
36.2.6 String类 370
36.2.7 示例:使用String类 370
36.3 io包 372
36.4 awt包 374
36.5 总结 376
36.6 复习题 376
36.7 练习题 377
第六篇 附录 378
附录A 复习题答案 378
A.1 第1章复习题答案 378
A.2 第2章复习题答案 378
A.3 第3章复习题答案 379
A.4 第4章复习题答案 379
A.5 第5章复习题答案 379
A.6 第6章复习题答案 380
A.7 第7章复习题答案 380
A.8 第8章复习题答案 380
A.9 第9章复习题答案 381
A.10 第10章复习题答案 381
A.11 第11章复习题答案 381
A.12 第12章复习题答案 382
A.13 第13章复习题答案 382
A.14 第14章复习题答案 382
A.15 第15章复习题答案 383
A.16 第16章复习题答案 383
A.17 第17章复习题答案 384
A.18 第18章复习题答案 384
A.19 第19章复习题答案 385
A.20 第20章复习题答案 385
A.21 第21章复习题答案 386
A.22 第22章复习题答案 386
A.23 第23章复习题答案 387
A.24 第24章复习题答案 387
A.25 第25章复习题答案 388
A.26 第26章复习题答案 388
A.27 第27章复习题答案 389
A.28 第28章复习题答案 389
A.29 第29章复习题答案 389
A.30 第30章复习题答案 390
A.31 第31章复习题答案 390
A.32 第32章复习题答案 391
A.33 第33章复习题答案 391
A.34 第34章复习题答案 392
A.35 第35章复习题答案 392
A.36 第36章复习题答案 393
附录B 术语汇编 394
附录C IDE及工具 403
C.1 IDE 403
C.1.1 Diva 404
C.1.2 Java+ 408
C.1.3 JavaMaker 409
C.2 工具 409
C.2.1 AppletGen 409
C.2.2 VbToJava 411
C.2.3 PortaFilter 411
C.3 总结 412