第1章 Java语言概论 1
1.1 Java语言简介 1
1.1.1 Java语言的由来 1
1.1.2 Java语言的特点及优势 2
1.1.3 Java语言实现的机制 4
1.2 Java的体系结构 5
1.2.1 JDK目录结构 5
1.2.2 Java的API结构 6
1.2.3 Java源程序结构 8
1.2.4 Java程序编写及运行的过程 9
1.2.5 Java程序举例 11
习题 14
第2章 简单数据类型 15
2.1 概述 15
2.2 简单数据类型 17
2.2.1 整型数据 17
2.2.2 浮点型数据 18
2.2.3 布尔型数据 18
2.2.4 字符型数据 19
2.3 各类数据之间的转换 19
2.3.1 优先关系 20
2.3.2 类型的自动转换规则 20
2.3.3 类型的强制转换 21
2.3.4 实例 21
2.4 Java类库中对简单类型数据的类包装 21
习题 22
第3章 运算符和表达式 24
3.1 概述 24
3.1.1 运算符 24
3.1.2 表达式 25
3.2 算术运算符和算术表达式 25
3.2.1 一元算术运算符 25
3.2.2 二元算术运算符 27
3.2.3 算术运算符的优先级 29
3.3 关系运算符和关系表达式 30
3.4 布尔逻辑运算符和布尔逻辑表达式 32
3.5 位运算符和位运算表达式 34
3.5.1 位逻辑运算符 35
3.5.2 移位运算符 36
3.5.3 位运算符的优先级 37
3.6 赋值运算符和赋值表达式 38
3.6.1 赋值运算符 38
3.6.2 扩展赋值运算符 38
3.7 条件运算符与条件表达式 39
3.8 运算符的优先级和复杂表达式 39
3.9 表达式语句 40
3.10 完整的应用程序 41
习题 47
第4章 流程控制 50
4.1 概述 50
4.2 分支语句 50
4.2.1 条件语句 50
4.2.2 多分支语句 54
4.3 循环语句 56
4.3.1 while循环 56
4.3.2 do-whilee循环 57
4.3.3 for循环 58
4.4 跳转语句 60
4.4.1 break语句 60
4.4.2 continue语句 61
4.4.3 return语句 62
4.5 循环语句与分支语句的嵌套 63
4.6 递归 67
习题 68
第5章 类、数组和字符串操作 72
5.1 概述 72
5.1.1 类定义 72
5.1.2 对象、接口与包 77
5.1.3 类成员修饰符、继承、内部类、类库 81
5.1.4 内部类的应用实例 91
5.2 一维数组 92
5.2.1 定义数组、创建数组 92
5.2.2 初始化数组 92
5.2.3 实例 94
5.3 多维数组 94
5.3.1 数组边界 98
5.3.2 复制数组 98
5.3.3 调整数组大小 99
5.4 字符串操作 99
5.4.1 字符串的表示 99
5.4.2 字符串的访问 100
5.4.3 字符串的修改 101
5.4.4 字符串的比较 102
5.4.5 其他操作 102
5.4.6 程序实例 102
习题 103
第6章 异常处理 105
6.1 概述 105
6.2 异常类型 107
6.2.1 捕获异常 108
6.2.2 声明异常 109
6.2.3 抛出异常 110
6.3 处理异常 111
6.3.1 try和catch语句 111
6.3.2 finally语句 114
6.3.3 异常处理的原则 115
习题 118
第7章 输入输出及文件操作 121
7.1 概述 121
7.1.1 计算机数据的I/O方向 121
7.1.2 Java中包含的输入/输出流的类 122
7.2 文件 127
7.2.1 创建文件 127
7.2.2 File类提供的方法 128
7.2.3 程序实例 129
7.2.4 随机文件流 130
7.2.5 程序实例 130
7.2.6 压缩文件流 134
7.2.7 程序实例 134
7.3 字节I/O流 139
7.3.1 字节输入流 139
7.3.2 字节输出流 139
7.3.3 内存的读写 140
7.4 字符类I/O流 140
7.4.1 字符类输入流 141
7.4.2 字符类输出流 141
7.4.3 程序实例 142
7.5 过滤流 145
7.6 管道流 146
7.7 J2SE1.4提供的新的I/O功能 146
7.7.1 内存映射文件 146
7.7.2 文件通道 147
7.7.3 CRC32类 147
7.7.4 程序实例 147
7.8 输入输出流和正则表达式 148
7.8.1 Pattern类 148
7.8.2 Matcher类 148
7.8.3 程序实例 149
习题 150
第8章 线程与对象串行化 155
8.1 线程的概念 155
8.1.1 什么是线程 155
8.1.2 Java中的线程模型 156
8.2 线程的创建 156
8.3 线程的调度与线程控制 159
8.3.1 线程优先级与线程调度策略 159
8.3.2 线程的基本控制 160
8.4 线程同步 163
8.4.1 多线程并发操作中的问题 163
8.4.2 对象的加锁及其操作 166
8.4.3 死锁的防治 168
8.4.4 线程间的交互wait()和notify() 169
8.4.5 不建议使用的一些方法 172
8.5 线程状态与生命周期 173
8.6 线程相关的其他类与方法 174
8.6.1 支持线程的类 174
8.6.2 线程组 174
8.6.3 Thread类的其他方法 175
8.7 对象的串行化 176
8.7.1 串行化概念和目的 176
8.7.2 串行化对象的方法 176
8.7.3 构造可串行化对象的类 179
8.7.4 定制串行化 180
8.7.5 串行化中对敏感信息的保护 185
8.7.6 串行化的注意事项 186
习题 186
第9章 编写图形用户界面 189
9.1 概述 189
9.2 用AWT编写图形用户界面 189
9.2.1 java.awt包 189
9.2.2 构件和容器 190
9.2.3 常用容器 191
9.2.4 LayoutManager(布局管理器) 193
9.3 AWT事件处理模型 200
9.3.1 事件类 202
9.3.2 事件监听器 203
9.3.3 AWT事件及其相应的监听器接口 205
9.3.4 事件适配器 208
9.4 AWT构件库 211
9.4.1 基本构体的应用 211
9.4.2 构件与监听器的对应关系 219
9.5 用Swing编写图形用户界面 220
9.5.1 Swing概述 220
9.5.2 Swing的类层次结构 222
9.5.3 Swing的特性 224
9.6 Swing构件和容器 226
9.6.1 构件的分类 226
9.6.2 使用Swing的基本规则 227
9.6.3 各种容器面板和构件 228
9.6.4 布局管理器 240
9.7 Swing的事件处理机制 241
习题 242
第10章 Applet程序设计 247
10.1 Applet概述 247
10.1.1 Applet的概念 247
10.1.2 Applet的生命周期概念 248
10.1.3 Applet的类层次结构 250
10.1.4 Applet类API概述 250
10.1.5 Applet的关键方法 252
10.1.6 Applet的显示 253
10.2 Applet的编写 255
10.2.1 Applet编写的步骤 255
10.2.2 用户Applet类的定义 256
10.2.3 在HTML页中包含Applet 256
10.3 Applet中的图形化用户界面GUI 261
10.3.1 基于AWT构件的Applet用户界面 261
10.3.2 Applet中使用弹出式窗口 262
10.3.3 基于Swing的Applet用户界面 265
10.3.4 Applet中的事件处理 268
10.4 Applet的多媒体支持 270
10.4.1 显示图像 270
10.4.2 动画制作 271
10.4.3 播放声音 274
10.5 Applet的安全控制 277
10.5.1 Applet的安全限制 277
10.5.2 Java中的沙箱模型 278
10.5.3 Java 2的安全策略定义与实施 278
10.5.4 Java 2中基于数字签名的安全控制 283
10.6 Applet与工作环境的通信 286
10.6.1 同页面Applet之间的通信 286
10.6.2 Applet与浏览器之间的通信 290
10.6.3 Applet的网络通信 293
10.7 Applet与Application 293
习题 295
第11章 J2SDK的下载和操作 298
11.1 J2SDK的下载与安装 298
11.1.1 J2SDK的下载 298
11.1.2 J2SDK的安装 298
11.2 J2SDK的操作命令 299
11.3 Java编程规范 301
11.3.1 Java编程规范的作用与意义 301
11.3.2 Java命名约定 301
11.3.3 Java注释规则 302
11.3.4 Java源文件结构规则 304
11.3.5 Java源代码排版规则 305
11.3.6 编程建议 306
习题 308
第12章 Java的应用 309
12.1 JDBC的概念及利用JDBC访问数据库 309
12.2 网络通信(URL、Socket、数据报通信) 312
12.3 J2ME平台 312
12.4 J2SE平台 313
12.5 J2EE平台 314
第13章 上机指导 316
13.1 上机考试系统使用说明 316
13.1.1 上机考试环境 316
13.1.2 上机考试时间 317
13.1.3 上机考试题型及分值 317
13.1.4 上机考试登录 317
13.1.5 试题内容查阅工具的使用 320
13.1.6 考生文件夹 322
13.2 上机考试内容 323
13.2.1 基本操作 323
13.2.2 简单应用 324
13.2.3 综合应用 326
13.3 上机考试样题 327
附录1 全国计算机等级考试二级Java语言程序设计考试大纲(2007年版) 332
附录2 全国计算机等级考试二级Java语言程序设计样题及参考答案 335
附录3 2007年4月全国计算机等级考试二级笔试试题——Java语言程序设计 341
附录4 习题参考答案 349