第一章 第一天课程--Java编程简介 1
1.1 什么是Java 1
1.2 什么是Visual J++ 2
1.3 将Java applet嵌入HTML页 2
1.3.1 了解Applet和应用程序 4
1.4 Java的过去、现在和将来 5
1.5 为什么要学习Java 6
1.5.1 Java是跨平台的编程语言 6
1.5.2 Java是面向对象的编程语言 7
1.5.3 Java简便易学 8
1.5.4 使用VJ++学习Java更容易 9
1.5.5 VJ++集成式开发环境 9
1.6 VJ++的图示概览 9
1.7 用VJ++调制Java 9
1.7.1 如何获取软件 10
1.8 小结 10
1.9 问与答 11
第二章 第二天课程——Visual J++简介 13
2.1 安装Visual J++ 13
2.1.1 对系统的要求 13
2.1.2 开始安装 13
2.1.3 安装选项 14
2.1.4 重新安装Visual J++ 14
2.2 Visual J++的卸载 15
2.2.1 Microsoft Developer Studio 15
2.3 启动Microsoft Developer Studio 15
2.4 关于Project Workspace(项目工作区)窗口 16
2.4.1 浏览项目工作区窗口 16
2.4.2 InfoView 16
2.4.3 Files 17
2.4.4 类 17
2.5 定制工作区 17
2.5.1 工具栏和接驳窗口 17
2.5.2 保存工作区 18
2.6 开始使用Microsoft Visual J++ 18
2.7 创建新的项目工作区 19
2.7.1 创建一个VJ++应用程序 20
2.7.2 用JVIEW测试你的VJ++应用程序 21
2.7.3 创建一个VJ++applet 21
2.8 小结 23
2.9 问与答 23
第三章 第三天课程——面向对象的程序设计与Java 25
3.1 什么叫做对象 25
3.2 对象和类 26
3.3 动作与属性 27
3.3.1 属性 28
3.3.2 方法 28
3.3.3 将属性与方法集中起来 29
3.3.4 创建一个类 29
3.4 继承、接口和包 32
3.4.1 继承 32
3.4.2 创建类的分层结构 34
3.4.3 继承是如何运行的 35
3.4.4 单一继承与多重继承 36
3.4.5 接口与包 37
3.5 创建子类 38
3.7 问与答 41
第四章 第四天课程——Java编程基础 43
4.1 语句与表达式 43
4.2 变量和数据类型 44
4.2.1 变量说明 44
4.2.2 关于变量名称的说明 45
4.2.3 变量的类型 46
4.2.4 给变量赋值 47
4.2.5 命名约定 47
4.3 注释 48
4.4 字面值 48
4.4.1 数字型字面值 48
4.4.2 布尔型字面值 49
4.4.3 字符型字面值 49
4.4.4 字符串型字面值 49
4.5 表达式和运算符 50
4.5.1 算术运算符 50
4.5.2 赋值表达式 52
4.5.3 递增和递减 52
4.5.4 比较运算符 54
4.5.5 逻辑运算符 54
4.5.6 移位运算符 55
4.5.7 运算符的优先次序 55
4.6 String(字符串)运算 56
4.7 小结 57
4.8 问与答 58
第五章 第五天课程——进行对象操作 59
5.1 创建新对象 59
5.1.1 使用new 60
5.1.2 new有哪些功能 61
5.1.3 关于内存管理的说明 61
5.2 访问和设置类变量和数据成员 61
5.2.1 获取值 62
5.2.2 改变值 62
5.2.3 类变量 63
5.3 调用对象的方法 64
5.3.1 类方法 65
5.4 引用对象 66
5.5 强制转换和转换对象及基本数据类型 67
5.5.1 基本数据类型之间的强制转换 67
5.5.2 对象之间的强制转换 68
5.5.3 将基本数据类型转换成对象和将对象转换成基本数据类型 69
5.6 其他的一些对象操作方法 69
5.6.1 比较对象 69
5.6.2 确定对象的类 71
5.7 Java类库 71
5.8 小结 72
5.9 问与答 73
第六章 第六天课程——数组、条件和循环 75
6.1 数组 75
6.1.1 说明数组变量 76
6.1.2 创建数组对象 76
6.1.3 访问数组元素 76
6.1.4 修改数组元素 77
6.1.5 多维数组 78
6.2 block语句 78
6.3 if条件 79
6.3.1 条件运算符 80
6.4 Switch条件 80
6.5 for循环 82
6.6 while循环和do循环 84
6.6.1 while循环 84
6.6.2 do循环 84
6.7 循环的停止执行 85
6.7.1 带标注的循环 86
6.8 小结 87
6.9 问与答 88
第七章 第七天课程——用Java创建类和应用程序 89
7.1 对类进行定义 89
7.2 创建数据成员和类变量 90
7.2.1 定义数据成员 90
7.2.2 常量 90
7.2.3 类变量 91
7.3 创建方法 92
7.3.1 对方法进行定义 92
7.3.2 关键字this 94
7.3.3 变量的范围和方法定义 94
7.3.4 将参数传送给方法 95
7.3.5 类方法 97
7.4 创建Java应用程序 97
7.5 Java应用程序和命令行参数 98
7.5.1 将参数传送给Java程序 98
7.5.2 处理你的Java程序中的参数 99
7.6 小结 100
7.7 问与答 101
第八章 第八天课程——再谈方法 103
8.1 方法重载 103
8.2 构造函数方法 106
8.2.1 基本的构造函数 107
8.2.2 调用另一个构造函数 108
8.2.3 重载构造函数 109
8.3 方法的覆盖(Overriding) 110
8.3.1 建立覆盖现有方法的方法 111
8.3.2 调用原始方法 112
8.3.3 覆盖构造函数 113
8.4 终结方法 114
8.5 小结 115
8.6 问与答 115
第九章 第九天课程——Java applet基础 117
9.1 applet与应用程序的区别 117
9.2 applet中的ActiveX 118
9.3 创建applet 119
9.3.1 applet的主要活动 120
9.3.2 VJ++ Java Applet Wizard 121
9.4 在Web页中加入applet 125
9.4.1 <APPLET>标签 125
9.4.2 测试结果 126
9.4.3 使Java applet可供Web使用 126
9.5 再谈<APPLET>标签 127
9.5.1 ALIGN 127
9.5.2 HSPACE与VSPACE 129
9.5.3 CODE与CODEBASE 129
9.6 向applet传递参数 130
9.7 小结 133
9.8 问与答 134
第十章 第十天课程——图形、字体和颜色 137
10.1 Graphics类 137
10.1.1 图形坐标系统 138
10.2 绘图与填充 138
10.2.1 线段 138
10.2.2 方形 138
10.2.3 多边形 140
10.2.4 椭圆 141
10.2.5 弧形 141
10.2.6 一个简单图形的例子 144
10.2.7 复制与清除 145
10.3 文字与字体 145
10.3.1 创建字体对象 146
10.3.2 显示字符与字符串 146
10.3.3 查找字体信息 148
10.4 颜色 149
10.4.1 使用颜色对象 150
10.4.2 测试并设置当前颜色 150
10.4.3 单颜色的例子 151
10.5 小结 152
10.6 问与答 152
第十一章 第十一天课程——简单的动画和线程 155
11.1 在VJ++中建立动画 155
11.2 画与重画 156
11.2.1 启动和停止applet的运行 156
11.2.2 把它们放在一起 156
11.3 线程——定义与作用 158
11.3.1 数字式时钟的applet中的问题 159
11.3.2 用线程编写applet 159
11.3.3 调整数字式时钟 160
11.4 减少动画闪烁 162
11.4.1 闪烁的产生及消除 162
11.4.2 如何覆盖update() 163
11.4.3 解决方法之一——不清屏 163
11.4.4 解决方法之二——只重画需要的部分 166
11.5 小结 172
11.6 问与答 172
第十二章 第十二天课程——用Visual J++建立一个界面 175
12.1 Resource Editor 175
12.2 AWT概述 176
12.3 建立一个简单的对话资源 178
12.3.1 Java Resource Wizard 179
12.3.2 使用由Java Resource Wizard生成的类 180
12.4 基本的用户界面组件 181
12.4.1 标签(Label) 182
12.4.2 按钮(Button) 182
12.4.3 正文字段(Text Field) 183
12.4.4 复选框(Checkbox) 184
12.4.5 单选按钮(Radio Button) 185
12.4.6 选项菜单(Choice Menu) 185
12.5 面板与布局 187
12.5.1 布局管理器 187
12.5.2 镶边(inset) 189
12.6 面板嵌套与组件 190
12.6.1 嵌套面板 190
12.6.2 事件与嵌套面板 191
12.7 其他UI组件 191
12.7.1 正文区域(Text Area) 191
12.7.2 滚动式列表(Scrolling List) 192
12.7.3 滚动条与滚动块 193
12.7.4 画布(canvas) 194
12.8 小结 195
12.9 问与答 195
第十三章 第十三天课程——对用Visual J++建立图形前端的进一步讨论 197
13.1 窗口、菜单和对话框 197
13.1.1 框架(frame) 197
13.1.2 菜单 199
13.1.3 对话框 201
13.1.4 文件对话框 204
13.2 处理UI动作与事件 204
13.2.1 鼠标单击 204
13.2.2 鼠标移动 208
13.3 键盘事件 209
13.3.1 KeyDown与KeyUp方法 209
13.3.2 缺省(default)键 209
13.3.3 一个有关字符输入、显示和移动的例子 210
13.3.4 测试修改键 213
13.4 AWT事件句柄 213
13.5 对UI组件动作和事件的处理 215
13.5.1 窗口事件 218
13.5.2 其他UI事件 218
13.6 小结 219
13.7 问与答 219
第十四章 第十四天课程——编译错误与调试 221
14.1 编译错误 221
14.2 Microsoft Developer Studio调试器 227
14.2.1 调试你的applet 228
14.3 小结 231
14.4 问与答 231
第十五章 第十五天课程——COM,ActiveX和JDBC 233
15.1 组件对象模型(Component Object Model——COM) 234
15.1.1 从Visual J++中调用COM对象 234
15.1.2 运行Type Library Wizard 234
15.1.3 在Java中使用COM对象 236
15.2 将一个Visual J++Applet开放为一个COM对象 238
15.3 ActiveX控制 238
15.4 信任的和非信任的Applet 238
15.5 创建一个签名的.CAB文件 240
15.6 确保用户机上的Java Support是最新的 240
15.7 访问数据库 240
15.8 数据访问对象(Data Access Objects——DAO) 241
15.8.1 DAO的示例 241
15.9 远程数据对象(Remote Data Object——RDO) 241
15.10 Java数据库连接(JDBC) 242
15.11 小结 242
15.12 问与答 243
第十六章 第十六天课程——将Java应用程序与网络及其他系统连接起来 245
16.1 在Applet中建立链接 246
16.1.1 打开Web连接 250
16.1.2 openStream() 250
16.1.3 URLconnection类 253
16.1.4 套接字 253
16.2 有关applet的其他提示 254
16.2.1 showStatus()方法 254
16.2.2 applet信息 255
16.2.3 applet之间的相互通信 255
16.3 小结 256
16.4 问与答 256
第十七章 第十七天课程——修饰符、访问控制和类的设计 259
17.1 修饰符 259
17.2 控制对方法和类的访问 260
17.2.1 访问控制为什么如此重要 260
17.2.2 4Ps保护 261
17.2.3 方法的保护与继承 265
17.2.4 实例变量的保护和访问者方法 265
17.3 类变量和方法 267
17.4 对类、方法和变量终结化 269
17.4.1 终结化类 269
17.4.2 终结化变量 270
17.4.3 终结化方法 270
17.5 抽象类和方法 271
17.6 小结 272
17.7 问与答 272
第十八章 第十八天课程——包、接口和例外处理 275
18.1 广义编程与狭义编程 275
18.2 什么是包 276
18.3 使用包 277
18.3.1 包全名和类全名 277
18.3.2 import命令 277
18.3.3 名字冲突 278
18.3.4 关于CLASSPATH的说明以及类位于什么地方 278
18.4 创建自己的包 279
18.4.1 选定一个包名 279
18.4.2 创建目录结构 280
18.4.3 使用package将你的类加入到一个包中 280
18.4.4 利用Visual J++用户接口来创建包 280
18.4.5 包和类的保护 280
18.5 什么是接口 283
18.5.1 单继承的问题 283
18.5.2 抽象设计和具体实现 284
18.5.3 接口和类 285
18.6 实现和使用接口 285
18.6.1 implements关键字 285
18.6.2 实现多个接口 286
18.6.3 接口的其他用法 287
18.7 创建接口 288
18.7.1 新接口 288
18.7.2 接口中的方法 289
18.7.3 扩展接口 289
18.8 例外处理 290
18.8.1 try...catch结构 290
18.8.2 finally语句 291
18.8.3 使用throw产生一个例外 291
18.9 小结 292
18.10 问与答 292
第十九章 第十九天课程——介绍JavaScript 295
19.1 什么是JavaScript 295
19.1.1 一个简单的例子 295
19.2 SCRIPT标签 297
19.3 数据类型 297
19.4 变量 298
19.5 字面值 298
19.5.1 整数字面值 298
19.5.2 浮点数字面值 298
19.5.3 布尔数字面值 299
19.5.4 字符串字面值 299
19.6 表达式 299
19.6.1 算术表达式 300
19.6.2 字符串表达式 300
19.6.3 逻辑表达式 300
19.7 运算符 300
19.7.1 赋值运算符 300
19.7.2 比较运算符 301
19.7.3 算术运算符 301
19.7.4 字符串运算符 301
19.7.5 逻辑运算符 301
19.7.6 位运算符 302
19.8 语句 302
19.8.1 条件语句 302
19.8.2 循环语句 303
19.8.3 对象操作语句 305
19.9 函数 307
19.9.1 内置函数 308
19.10 数组 310
19.11 事件 311
19.11.1 事件处理程序 311
19.12 JavaScript对象 312
19.13 小结 313
19.14 问与答 313
第二十章 第二十天课程——介绍VBScript 315
20.1 什么是VBScript 315
20.1.1 一个简单的例子 315
20.1.2 VBScript与Visual Basic之间的差别 317
20.2 <SCRIPT>标签 317
20.3 数据类型 318
20.4 变量 319
20.5 字面值 319
20.6 表达式 319
20.6.1 算术表达式 320
20.6.2 字符串表达式 320
20.6.3 日期表达式 320
20.6.4 逻辑表达式 320
20.7 数组 320
20.8 运算符 321
20.8.1 赋值运算符 321
20.8.2 比较运算符 321
20.8.3 算术运算符 322
20.8.4 字符串运算符 322
20.8.5 逻辑运算符 322
20.8.6 位运算符 323
20.9 语句 323
20.9.1 条件语句 323
20.9.2 循环语句 324
20.10 过程 327
20.10.1 Sub过程 327
20.10.2 Function过程 328
20.11 内置函数 329
20.12 事件 329
20.12.1 事件处理程序 329
20.13 VBScript对象模型 331
20.14 小结 331
20.15 问与答 332
第二十一章 第二十一天课程——Applet和ActiveX控制与脚本的集成 333
21.1 Circle Applet 333
21.1.1 创建一个新的项目 333
21.1.2 第一步:给applet命名 334
21.1.3 第二步:输入applet的宽度和高度 335
21.1.4 第三步:关闭动画和多线程支持 335
21.1.5 第四步:输入参数r、g、b 335
21.1.6 第五步:输入作者信息 335
21.2 将Java applet集成到HTML中 340
21.3 给一个Java applet传递参数 341
21.4 用VBScript来控制一个Java applet 342
21.5 通过JavaScript控制一个Java applet 345
21.6 <OBJECT>标签 346
21.7 将ActiveX控制集成到HTME中 347
21.7.1 ActiveX Control Pad 348
21.8 利用脚本控制ActiveX 350
21.9 小结 355
21.10 问与答 355
附录A Java语言参考资料 357
附录B 类层次结构图 363
附录C Java类库 375
附录D Java与C、C++之间的差别 381
附录E JavaScript语言参考资料 385
附录F VBScript语言参考资料 397