第一部分 程序基础篇 3
第1章 程序语言与Java 2 3
1.1 程序语言的分类 3
1.1.1 机器语言 3
1.1.2 汇编语言 3
1.1.3 高级语言 4
1.1.4 第四代语言 4
1.1.5 自然语言 5
1.2 高级程序语言 5
1.2.1 解释与编译 5
1.2.2 BASIC 5
1.2.3 FORTRAN 6
1.2.4 PASCAL 6
1.2.5 C/C++ 7
1.2.6 SQL 8
1.3 面向过程与面向对象 9
1.3.1 面向过程程序设计 9
1.3.2 面向对象程序设计 9
1.4 Java 2 10
1.4.1 Java的发展演变及其特性 10
1.4.2 Java的版本与运行环境 11
1.4.3 下载与安装JDK 1.4 11
1.4.4 编译环境设定 14
1.4.5 Java application与Java applet 17
1.4.6 Java程序开发工具简介 19
习题 20
2.1.1 编辑源程序 22
第2章 最简单的Java程序 22
2.1 开始第一个Java程序 22
2.1.2 编译源程序 24
2.1.3 运行源程序 24
2.1.4 Java程序的运行方式 25
2.2 10个简单程序 25
2.2.1 显示“I love you” 25
2.2.2 绘制三角形 26
2.2.3 两数求知 26
2.2.4 温度转换程序 27
2.2.5 计算3的倍数总和 28
2.2.6 显示100以内不是5倍数的整数 28
2.2.8 显示现在的时间 29
2.2.7 九九乘法表 29
2.2.9 显示参数数据内容 30
2.2.10 计算长方形面积 30
2.3 编程实践 31
2.3.1 计算1~10的总和 31
2.3.2 温度转换 32
2.3.3 横列式的九九乘法表 33
2.3.4 显示50以内7的倍数 33
习题 34
第3章 数据表示方法与表达式 36
3.1 数据类型与变量 36
3.1.1 数据类型 36
3.1.3 声明新的变量名 37
3.1.2 变量 37
3.1.4 变量数据类型转换 39
3.1.5 变量的使用范围 40
3.1.6 变量的生存期 42
3.2 运算符与语法 42
3.2.1 运算符 42
3.2.2 运算符的优先次序 43
3.3.3 运算符练习 44
3.3 字符串处理技巧 45
3.3.1 字符串与特殊字符 45
3.3.2 数值数据转换为字符串 46
3.3.3 文本数据转换为数值 47
3.3.4 字符串处理命令 49
3.3.5 StringBuffcr与Character 50
3.4 编程实践 51
3.4.1 局部变量与数据类型转换 51
3.4.2 加减乘除运算 53
3.4.3 简单的字符串转换 54
3.4.4 变换字符串内容 55
习题 56
第4章 选择与循环结构 58
4.1 选择结构 58
4.1.1 单向选择结构 58
4.1.2 双向选择结构 59
4.1.3 多向选择结构 61
4.2 循环结构 64
4.2.1 记数循环 65
4.2.2 条件循环 66
4.2.3 嵌套循环 68
4.3 编程实践 69
4.3.1 紫外线指数分级 69
4.3.2 利用“*”字符绘制三角形 71
4.3.3 计算12+22+……+n2的总和 71
4.3.4 利用循环显示数字塔 72
习题 73
第5章 数组、字符串与排序 75
5.1 设定数组数据 75
5.1.1 认识数组 75
5.1.2 声明一维数组 76
5.1.3 声明二维以上的数组 77
5.2 字符与字符串数组 80
5.2.1 字符数组的声明与操作 80
5.2.2 二维字符数组 81
5.2.3 二维字符串数组 81
5.2.4 字符串转换为字符数组 82
5.3 随机、排序与查找 82
5.3.1 随机 82
5.3.2 排序 84
5.3.3 查找 86
5.4 编程实践 87
5.4.1 转换数组元素的值 87
5.4.2 数组元素位置变换之一(移动) 89
5.4.3 数组元素位置变换之二(旋转) 91
5.4.4 数组元素位置变换之三(反转) 94
5.4.5 随机产生不重复的数值 96
5.4.6 查找电视台收视率 98
习题 99
第6章 程序与函数 101
6.1 函数与子程序 101
6.1.1 函数的格式与类型 101
6.1.2 建立与调用函数 102
6.1.3 参数传递与返回值 103
6.2 值传递调用与地址传递调用 105
6.2.1 值传递调用 105
6.2.2 地址传递调用 106
6.3 数字函数 107
6.4 递归程序 108
6.5 编程实践 109
6.5.1 简单的数学函数 109
6.5.2 彩票的随机变化 110
6.5.3 字符排序 112
6.5.4 最大公约数与最小公倍数 113
习题 114
第二部分 面向对象篇 119
第7章 类与对象 119
7.1 认识类与对象 119
7.1.1 初识对象与类 119
7.1.2 对象的属性与方法 120
7.2.1 传统程序语言的结构 122
7.1.3 查阅对象的属性与方法 122
7.2 建立类 122
7.2.2 定义一个新的类 123
7.2.3 包含属性和方法的类 124
7.2.4 构造函数 126
7.2.5 使用方法返回变量值 128
7.2.6 函数成员的重载与参数传递 128
7.2.7 类中的静态变量 129
7.3 嵌套类 129
7.3.1 一般类与嵌套类 130
7.3.2 用构造函数建立内部类对象 131
7.3.3 匿名类 131
7.4.1 对象与自定义数据类型 132
7.4 对象数组 132
7.4.2 建立对象数组 134
7.4.3 对象数组的排序 135
7.5 编程实践 137
7.5.1 三角形面积 137
7.5.2 矩形的周长和面积 138
7.5.3 使用密码查询余额 140
7.5.4 计算存款利息 141
习题 143
第8章 面向对象程序设计 145
8.1 面向对象语言的基本特性 145
8.2 封装 145
8.3.1 认识继承 146
8.3 继承 146
8.3.2 修改继承的成员特性 148
8.3.3 衍生类与构造函数 148
8.3.4 存取基类的数据成员 150
8.3.5 无法继承的类与方法 151
8.3.6 抽象类与继承 151
8.3.7 接口与接口实现 152
8.3.8 接口与多重继承 153
8.4 多态 155
8.4.1 重载与多态 155
8.4.2 多态类 155
8.5 编程实践 157
8.5.1 计算长方体的表面积 157
8.5.2 计算总成绩和平均成绩 158
习题 159
第9章 异常处理 161
9.1 认识异常处理机制 161
9.1.1 检查错误的第二道防线 161
9.1.2 建立异常处理机制 162
9.1.3 同时处理多个异常情况 164
9.1.4 异常处理类 165
9.2 触发异常的技巧 166
9.2.1 直接触发异常 166
9.2.2 通过方法触发异常 167
9.2.3 IOException的异常处理 168
9.3 自定义异常处理类 170
9.4.1 输入字符串 171
9.4 编程实践 171
9.4.2 利用座号查询成绩 172
9.4.3 将输入的小写字母转换成大写 174
9.4.4 将字符转换为ASCII码 175
习题 177
第10章 多线程 179
10.1 建立多线程的程序 179
10.1.1 认识线程 179
10.1.2 Java的main线程 180
10.1.3 用Thread建立多线程 180
10.1.4 以Runnable接口建立多线程 182
10.1.5 显示与设定线程信息 183
10.2.1 线程的存活与中断 184
10.2 线程的运行 184
10.2.2 设定线程的优先权 186
10.3 线程的调度与同步 187
10.3.1 线程的调度 187
10.3.2 线程方法的同步 189
10.3.3 线程间的通信 192
10.4 编程实践 194
10.4.1 倍数的线程之一(线程的设定) 194
10.4.2 倍数的线程之二(线程的调度) 197
10.4.3 计算电话卡的总额 199
10.4.4 点歌机的输入与输出 200
习题 204
11.1.1 认识AWT窗口工具类 209
11.1 认识窗口与图形界面 209
第三部分 窗口与应用篇 209
第11章 窗口与图形用户界面 209
11.1.2 认识Swing 211
11.1.3 认识容器 214
11.2 组件的界面设计 214
11.2.1 FlowLayout 215
11.2.2 BorderLayout 216
11.2.3 GridLayout 217
11.2.4 CardLayout 218
11.2.5 GridBagLayout 219
11.2.6 BoxLayout 221
11.2.7 自由设定组件位置 222
11.3.1 建立基本组件 223
11.3 组件的建立与设定 223
11.3.2 建立选择组件 225
11.3.3 滑块与滚动条组件 228
11.3.4 输入窗口与信息窗口 229
11.3.5 菜单设计 230
11.4 图形按钮与图层设计 232
11.4.1 在组件上显示图形 232
11.4.2 工具栏设计 233
11.4.3 图层组件 234
11.4.4 选项卡组件 235
习题 236
12.1 认识事件 239
12.1.1 改写窗口程序的架构 239
第12章 对象与事件控制技巧 239
12.1.2 事件与事件监听器 240
12.1.3 事件类 242
12.1.4 事件监听器 243
12.1.5 窗口事件 244
12.2 用定时器事件控制对象 246
12.2.1 利用定时器事件变化来移动对象 246
13.2.2 同时控制多个不同移动速度的组件 247
12.2.3 使用三角函数制作圆周运动 248
12.2.4 画面上弹跳的小球 250
12.3 鼠标控制技巧 251
12.3.1 鼠标事件与事件监听器 251
12.3.2 显示鼠标坐标位置 255
12.3.3 用鼠标指针拉动背景 256
12.3.4 简易打地鼠程序 257
12.3.5 拖动对象与配对 259
12.3.6 坐标位置记录程序 262
12.4 键盘控制技巧 263
12.4.1 键盘事件监听器与按键值 263
12.4.2 使用Enter键输入答案 265
12.4.3 利用键盘按键拉动背景 267
12.4.4 模拟键盘按键状态 268
习题 270
第13章 绘图命令的认识与应用 273
13.1 认识窗口与图形界面 273
13.1.1 设定颜色 273
13.1.2 基本绘图方法 274
13.1.3 设定图形的属性 275
13.2.1 画图板 278
13.2 交互式绘图技巧 278
13.2.2 画圆形交互式程序 279
13.2.3 画正三角形交互式程序 281
13.2.4 画正多边形交互式程序 283
13.2.5 工具栏与交互式绘图 285
13.3 显示文字和图形 288
13.3.1 显示文字 288
13.3.2 显示图形 289
习题 290
14.1 图像处理技巧 292
14.1.1 放大与缩小图像 292
第14章 图像处理与动画制作 292
14.1.2 翻转图像与显示局部图像 293
14.1.3 旋转和倾斜图像 295
14.1.4 裁剪图像 297
14.1.5 使用文件选择器加载图像 299
14.2 动画制作 301
14.2.1 小精灵动画 301
14.2.2 弹跳小圆球 303
14.2.3 移动动画与连续图像动画 305
习题 307
第15章 文件存取与数据库 309
15.1 加载和保存文本文件 309
15.1.1 读取文本文件 309
15.1.2 保存文本文件 311
15.1.3 FilelnputStream与FileOutputStream 313
15.2 存取二进制文件 315
15.2.1 复制图形文件 315
15.2.2 RandomAccessFile类 316
15.3 数据库 318
15.3.1 认识数据库 318
15.3.2 建立数据库 319
15.3.3 建立ODBC数据源 320
15.3.4 连接ODBC数据库 322
15.3.5 ODBC数据库与数据查询 324
15.3.6 增加与删除记录 327
习题 330
16.1.1 显示计算机网络状态 333
16.1 简易网络程序 333
第16章 网络程序设计 333
16.1.2 查询联机主机的IP地址 335
16.2 简易在线通信程序 337
16.2.1 Winsock使用的通讯协议 337
16.2.2 使用UDP协议建立连接程序 337
16.2.3 UDP协议连接窗口程序 341
16.2.4 使用TCP协议建立连接程序 347
16.2.5 TCP协议连接窗口程序 350
16.3 网络应用程序 355
16.3.1 显示HTML源代码 356
16.3.2 下载文件 357
16.3.3 发送e-mail 360
16.4.1 简易的Servlet程序 364
16.4 Scrvlet程序设计 364
16.4.2 用Servlet程序显示数据表 368
16.4.3 用Servlet程序查询数据表 369
习题 372
第17章 项目开发与程序调试 373
17.1 程序调试 373
17.1.1 调试与异常处理 373
17.1.2 程序中的调试机制 374
17.1.3 Java Applet与Java控制台 376
17.1.4 利用Java调试工具来调试 379
17.1.5 其他调试工具 383
17.2 程序模块与程序包 384
17.2.1 同一文件夹中的class文件 384
17.2.2 生成程序包 385
17.2.3 用import命令导入package 387
17.3 程序压缩与打包 389
17.3.1 创建jar文件与查看jar信息 389
17.3.2 解开jar文件 390
17.3.3 创建jar执行文件 391
17.4 充分利用网上Java资源 393
17.4.1 上网查询Java的所有类定义 393
17.4.2 Java讨论组 394
习题 395
第18章 Java Applet与网页应用 397
18.1 认识Java Applet 397
18.1.1 JApplet类 397
18.1.2 程序结构与生命周期 398
18.1.3 测试Java Applet程序 399
18.1.4 网页参数传递给Applet 400
18.1.5 显示图形文件 403
18.1.6 将Java Application变成Java Applet 404
18.2 音效与动画 406
18.2.1 播放音效 406
18.2.2 动画制作 407
18.2.3 在线交互绘图工具 409
18.3 网页应用 411
18.3.1 电子时钟 411
18.3.2 统计图表 413
习题 414
19.1 拼图游戏 419
第四部分 专题设计篇 419
第19章 益智型在线游戏专题 419
19.1.1 操作方法 420
19.1.2 窗口画面组件说明 420
19.1.3 源程序应用技巧分析 420
19.1.4 拼图游戏的完整源程序 422
19.2 猜猜看 427
19.2.1 窗口画面组件说明 427
19.2.2 准备图片库 427
19.2.3 猜猜看游戏的完整源程序 429
19.3 配对游戏 434
19.3.2 窗口画面组件说明 435
19.3.3 源程序应用技巧分析 435
19.3.1 操作方法 435
19.3.4 配对游戏的完整源程序 436
19.4 配对记忆游戏 443
19.4.1 操作方法 444
19.4.2 窗口画面组件说明 444
19.4.3 配对记忆游戏的完整源程序 445
19.5 搬搬看 450
19.5.1 操作方法 451
19.5.2 窗口画面组件说明 451
19.5.3 搬搬看游戏的完整源程序 452
19.6 角子老虎 460
19.6.1 操作方法 460
19.6.3 角子老虎游戏的完整源程序 461
19.6.2 窗口画面组件说明 461
19.7 智慧盘 468
19.7.1 操作方法 468
19.7.2 窗口画面组件说明 469
19.7.3 源程序应用技巧分析 469
19.7.4 智慧盘游戏的完整源程序 470
19.8 英文单词练习 474
19.8.1 窗口画面组件说明 475
19.8.2 英文单词练习游戏的完整源程序 475
19.9 扫雷游戏 483
19.9.1 操作方法 483
19.9.2 窗口画面组件说明 484
19.9.3 扫雷游戏的完整源程序 484
习题 492
20.1 神枪手 494
20.1.1 操作方法 494
第20章 高互动型在线游戏专题 494
20.1.2 窗口画面组件说明 495
20.1.3 神枪手游戏的完整源程序 495
20.2 猴子兵团 503
20.2.1 操作方法 504
20.2.2 窗口画面组件说明 504
20.2.3 猴子兵团游戏的完整源程序 505
20.3 钓鱼高手 511
20.3.1 操作方法 511
20.3.2 容器画面组件说明 512
20.3.3 钓鱼高干游戏的完整源程序 512
20.4.1 操作方法 518
20.4 打砖块 518
20.4.2 窗口画面组件说明 519
20.4.3 打砖块游戏段完整源程序 519
20.5 青蛙过街 527
20.5.1 操作方法 527
20.5.2 窗口画面组件说明 528
20.5.3 青蛙过街游戏的完整源程序 528
20.6 键盘操作练习 536
20.6.1 操作方法 536
20.6.2 窗口画面组件说明 537
20.6.3 键盘操作练习游戏的完整源程序 537
习题 545
习题答案 546