第一篇:Java简介 1
第一章 web网与Java 3
1.1 Java程序是如何运行的 4
1.2 Applet模型 5
1.2.1 Applet运行环境 5
1.2.2 applet不能做什么 6
1.2.3 安全下载applet 7
1.3 赞扬、希望和历史 7
1.3.1 消费者电子中的教训 8
1.3.2 Java满中Web网 9
1.4 为什么用户会喜欢Java 10
1.4.1 无论是新的还是旧的,它是最好的 10
1.4.2 没有预处理器 10
1.4.3 没有Marefile和库连接之忧 11
1.4.4 没有直接内存存取或指针运算 11
1.4.5 没有操作符重载 11
1.4.6 没有多继承 12
1.4.7 面向对象 12
1.4.8 用于网络 13
1.4.9 动态性 14
1.4.10 多线程 14
1.5 继续 15
第二章 Java编程基础 16
2.1 开始 16
2.1.1 Windows 95/NT的安装 17
2.1.2 PowerPC Macintosh 17
2.1.3 UNIX 17
2.1.4 第一个Java程序 18
2.1.5 传递命令行参数 19
2.1.6 简单的文本输出 20
2.2 Java程序分析 20
2.2.1 结构总览 20
2.2.2 变量 21
2.2.3 方法 27
2.2.4 类 30
2.2.5 包 33
2.3 Java运行环境 34
2.3.1 编译和执行过程 34
2.3.2 无用单元收集机制 35
2.4 创建Java applet 36
2.4.1 第一个applet 37
2.4.2 applet分析 37
2.5 将applet放在Web网上 39
2.6 自动编制代码 41
2.7 继续 42
第二篇 Java applet基础 43
第三章 Java中的面向对象 45
3.1 面向对象的优点 45
3.1.1 数据隐藏 46
3.1.2 利用继承重用 48
3.1.3 维护 49
3.2 Java对象规范 50
3.2.1 Java的类谱系 50
3.2.2 特殊变量 52
3.2.3 类的说明 54
3.2.4 访问规则 55
3.3 使继承发挥作用 56
3.3.1 构造类谱系 56
3.3.2 抽象类和方法 57
3.4 多态性和Java接口 58
3.5 概念小结和实例 59
3.6 继续 62
第四章 语法和语义 63
4.1 标识符和单一代码 64
4.2 注释 64
4.3 关键词 65
4.5 基本数据类型 66
4.5.1 整型 66
4.4 数据类型 66
4.5.2 浮点数 67
4.5.3 字符 67
4.5.4 布尔类型 68
4.6 基本类型转换 68
4.6.1 浮点数向整数的转换 69
4.6.2 双精度向浮点的转换 70
4.6.3 布尔类型向其它类型或其它类型向布尔类型的转换 70
4.7 变量说明 70
2.7.1 作用域 70
4.8 运算符 72
2.7.2 变量命名 72
4.8.1 数字运算符 73
4.8.2 对象运算符 77
4.8.3 串运算符 78
4.9 包 80
4.9.1 导入 80
4.10 类 81
4.10.1 构造函数 81
4.10.3 类修饰符 82
4.10.2 析构函数 82
4.10.4 变量修饰符 83
4.10.5 方法修饰符 84
4.10.6 方法重载 85
4.11 引用变量类型转换 85
4.12 接口 86
4.13 数组 86
4.13.1 数组的创建 87
4.13.2 数组的初始化 88
4.13.3 访问数组 88
4.14.1 if-else语句 89
4.14 控制流 89
4.14.2 while和do-while语句 90
4.14.3 for语句 91
4.14.4 break和continue语句 92
4.14.5 return语句 93
4.14.6 switch语句 94
4.15 异常 94
4.16 继续 97
第五章 Applet是如何工作的 98
5.0.1 Applet是什么? 98
5.0.2 Applet的阶段 100
5.0.3 获得资源 102
5.0.4 获得参数 105
5.1 处理用户事件 107
5.1.1 鼠标事件 107
5.1.2 键盘事件 109
5.1.3 事件处理:到底干了些什么 110
5.2 使用线程制作动画 112
5.2.1 可运行的接口 112
5.2.2 单线程方法 113
5.2.3 消除抖动现象 116
5.3 继续 119
第六章 揭示API 120
6.1 API基础 120
6.1.1 结构 121
6.1.2 使用API 122
6.1.3 java.lang.Object类 128
6.2 串操作工具 129
6.2.1 创建字符串 129
6.2.2 串比较 130
6.2.3 处理子串 133
6.2.4 改变串 133
6.2.5 分析串 134
6.2.6 将串转变为其它数据类型 136
6.3 基本类型包容类 138
6.3.1 对象包容类 138
6.3.2 Vector类 139
6.3.3 哈希表 141
6.3.4 堆栈 144
6.3.6 结构化重要接口 145
6.3.5 API接口 145
6.3.7 enumeration接口 146
6.3.8 java.lang.Cloneahle和java.lang.Runnable 146
6.3.9 用java.util.Observer进行事件处理 147
6.4 Math与API 149
6.5 继续 151
第七章 基本用户界面 152
7.1 货币转换程序 153
7.2 获取键盘输入 153
7.3 创建文本域或文本框 155
7.4 创建按钮 157
7.5 创建检取框 159
7.6 创建列表框 162
7.7 创建弹出式选择菜单 165
7.8 创建并使用滚动条 166
7.9 标签 168
7.10 继续 170
第三篇 Java高级程序设计 171
第八章 高级用户界面 173
8.1 布局设计 173
8.2.2 窗口 174
8.2.1 面板 174
8.2 包容类 174
8.2.3 菜单 175
8.3 字体 177
8.3.1 字体度量对象 178
8.4 布局管理器 178
8.4.3 GridLayout 179
8.4.4 CardLayout 179
8.4.5 GridBagLayout 179
8.4.2 BorderLayout 179
8.4.1 FlowLayout 179
8.4.6 选择一个布局管理器 180
8.4.7 用布局管理器进行工作 181
8.4.8 确定布局的大小 181
8.5 综合使用布局类的示例 182
8.5.1 设置基于框架的applet:FlowLayout 182
8.5.2 设置对话框applet:BorderLayout 184
8.5.3 设置面板applet:BorderLayout 186
8.5.4 设置同样大小的元素:GridLayout 189
8.5.5 动态地改变部件:CardLayout 190
8.5.6 精心布局:GridBaglayout 194
8.5.7 用CardLayout增加Menu 196
8.6 继续 199
第九章 图形与图象 200
9.1 用Graphics类绘图 200
9.1.1 绘制简单图形 200
9.1.2 绘制填充的各类形状 201
9.1.3 绘制文本和图象 202
9.2 使用Image类 203
9.2.2 使用MediaTracker 204
9.2.1 导入Image 204
9.2.3 创建Image 205
9.2.4 异步Image接口 206
9.2.5 Image操作技术 209
9.3 继续 214
第十章 高级程序设计 215
10.1 建立Java包 215
10.2 创建兼容类 216
10.2.1 boolean equals(Object o) 216
10.2.2 String tostring 216
10.2.3 开发可重用部件 222
10.2.4 把设计变为工作代码 224
10.2.5 利用对象类型转换 225
10.3 检验Java代码 226
10.3.1 检测获得的异常 226
10.3.2 产生异常 232
10.4 关于对象的运行信息 236
10.5 继续 237
第十一章 高级线程 238
11.1 用Thread类创建线程 238
11.2 用Runnable接口创建线程 239
11.3 线程的管理 241
11.3.1 线程的调度 242
11.3.2 线程组 247
11.3.3 线程同步 248
11.3.4 易失变量 257
11.4 继续 257
第十二章 超越applet模式进行编程 258
12.1 从applet到独立的应用程序 258
12.1.1 图形化Java应用程序基础 258
12.1.2 文件系统 261
12.2 本地方法 264
12.2.1 何时使用本地程序库 264
12.2.2 本地方法的解释 265
12.2.3 准备C程序库 266
12.2.4 用C实现本地方法 268
12.2.5 编译并使用DLL 275
12.3 继续 275
第四篇 Java与网络 277
13.1 套接字 279
第十三章 通过套接字和流联网 279
13.2 无连接的数据报 283
13.3 流 285
13.3.1 输入流 285
13.3.2 输出流 286
13.3.3 流的多样性 288
13.3.4 数据流 289
13.3.5 分析文本流中的数据 291
13.3.6 使用管道在applet间进行通信 294
13.4 继续 298
第十四章 通过URL联网 299
14.1 使用URL类 300
14.1.1 获得内容 301
14.1.2 连接URLConnecticn 302
14.1.3 HTTP和类URLCnnecticn 303
14.1.4 MIME类型与ContentHandler 304
14.1.5 设置ContentHardlerFactory 305
14.1.6 利用流来实现 307
14.1.7 设置选项 308
14.2 用其它协议进行工作 309
14.4 继续 310
14.3 URL的优点 310
第十五章 编写Java服务器 311
15.1 设计服务器和协议 311
15.1.1 确定服务器的任务 312
15.1.2 定义客户机/服务器接口 312
15.2 建立Java服务器 313
15.2.1 通过套接字通讯和处理I/O流 316
15.2.2 处理多连接和多个applet客户机 318
15.3 建立chat客户机 320
15.4 继续 323
第五篇 示例Internet应用程序 325
第十六章 交互式动画:广告性的applet 327
16.1 合同 327
16.2 特性 327
16.3 设计 328
16.3.1 构造显示 328
16.3.2 配置显示结构 330
16.4 实现 333
16.4.1 使applet成为可配置的 333
16.4.2 用于显示的基类 336
16.4.3 创建分析程序 351
16.4.4 定义ActionArea 354
16.5 可能的改进 356
第十七章 实现与CGI的接口:Java store 357
17.1 合同 357
17.2 特性 358
17.3 设计 358
17.4 实现 360
17.4.1 执行HTTP请求 361
17.4.2 存储产品数据 365
17.4.3 FIFO类 366
17.4.4 获得图象和描述 367
17.4.5 管理用户的选择 369
17.4.6 获得配置数据和初始化 371
17.4.7 装配起来 373
17.4.8 将用户的选择送到Web服务器 378
17.4.9 利用CGI程序处理返回的数据 380
17.5 可能的改进 380
18.1 合同 381
18.2 特性 381
第十八章 与非HTTP服务器的接口:Chess Client 381
18.3 设计和实现 382
18.3.1 和异步服务器通讯 382
18.3.2 创建通用棋盘 384
18.3.3 把棋盘连接到ICS 387
18.3.4 书写applet 394
18.4 可能的改进 399
18.4.1 改进Login窗口 399
18.4.2 增加当前棋手列表 402
19.2 特性 411
19.1 合同 411
第十九章 编写自己的服务器:会议日程安排 411
19.2.1 用户手册 412
19.2.2 建立自己的服务器 412
19.3 设计 413
19.3.1 网络接口模块 413
19.3.2 服务器 414
19.3.3 安全性 414
19.3.4 速度和内存的考虑 414
19.3.7 工程细节模块 415
19.3.6 客户机 415
19.3.5 服务器设计 415
19.3.8 用户界面模块 417
19.3.9 宏伟蓝图 418
19.4 实现 419
19.4.1 代码路由映射 419
19.4.2 网络接口模块 419
19.4.3 工程细节模块 426
19.4.4 用户界面模块 432
19.5 可能的改进 435
附录 436