第一篇 Java语言详解 3
第一章 Java语言的特点与运行环境 3
1.1 面向对象的特性 3
1.2 与平台无关的特性 4
1.2.1 严格的语言定义 4
1.2.2 Bytecode中介结构 5
1.2.3 解释和编译的比较 6
1.3 多线程特性 6
1.4 Java与C及C++的关系 7
1.5 关于Java小应用程序 10
1.6 Java程序开发环境JDK 11
1.7 编译和运行第一个Java应用程序 12
1.7.1 编译Java应用程序 13
1.7.2 执行Java应用程序 13
1.8 编译和运行第一个Java小应用程序 13
1.8.1 编译Java小应用程序 14
1.8.2 Java小应用程序浏览器appletviewer的使用 14
1.8.3 将Java小应用程序加到自己的主页中 15
1.9 Internet上的Java联机资源 15
第二章 Java的数据类型 19
2.1 布尔类型 19
2.2 字符类型 21
2.3 整型 23
2.4 浮点型 27
2.5 基本数据类型变量的预设值 32
2.6 数组类型 33
2.6.1 数组的定义和初始化 34
2.6.2 数组的使用 36
2.7 关键字 38
第三章 Java运算符 40
3.1 单目运算符 40
3.1.1 递加和递减运算符 40
3.1.2 正负号运算符 42
3.1.3 自反运算符 42
3.1.4 类型转换表达式 42
3.2 加法运算符 43
3.3 乘法运算符 43
3.4 移位运算符 43
3.4.1 左移运算<< 43
3.4.2 带符号数右移运算>> 44
3.4.3 无符号数右移运算>>> 44
3.5 相等性的运算 47
3.5.1 布尔值类型相等性 47
3.5.2 整数类型和浮点数类型相等性 47
3.5.3 引用相等性 47
3.6 关系运算符 49
3.7 按位取反运算符 49
3.8 逻辑运算符 50
3.9 三元运算符 53
3.10 赋值运算符 54
第四章 Java程序的流程 55
4.1 if 55
4.2 switch说明 56
4.3 while说明 59
4.4 do说明 59
4.5 for说明 59
4.6 break语句 61
4.7 continue语句 61
第五章 引用、字符数组与字符串 65
5.1 Java的动态内存机制 65
5.2 引用 66
5.3 字符数组与字符串 68
5.3.1 字符串常数 68
5.3.2 类String 69
5.3.3 类StringBuffer 74
5.4 命令行参数 77
第六章 类 78
6.1 类的继承关系 79
6.2 类的严格定义 80
6.2.1 abstract 81
6.2.2 final 81
6.2.3 public 82
6.3 变量和方法 83
6.3.1 变量域 83
6.3.2 方法域 83
6.4 public、protected和private 84
6.4.1 public 84
6.4.2 protected 85
6.4.3 private 86
6.5 再论类继承 88
6.6 final关键字 90
6.6.1 final变量 91
6.6.2 final方法 91
6.7 static关键字 91
6.8 关键字abstract 93
第七章 接口与程序包 97
7.1 接口 97
7.2 程序包 101
第八章 Java的动态内存管理 104
8.1 动态配置及垃圾回收 104
8.1.1 堆的概念(传统程序的内存空间图) 104
8.1.2 用动态内存配置的目的 104
8.1.3 何谓“垃圾回收” 105
8.2 new 107
8.3 构造函数和finalizer 109
8.4 super和this 110
第九章 异常处理 113
9.1 异常处理的基本概念 113
9.1.1 传统的错误处理 113
9.1.2 Java异常处理 114
9.2 Java的异常处理机制 117
9.2.1 什么是“异常” 118
9.2.2 try和catch 119
9.2.3 finally 123
9.2.4 用throw产生异常 126
9.2.5 生成自己的异常 129
第十章 Java的输入输出与数据流 131
10.1 输出数据流 131
10.1.1 类ByteArrayOutputStream 133
10.1.2 类FileOutputStream 136
10.1.3 类PipedOutputStream 136
10.1.4 类FilterOutputStream 136
10.1.5 类BufferedOutputStream 137
10.1.6 类DataOutputStream 138
10.1.7 类PrintStream 139
10.2 输入数据流 140
10.2.1 类InputStream 140
10.2.2 类ByteArrayInputStream 143
10.2.3 类FileInputStream 143
10.2.4 类PipedInputStream 144
10.2.5 类SequenceInputStream 145
10.2.6 类StringBufferInputStream 147
10.2.7 类FilterInputStream 147
10.2.8 类BufferedInputStream 147
10.2.9 类DataInputStream 148
10.2.10 类LineNumberInputStream 150
10.2.11 类PushbackInputStream 152
10.3 其他相关的类 152
10.3.1 类File 152
10.3.2 类FilenameFilter 152
10.3.3 类RandomAccessFile 152
第十一章 多线程程序设计 154
11.1 什么是多线程 154
11.2 Java与多线程 155
11.3 如何建立线程 156
11.3.1 继承类Thread 156
11.3.2 类Thread 157
11.3.3 实现接口Runnable 160
11.4 资源的协调 162
11.5 锁定对象数据 163
11.6 锁定类数据 166
第十二章 Java与C的接口 167
12.1 在Java中调用C语言函数 167
12.1.1 编写并编译Java程序代码 168
12.1.2 利用javah生成ShowMessage.h 169
12.1.3 利用 javah-stubs生成Show Message.c 170
12.1.4 编写原生方法的程序代码 170
12.1.5 编译并执行 171
12.2 原生方法的参数与返回值 172
12.2.1 自动参数 172
12.2.2 简单数据类型的参数与返回值 173
12.2.3 复杂数据类型的参数与返回值 174
第二篇 Java小应用程序详解 177
第十三章 小应用程序简介 177
13.1 小应用程序的生命周期 178
13.1.1 public void init() 179
13.1.2 public void start() 179
13.1.3 public void stop() 179
13.1.4 public destroy() 179
13.2 加入自己的代码 180
第十四章 日历小应用程序实例 185
14.1 如何在主页中加入日历程序 186
14.1.1 Applet标签 186
14.1.2 CODE、WIDTH和HEIGHT 186
14.1.3 CODEBASE 187
14.1.4 ALIGN 187
14.1.5 HSPACE和VSPACE 188
14.2 向小应用程序传递参数 189
14.3 类Data 191
14.3.1构造函数 192
14.3.2 类方法 193
14.3.3 一般的设置方法和取值方法 193
14.3.4 其他方法 194
第十五章 图形与动画 196
15.1 图形坐标系统 196
15.2 字形与颜色 197
15.2.1 字型的设置 197
15.2.2 显示的方法 197
15.2.3 取得字型的数据 199
15.2.4 颜色的调整 201
15.3 绘图指令 202
15.3.1 画线 202
15.3.2 矩形 202
15.3.3 圆角矩形 203
15.3.4 立体矩形 205
15.3.5 椭圆形 206
15.3.6 画弧 206
15.3.7 多边形 208
15.4 限定作图的区域 209
15.5 复制图形 210
15.6 载入现成的图形文件 211
15.7 输出图形 214
15.8 动画与线程 215
15.8.1 时钟小应用程序版本1.0 215
15.8.2 时钟小应用程序版本2.0 217
15.8.3 时钟小应用程序版本3.0 219
15.8.4 解决闪烁问题 223
第十六章 建立动画主页 225
16.1 建立一个简单的主页 225
16.2 建立动画主页 228
16.2.1 动画原理简述 228
16.2.2 如何载入图像数据 229
16.2.3 控制放映的速度 229
16.2.4 实例一 230
16.2.5 配音 233
16.2.6 实例二 235
16.2.7 某些改进工作 236
第十七章 截获鼠标事件与键盘事件 241
17.1 鼠标事件 241
17.1.1 mouseDown和mouseUp 242
17.1.2 mouseMove和mouseDrag 244
17.1.3 mouseEnter和mouseExit 246
17.2 键盘事件keyDown和keyUp 248
17.3 事件处理程序handleEvent 250
第十八章 Java的网络功能 252
18.1 什么是URL 252
18.2 URL对象的构造法 253
18.2.1 绝对URL位置构造法 253
18.2.2 相对URL位置构造法 253
18.2.3 指定域的URL对象构造法 254
18.2.4 处理MalformedURLException异常 255
18.3 URL类的基本方法 255
18.3.1 取出URL域的数据 256
18.3.2 将URL对象的内容转成字符串 257
18.3.3 比较两个URL的数据 257
18.4 直接读入URL的数据 258
18.5 Java主页计数器 260
18.5.1 HTML文件 260
18.5.2 服务器端:简单的CGI计数程序 261
18.5.3 客户端:Java小应用程序 262
18.6 URL的双向通信 263
第三篇 Java类库详解 269
1 Applet类 269
2 BorderLayout类 274
3 Button类 276
4 Canvas类 278
5 CardLayout类 279
6 Checkbox类 283
7 CheckboxGroup类 286
8 CheckboxMenuItem类 287
9 Choice类 289
10 Color类 292
11 Component类 297
12 Container类 313
13 Dialog类 318
14 Dimension类 321
15 Event类 322
16 FileDialog类 331
17 FlowLayout类 334
18 Font类 337
19 FontMetrics类 341
20 Frame类 346
251 Graphics类 350
22 GridBagConstraints类 361
23 GridBagLayout类 365
24 GridLayout类 369
25 Image类 371
26 Insets类 373
27 Label类 374
28 List类 376
29 MediaTracker类 382
30 Menu类 388
31 MenuBar类 391
32 MenuComponent类 393
33 MenuItem类 395
34 Panel类 397
35 Point类 398
36 Polygon类 400
37 Rectangle类 402
38 Scrollbar类 407
39 TextArea类 411
40 TextComponent类 414
41 TextField类 416
42 Toolkit类 419
43 Window类 424
附录 Java类的结构 427