第一章 Java概述 1
1.1 Java语言简介 1
1.1.1 Java语言的发展历史及特点 1
1.1.2 Java语言实现机制 3
1.2 Java体系结构 5
1.2.1 JDK目录结构 6
1.2.2 Java的API结构 7
1.2.3 开发环境设置及开发工具简介 9
1.2.4 Java程序结构 11
1.2.5 Java程序举例 12
第二章 简单数据类型 14
2.1 数据类型概述 14
2.2 变量和常量 14
2.2.1 标识符(Identifiers) 14
2.2.2 变量(Variables)和常量(Constant Variables) 16
2.3 简单数据类型 18
2.3.1 整形数据 18
2.3.2 浮点型(实型)数据 19
2.3.3 字符型数据 21
2.3.4 布尔型数据 22
2.3.5 综合举例 22
2.4 各类型数据间的相互转换 26
2.4.1 优先关系 26
2.4.2 自动类型转换 26
2.4.3 强制类型转换 27
2.5 Java类库中对简单类型数据的类包装 27
3.2 算术运算符和算术表达式 29
3.2.1 二元算术运算符 29
第三章 运算符和表达式 29
3.1 运算符和表达式概述 29
3.2.2 一元算术运算符 30
3.2.3 算术运算符的优先级 31
3.2.4 幂 32
3.3 关系运算符和关系表达式 33
3.4 布尔逻辑运算符和布尔逻辑表达式 34
3.5.1 位逻辑运算符 37
3.5 位运算符和位运算表达式 37
3.5.2 移位运算符 39
3.5.3 位运算符的优先级 40
3.5.4 位运算的应用 40
3.6 赋值运算符和赋值表达式 42
3.6.1 赋值运算符 42
3.6.2 扩展赋值运算符 42
3.7 条件运算符与条件表达式 43
3.8 各类运算符的优先级和复杂表达式 44
3.9 表达式语句 45
第四章 流程控制 46
4.1 语句和流程控制结构概述 46
4.2 块作用域 46
4.3 分支结构 47
4.3.1 条件结构 47
4.3.2 多分支结构 54
4.4 循环结构 58
4.4.1 不确定循环 58
4.4.2 确定循环 61
4.4.3 break语句 62
4.4.4 continue语句 64
4.5 循环结构与分支结构的嵌套 66
4.6 递归(recursion) 69
4.7 注释语句 71
第五章 Java语言中的面向对象特性 72
5.1 面向对象编程的基本概念和特征 72
5.1.1 面向对象编程简介 72
5.1.2 类与对象的基本概念 72
5.1.3 消息与方法的基本概念 73
5.1.4 面向对象编程的基本特征 74
5.2 类 76
5.2.1 类的定义 77
5.2.2 成员变量 78
5.2.3 成员方法 79
5.2.4 方法重载(Overload) 88
5.2.5 构造方法 89
5.2.6 main方法 91
5.3 对象 92
5.3.1 对象的生成 93
5.3.2 对象的使用 97
5.3.3 对象的清除 101
5.4 类成员的修饰符 101
5.4.1 访问控制 101
5.4.2 static 103
5.4.3 final 105
5.5 类的继承 106
5.5.1 类继承的实现 106
5.5.2 成员变量的隐藏和方法重写 108
5.5.3 super 110
5.5.4 运行时多态 112
5.5.5 造型 114
5.5.6 abstract类和方法 115
5.5.7 final类 117
5.6 接口与包 118
5.6.1 接口 118
5.6.2 包(Package) 126
5.7 对类成员的访问权限控制 129
5.8 内部类(Inner Class) 132
5.9.1 Java类库概述 140
5.9 Java类库简介 140
5.9.2 典型类、接口介绍 142
第六章 数组 152
6.1 一维数组 152
6.1.1 一维数组的定义 152
6.1.2 生成数组——数组元素内存分配 153
6.1.3 一维数组的初始化 153
6.1.5 一维数组元素的复制 155
6.1.4 一维数组元素的引用 155
6.1.6 一维数组程序举例 157
6.2 多维数组 159
6.2.1 二维数组定义 159
6.2.2 生成数组——数组元素内存分配 160
6.2.3 二维数组的初始化 161
6.2.4 二维数组元素的引用 162
6.2.5 二维数组程序举例 162
7.1.1 作为String类实例的字符串常量 166
第七章 字符串处理 166
7.1 字符串的表示和生成方法 166
7.1.2 用String表示字符串 167
7.1.3 用StringBuffer表示字符串 168
7.2 字符串的访问 168
7.2.1 对String的访问方法 168
7.2.2 对StringBuffer的访问方法 171
7.3 对字符串的修改 171
7.3.1 对String的修改 171
7.3.2 对StringBuffer的修改 173
7.4 字符串的比较、转化及链接操作 174
7.4.1 字符串的比较 174
7.4.2 字符串的转化 175
7.4.3 运算符“+”的重载 175
第八章 异常处理 176
8.1 异常 176
8.1.1 基本概念 176
8.1.2 Throwable类及其子类 176
8.2.1 运行时异常 177
8.2 异常处理的种类 177
8.2.2 捕获异常 179
8.2.3 声明异常 181
8.2.4 抛出异常 182
8.2.5 异常子类 183
8.3 小结 184
8.3.1 优点 185
8.3.2 原则 185
8.3.3 建议 185
9.1 Java输入输出流 186
第九章 Java输入/输出及文件操作 186
9.2 文件 187
9.2.1 创建一个新的文件对象 187
9.2.2 File类提供的方法 188
9.2.3 文件信息获取例子程序 192
9.3 字节输入流InputStream 192
9.3.1 FileInputStream对象 194
9.3.2 DataInputStream 196
9.3.3 URL输入流 197
9.3.4 其他InputStream的子类输入流 198
9.4 字节输出流OutputStream 206
9.4.1 FileOutputStream类 207
9.4.2 FilterOutputStream类 209
9.4.3 ByteArrayOutputStream类 214
9.4.4 ObjectOutputStream类 215
9.4.5 PipedOutputStream类 217
9.5.1 接口DataInput 218
9.5 接口和对象串行化 218
9.5.2 接口DataOutput 220
9.5.3 接口Serializable和对象的串行化(Serialization) 221
9.6 随机存取文件流RandomAccessFile 225
9.6.1 创建随机访问文件 228
9.6.2 访问信息 228
9.6.3 增加信息 228
9.6.4 追加信息例子 228
9.7 字符类输入流Reader 229
9.7.1 BufferedReader 230
9.7.3 FilterReader 232
9.7.2 CharArrayReader 232
9.7.4 InputStreamReader 234
9.7.5 PipedReader 234
9.7.6 StringReader 235
9.8 字符类输出流Writer 235
9.8.1 BufferedWriter 236
9.8.2 CharArrayWriter 237
9.8.4 OutPutStreamWriter 238
9.8.3 FilterWriter 238
9.8.5 PipedWriter 239
9.8.6 PrintWriter 240
9.8.7 StringWriter 241
第十章 对象串行化 243
10.1 对象串行化简介 243
10.1.1 系统体系结构综述 243
10.1.2 输出到对象流 244
10.1.4 对象流容器 245
10.1.3 从对象流输入 245
10.1.5 定义串行化的成员 246
10.1.6 注释串行化的成员 246
10.1.7 访问类的可串行化成员 248
10.1.8 ObjectOutput接口 248
10.1.9 ObjectInput接口 249
10.1.10 Serializable接口 250
10.1.11 Extemalizable接口 250
10.1.13 串行化的注意事项 251
10.1.12 保护敏感信息 251
10.2 JDK1.3新增的对象串行化功能 252
10.3 对象的串行化应用举例 253
第十一章 线程 255
11.1 线程的概念 255
11.2 线程的使用 256
11.2.1 线程体 256
11.2.2 线程体的构造 256
11.2.3 线程的状态 260
11.2.4 线程的调度 261
11.2.5 线程的控制 262
11.2.6 线程调度的方法 263
11.2.7 有关线程的其他概念及方法 266
11.3 同步与共享 268
11.3.1 生产者-消费者问题 268
11.4 死锁问题 273
第十二章 图形用户界面 274
12.1 AWT简介 274
12.1.1 组件和容器 275
12.1.2 几种常用容器 278
12.1.3 布局管理器(LayoutManager) 280
12.2 AWT事件处理模型 290
12.2.1 事件类 291
12.2.2 事件监听器 292
12.2.3 AWT事件及其相应的监听器接口 294
12.2.4 事件适配器 298
12.2.5 事件及其对应的监听器类型 301
12.3 AWT组件库 302
12.3.1 基本组件的应用 302
12.3.2 菜单组件的应用 308
第十三章 用Swing创建用户界面 313
13.1 Swing概述 313
13.2 Swing的基本组件示例 315
13.2.1 使用简单组件 315
13.2.2 Swing显示风格的设定 320
13.2.3 比较AWT与Swing 323
14.1.2 一个简单的小应用程序 328
14.1.1 什么是小应用程序 328
14.1 小应用程序简介 328
第十四章 Java小应用程序(Applet和JApplet) 328
14.1.3 小应用程序观察器(Applet viewer) 330
14.2 安全机制 331
14.2.1 JDK 1.x提供的沙箱模型 331
14.2.2 Java 2提供的安全策略 332
14.2.3 Java 2安全策略举例 336
14.3 小应用程序的执行过程 341
14.3.1 小应用程序的创建 341
14.3.2 类的继承关系 342
14.3.3 小应用程序的生命周期及主要方法 343
14.4 小应用程序的HTML标记及属性 344
14.4.1 Applet标记 344
14.4.2 Java插件标记 347
14.5 小应用程序中的组件和图形绘制 351
14.5.1 Applet中的AWT组件 351
14.5.2 Applet中与AWT图形绘制有关的方法 353
14.5.3 java.awt.Graphics类 354
14.5.4 Java 2D图形类 357
14.5.5 JApplet中的Swing组件和图形绘制特点 365
14.5.6 在小应用程序中输出文字 370
14.6 小应用程序中的弹出式窗口 375
14.7 多媒体支持 379
14.7.1 图像 379
14.7.2 动画 397
14.7.3 声音 416
14.8 小应用程序的工作环境 426
14.8.1 同页小应用程序之间的通信 426
14.8.2 小应用程序与浏览器之间的通信 430
14.8.3 小应用程序的网络通信 436
14.8.4 JAR文件和资源(Resource) 437
14.9 Java Application与小应用程序 440
第十五章 集合框架 442
15.1 集合 442
15.1.1 Collection、Set、List接口 443
15.1.2 其他类和接口 445
15.2 对集合元素的访问 448
15.3 映射(Map) 451
15.4 排序 454
15.5 一个有用的类Collections 457
15.6 总结 458
第十六章 网络通信 459
16.1 类URL 459
16.1.1 URL的组成和类URL 459
16.1.2 通过URL读取WWW信息 462
16.1.3 通过URLConnetction连接WWW 463
16.2.1 Socket通信的一般结构 464
16.2 Socket通信 464
16.2.2 创建Socket 465
16.2.3 打开输入/输出流 466
16.2.4 关闭Socket 467
16.2.5 一个简单的Client/Server程序 467
16.2.6 多客户机制 469
16.3 数据报通信 471
16.3.1 数据报通信和流式通信 471
16.3.2 DatagramSocket和DatagramPacket 472
16.3.3 一个简单的Client/Server例子 473
16.3.4 使用数据报进行广播通信 476
第十七章 JSP技术 479
17.1 JSP基本概念 479
17.2 JSP的运行环境 479
17.3 JSP的一般运行过程 480
17.4 JSP的优点 480
17.5 JSP的运行环境的安装(以Tomcat为例) 481
17.6 JSP的基本语法 484
17.7 JSP的常用隐含对象 497