第1章Java语言概论 1
1.1 Java语言简介 1
1.1.1 Java语言的由来 1
1.1.2 Java语言的目标 1
1.1.3 Java语言实现机制 2
1.2 Java语言面向对象编程 3
1.2.1面向对象编程的基本概念 3
1.2.2类与包 4
1.2.3对象创建、初始化、使用和删除 11
1.2.4 Java源程序结构 17
1.2.5 Java程序编写及运行的过程 18
习题 22
第2章 基本数据类型 23
2.1概述 23
2.1.1标识符 23
2.1.2关键字 24
2.1.3常量 24
2.1.4变量 25
2.2基本数据类型 25
2.2.1整型数据 26
2.2.2浮点型数据 27
2.2.3布尔型数据 27
2.2.4字符型数据 27
2.2.5各类数据之间的转换 27
2.3引用数据类型 29
2.3.1引用赋值 29
2.3.2方法参数传递 29
2.3.3 this与super的引用 30
2.4 Java类库中对基本数据类型的wrapper类 31
习题 32
第3章 运算符和表达式 34
3.1概述 34
3.1.1运算符 34
3.1.2表达式 35
3.2算术运算符和算术表达式 35
3.2.1一元算术运算符 35
3.2.2二元算术运算符 36
3.2.3算术运算符的优先级 39
3.3关系运算符和关系表达式 39
3.4布尔逻辑运算符和布尔逻辑表达式 41
3.5位运算符和位运算表达式 44
3.5.1位逻辑运算符 44
3.5.2移位运算符 45
3.5.3位运算符的优先级 46
3.6赋值运算符和赋值表达式 47
3.6.1赋值运算符 47
3.6.2扩展赋值运算符 47
3.7条件运算符与条件表达式 48
3.8运算符的优先级和复杂表达式 48
3.9表达式语句 50
习题 50
第4章 流程控制 53
4.1概述 53
4.2分支(选择)语句 53
4.2.1条件语句 53
4.2.2多分支语句 56
4.3循环语句 58
4.3.1 while循环 58
4.3.2 do-while循环 59
4.3.3 for循环 60
4.4跳转语句 61
4.4.1 break语句 61
4.4.2 continue语句 63
4.4.3 return语句 63
4.5循环语句与分支语句的嵌套 64
4.6递归 68
习题 69
第5章Java的继承、多态、高级类特性和数组 72
5.1概述 72
5.1.1 Object类 72
5.1.2 Class类 74
5.1.3 String类 76
5.2覆盖方法 80
5.3重载方法 82
5.4高级类特性 84
5.4.1 static关键字 84
5.4.2 final关键字 85
5.4.3枚举类型 85
5.4.4抽象类 87
5.4.5接口 89
5.5内部类 91
5.6数组 92
5.6.1一维数组的创建、初始化和引用 92
5.6.2多维数组的创建、复制和调整大小 94
习题 97
第6章 异常和断言 99
6.1概述 99
6.2异常处理类型 101
6.2.1捕获异常 101
6.2.2声明抛出异常 103
6.2.3自定义异常 104
6.3异常处理编程的提醒 104
6.3.1 try和catch语句 105
6.3.2 finally语句 107
6.3.3异常处理的原则 108
6.4断言 110
6.4.1断言语法 111
6.4.2断言的使用 112
6.4.3什么情况下不要使用断言 113
习题 114
第7章 输入输出及文件操作 117
7.1概述 117
7.1.1计算机中数据的I/O方向 117
7.1.2 Java中的标准输入/输出类 118
7.1.3 Java中包含的输入输出流类 118
7.2文件 123
7.2.1创建文件 123
7.2.2 File类提供的方法 123
7.2.3随机文件流 126
7.2.4压缩文件流 129
7.3字节流 133
7.3.1字节输入流 133
7.3.2字节输出流 133
7.3.3内存的读写 134
7.4字符流 134
7.4.1字符输入流 135
7.4.2字符输出流 135
7.5对象流 138
7.6过滤流 140
7.7管道流 141
7.8不同流的速度比较 142
7.8.1内存映射文件 142
7.8.2文件通道 142
7.8.3 CRC32类 142
7.9输入输出流和正则表达式 145
7.9.1 Pattern类 145
7.9.2 Matcher类 145
7.10 Java I/O流的其他应用 147
习题 148
第8章 线程 150
8.1概述 150
8.1.1什么是线程 150
8.1.2 Java中的线程模型 151
8.2线程的创建 151
8.3线程的调度与控制 154
8.3.1线程优先级与线程调度策略 154
8.3.2线程的基本控制 155
8.4线程同步 158
8.4.1多线程并发操作中的问题 158
8.4.2对象的锁及其操作 160
8.4.3死锁的防治 163
8.4.4线程间的交互:wait()和notify() 163
8.4.5不建议使用的一些方法 167
8.5线程状态与生命周期 167
8.6线程相关的其他类与方法 169
8.6.1支持线程的类 169
8.6.2线程组 169
8.6.3 Thread类的其他方法 170
习题 170
第9章 编写图形用户界面 173
9.1概述 173
9.2用AWT编写图形用户界面 173
9.2.1 java.awt包 173
9.2.2组件、容器和布局管理器 173
9.2.3常用容器 175
9.2.4 LayoutManager(布局管理器) 177
9.3 AWT事件处理模型 184
9.3.1事件类 186
9.3.2事件监听器 187
9.3.3 AWT事件及其相应的监听器接口 189
9.3.4事件适配器 192
9.4 AWT组件库 194
9.4.1基本组件的应用 194
9.4.2组件与监听器的对应关系 202
9.5用Swing编写图形用户界面 203
9.5.1 Swing概述 203
9.5.2 Swing的类层次结构 205
9.5.3 Swing的特性 206
9.6 Swing组件和容器 209
9.6.1组件的分类 209
9.6.2使用Swing的基本规则 210
9.6.3各种容器面板和组件 210
9.6.4布局管理器 226
9.7 Swing的事件处理机制 227
习题 228
第10章Applet程序设计 233
10.1 Applet的基本概念 233
10.1.1 Applet的生命周期 234
10.1.2 Applet的类层次结构 235
10.1.3 Applet类API概述 236
10.2 Applet的编写 239
10.2.1 Applet编写的步骤 239
10.2.2用户Applet类的创建 239
10.2.3在HTML页中包含Applet 240
10.3 Applet中的图形化用户界面GUI 244
10.3.1基于AWT组件的Applet用户界面 244
10.3.2基于Swing的Applet用户界面 246
10.3.3 Applet中的事件处理 249
10.4 Applet的多媒体支持 250
10.4.1显示图像 250
10.4.2动画制作 251
10.4.3播放声音 253
10.5 Applet与工作环境的通信 254
10.5.1同页面Applet之间的通信 255
10.5.2 Applet与浏览器之间的通信 255
10.5.3 Applet的网络通信 256
习题 257
第11章 集合与泛型 259
11.1概述 259
11.2集合框架 259
11.2.1核心接口 259
11.2.2接口的实现类 261
11.2.3接口的运算算法 262
11.2.4接口的方法 262
11.3简单集合类 267
11.3.1Vector 268
11.3.2对象数组 269
11.3.3 HashTable 271
11.4泛型 273
11.4.1泛型的由来 273
11.4.2泛型的特点 277
11.4.3泛型定义 278
11.4.4泛型在使用中的规则、限制和注意事项 279
习题 279
第12章 Java SDK 6.0的下载和操作 282
12.1 Java SDK 6.0的下载与安装 282
12.1.1 Java SDK 6.0的下载 282
12.1.2 Java SDK 6.0的安装 282
12.2 Java SDK 6.0的操作命令 286
12.3 Java编程规范 287
12.3.1 Java编程规范的作用与意义 287
12.3.2 Java命名约定 288
12.3.3 Java注释规则 289
12.3.4 Java源文件结构规则 290
12.3.5 Java源代码排版规则 291
12.3.6编程建议 292
习题 293
第13章 上机指导 294
13.1上机考试系统使用说明 294
13.1.1上机考试环境 294
13.1.2上机考试时间 294
13.1.3上机考试题型及分值 294
13.1.4上机考试登录 294
13.1.5试题内容查阅工具的使用 297
13.1.6考生文件夹和文件的恢复 299
13.1.7文件名的说明 299
13.2上机考试内容 299
13.2.1基本操作 299
13.2.2简单应用 300
13.2.3综合应用 302
习题 303
附录1全国计算机等级考试二级Java语言程序设计考试大纲(2010年版) 307
附录2 2011年3月全国计算机等级考试二级笔试试题及参考答案——Java语言程序设计 309
附录3习题参考答案 316