第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.1 Vector 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 考生文件夹和文件的恢复 301
13.1.7 文件名的说明 302
13.2 考试内容 302
13.2.1 基本操作 302
13.2.2 简单应用 303
13.2.3 综合应用 304
附录1 全国计算机等级考试二级Java语言程序设计考试大纲(2013年版) 307
附录2 全国计算机等级考试二级Java语言程序设计样题及参考答案 309
附录3 习题参考答案 317