第一篇 Java 语言规范 1
第1章 Java 语言概述 1
1.1 Java 语言发展简史 1
1.2 Java 的特点 1
1.2.1 Java 语言的特点 2
1.2.2 Java APPLET(小应用程序)的特点 3
1.2.3 Java和C、C++的比较 3
1.3 Java 程序举例 4
1.3.1 Java 应用程序(Java Application) 4
1.3.2 Java 小应用程序(Java Appler) 5
第2章 简单数据类型 7
2.1 数据类型综述 7
2.2 简单数据类型的实例化——变理与常量 7
2.2.1 标识符 8
2.2.2 常量 8
2.2.3 变量 8
2.3 整数类型 9
2.3.1 整型常量 9
2.3.2 整型变量 9
2.4 浮点型(实型)数据 10
2.4.1 实型常量 10
2.4.2 实型变量 11
2.5 字符类型 11
2.5.1 字符型常量 11
2.5.2 字符型变量 12
2.6 布尔类型 12
2.7 各类型数据间的优先关系和相互转换 12
2.7.1 数据类型的缺省值 12
2.7.2 自动类型转换 13
2.7.3 强制类型转换 13
第三章 运算符和表达式 14
3.1 运算符综述 14
3.2 算术运算符 14
3.3 关系运算符 15
3.4 布尔逻辑运算符 15
3.5 位运算符 15
3.5.1 按位取反运算符(~) 16
3.5.2 按位与运算符(&) 16
3.5.3 按位或运算符(︴) 16
3.5.4 按位异或运算符(^) 16
3.5.5 左移运算符(<<) 16
3.5.6 右移运算符(>>) 16
3.5.7 无符号右移运算符(>>>) 16
3.5.8 不同长度的数据进行位运算 16
3.6 赋值运算符 17
3.6.1 赋值运算符(=) 17
3.6.2 扩展赋值运算符 17
3.7 条件运算符 18
3.8 表达式 18
第4章 控制语句 20
4.1 分支语句 20
4.1.1 条件语句 20
4.1.2 多分支语句 21
4.1.3 break 语句 21
4.1.4 返回语句 22
4.2 循环语句 23
4.2.1 while 语句 23
4.2.2 do-while 语句 23
4.2.3 for 语句 24
4.2.4 continue 语句 24
4.3 例外处理语句 25
4.4 注释语句 25
第5章 复合数据类型(一)——类与接口 26
5.1 面向对象的程序设计基本概念 26
5.1.1 对象 26
5.1.2 消息 26
5.1.3 类 27
5.2 类 27
5.2.1 类声明 27
5.2.2 类体 27
5.2.3 成员变量 28
5.2.4 方法 29
5.2.5 方法重载 30
5.2.6 构造方法 30
5.2.7 finalize()方法 30
5.2.8 成员变量和方法和访问权限 30
5.2.9 实例成员和类成员 31
5.3 对象 32
5.3.1 对象的生成 32
5.3.2 对象的使用 32
5.3.3 对象的清除 33
5.4 面向对象程序设计的技术——继承和多态 33
5.4.1 继承 33
5.4.2 多态 34
5.5 接口 35
5.5.1 接口的定义 35
5.5.2 接口的实现 35
5.5.3 接口的类型 36
第6章 复合数据类型(二)——数组 37
6.1 一维数组 37
6.1.1 一维数组的定义(声明) 37
6.1.2 一维数组的初始化 37
6.1.3 一维数组元素的引用 38
6.1.4 一维数组在程序中的使用 39
6.2 多维数组 40
6.2.1 二维数组的定义 40
6.2.2 二维数组的初始化 40
6.2.3 二维数组元素的引用 41
6.2.4 二维数组在程序中的使用 41
6.3 数组与对象的关系 42
第二篇 Java 语言编程技术 43
第7章 字符串处理 43
7.1 生成字符串 43
7.1.1 文字串 43
7.1.2 Sring 43
7.1.3 StringBuffer 44
7.2 访问字符串 44
7.2.1 String 45
7.2.2 类StringBuffer 46
7.3 个性字符串 47
7.3.1 String 47
7.3.2 StringBuffer 48
7.4 其它处理 49
7.4.1 字符串的比较 49
7.4.2 字符串的转化 51
7.4.3 运算符“+”的重载 51
7.4.4 词法分析 51
7.5 小结 52
第8章 例外处理 54
8.1 例外 54
8.1.1 例外示例 54
8.1.2 例外处理机制 55
8.1.3 例外处理的类层次 56
8.2 例外处理 57
8.2.1 捕获例外 57
8.2.2 声明抛弃例外 61
8.2.3 抛弃例外 61
8.3 使用例外类 61
8.4 小结 62
第9章 线程 63
9.1 线程珠概念 63
9.2 线程的属性 63
9.2.1 线程体 63
9.2.2 线程的状态 66
9.2.3 线程的调度 68
9.2.4 Daemon 线程 69
9.3 线程组 70
9.3.1 线程和线程组 70
9.3.2 类ThreadGroup 70
9.4 多线程程序 72
9.4.1 监控器 72
9.4.2 同步控制 74
第10章 输入/出处理 82
10.1 I/O 处理的类层次 82
10.2 Inputstream 和 OutputStream 83
10.2.1 InputStream 84
10.2.2 OutputStream 84
10.3 文件处理 85
10.3.1 文件描述 85
10.3.2 文件I/O 处理 90
10.3.3 随机访问文件 92
10.4 管道流 94
10.5 内存的读/写 96
10.6 连接多个输入流 98
10.7 过滤流 100
10.7.1 BufferedInputStream 和 BufferedOutputStream 100
10.7.2 LineNumberInputStream 101
10.7.3 DataInputStream 和 DataOutputStream 101
10.7.4 PushbackInputStream 101
10.7.5 PrintStream 103
10.7.6 自定义过滤流 103
10.8 StreamTokenizer 106
10.8.1 流解析语法表的初始状态 106
10.8.2 StreamTokenizer 对重设语法表的支持 106
10.8.3 用StreamTokenizer 重写10.7.4 中的例10.9 107
10.9 小结 108
10.9.1 I/O例外 108
10.9.2 流结束的判断 108
第11章 GUI 设计 109
11.1 AWT 概述 109
11.1.1 AWT 组件的类层次 109
11.1.2 类Component 109
11.1.3 类Container 111
11.2 AWT 基本组件 111
11.2.1 按钮(Button) 111
11.2.2 画布(Canvas) 112
11.2.3 校验盒(Checkbox) 112
11.2.4 选择框(Choice) 113
11.2.5 标签(Label) 114
11.2.6 列表(List) 114
11.2.7 滚动条(Scrollbar) 115
11.2.8 文本区(TextField和TextArea) 116
11.3 AWT 容器 118
11.3.1 面板(Panel) 118
11.3.2 窗口(Window) 119
11.3.3 框架(Frame) 119
11.3.4 对话框(Dralog) 120
11.3.5 文件对话框(FileDialog) 122
11.4 菜单 122
11.4.1 菜单条(MenuBar) 122
11.4.2 菜单项(MenuItem) 122
11.4.3 校验菜单项(CheckboxMenuItem) 122
11.4.4 菜单(Menu) 122
11.4.5 举例 122
11.5 布局 124
11.5.1 FlowLayout 124
11.5.2 BorderLayout 125
11.5.3 GridLayout 126
11.5.4 GridBagLayout 126
11.5.5 CardLayout 130
11.5.6 null 和自定义布局管理器 130
11.6 AWT 事件处理机制 130
11.6.1 事件(Event) 131
11.6.2 事件处理 131
11.7 GUI 设计示例 134
11.7.1 GUI 设计的基本步骤 134
11.7.2 实例GUIDemo 135
11.7.3 例程中的类 145
11.7.4 组件层次用布局设计 146
11.7.5 事件处理 146
11.7.6 程序运行 147
11.8 AWT组件的同等类 148
第12章 Java Applet 149
12.1 Applet 简介 149
12.2 Applet 与HTML 150
12.3 Applet 的执行框架 151
12.4 Applet和GUI设计 152
12.4.1 Applet 常用的几种方法 152
12.4.2 Applet 的性质 152
12.5 Applet 通讯 153
12.5.1 同页Applet 的通讯 153
12.5.2 与浏览器通讯 157
12.5.3 网络通讯 162
12.6 小结 163
12.6.1 安全性限制 163
12.6.2 Applet 设计技巧 163
12.7 Applet 实例——15子棋游戏 164
第13章 多媒体支持 170
13.1 声音 170
13.2 AWT 绘图 170
13.3 图形 171
13.4 文字 174
13.5 图象 177
13.5.1 载入图象 178
13.5.2 显示图象 179
13.5.3 生成图象 181
13.5.4 处理图象 182
13.6 动画 185
13.6.1 动画实例 185
13.6.2 动画技巧 187
13.6.3 动画模板 189
第14章 网络通讯 194
14.1 URL 194
14.1.1 RUL 的组成和类URL 194
14.1.2 通过URL 访问 WWW 196
14.1.3 通过URLConnection 连接 WWW 197
14.2 socket 通讯 198
14.2.1 socket 通讯的步骤 198
14.2.2 打开socket 198
14.2.3 打开输入/出流 199
14.2.4 关闭socket 199
14.2.5 示例 200
14.3 数据报通讯 202
14.3.1 数据报通讯和流式通讯 202
14.3.2 DatagramSocket 和 DatagramPacket 203
14.4 多客房机制 207
14.5 安全性 217
14.5.1 Applet 的安全考虑 218
14.5.2 对安全性的一些建议 222
第15章 实用程序类 223
15.1 基本数据类型封装 223
15.1.1 数字 223
15.1.2 字符类Character 224
15.1.3 布尔类Boolran 224
15.2 算术运算 224
15.3 对象枚举 224
15.3.1 接口 Enumerstion 225
15.3.2 线性表 225
15.3.3 相联表 226
15.4 系统资源 228
15.4.1 类Syatem 228
15.4.2 Runtime 对象 230
15.5 日期处理 230
15.6 处理程序属性 231
15.6.1 类Propoerties 231
15.6.2 系统属性 232
15.6.3 命令行参数 234
15.6.4 Applet 参数 235
第16章 集成本机方法 236
16.1 集成本机方法的步骤 236
16.1.1 编写Java 源文件 236
16.1.2 编译Java 源文件 237
16.1.3 生成头文件 237
16.1.4 生成存根文件 238
16.1.5 编写C语言文件 238
16.1.6 生成动态库 238
16.1.7 运行Java 程序 239
16.2 实现本机方法 239
16.2.1 贯穿始终的例子 239
16.2.2 方法与函数 242
16.2.3 参数传递 243
16.2.4 返回类型 244
16.2.5 访问Java 对象 244
16.3 实用函数 245
16.3.1 字符串处理 245
16.3.2 多线程同步处理 247
16.3.3 例外处理 247
第三篇 附录 249
附录A 须注意的问题 249
附录B 保留字 252
附录C 包 253
附录D 部分类和接口 254