目录 1
第1章 Java编程起步 1
1.1 什么是Java 1
1.2 Java语言的特点 2
1.3 构造Java的运行环境 4
1.4 构造第一个Java应用程序 8
1.5 Java虚拟机的工作过程 10
1.6 巩固所学知识 11
1.6.1 经典试题分析与解答 11
1.6.2 习题 13
1.7 小结 14
第2章 面向对象编程 15
2.1 面向对象技术 16
2.2 类的声明 16
2.2.1 类 16
2.2.2 声明类 17
2.3 声明属性 18
2.4 声明方法 18
2.5 对象成员的访问 19
2.6 构造器 20
2.7 package和import语句 20
2.8 使用访问修饰符 21
2.9 封装对象 25
2.10 注释语句与API文档使用 25
2.10.1 注释语句 25
2.10.2 API文档的使用 30
2.11 巩固所学知识 30
2.11.1 经典试题分析与解答 30
2.11.2 习题 33
2.12 小结 33
第3章 标识符、关键字和类型 35
3.1.2 关键字 36
3.1.1 标识符 36
3.1 标识符、关键字 36
3.2 基本数据类型和引用数据类型 37
3.2.1 基本数据类型 37
3.2.2 引用数据类型 38
3.3 变量 38
3.3.1 变量的声明与赋值 38
3.3.2 变量的作用域 40
3.3.3 变量的初始化 41
3.4 对象的基本初始化过程 42
3.5 值传递与this关键字 44
3.6 注释、分号、块及空白的处理 45
3.7 巩固所学知识 46
3.7.1 经典试题分析与解答 46
3.7.2 习题 51
3.8 小结 51
第4章 运算符、表达式与流程控制语句 53
4.1 运算符与表达式 54
4.1.1 优先级 54
4.1.2 赋值与强制类型转换 54
4.1.3 算术运算符 55
4.1.4 关系运算符 58
4.1.5 逻辑运算符 58
4.1.6 位运算符 59
4.1.7 移位运算符 60
4.1.8 其他运算符 61
4.2 字符串连接与类型转换 63
4.3 流程控制语句 63
4.3.1 if-else语句 63
4.3.2 switch-case语句 64
4.3.3 do-while循环语句 65
4.3.4 for语句 66
4.3.5 break、continue及标识语句 67
4.4.1 经典试题分析与解答 68
4.4 巩固所学知识 68
4.4.2 习题 73
4.5 小结 74
第5章 数组 75
5.1 数组声明 75
5.2 创建和初始化数组 76
5.2.1 数组的创建 76
5.2.2 数组的初始化 77
5.3 多维数组的声明 77
5.4 为多维数组分配内存空间 78
5.5 数组的访问 79
5.6 实现数组复制 80
5.7 操作数组对象 80
5.8 巩固所学知识 82
5.8.1 经典试题分析与解答 82
5.9 小结 84
5.8.2 题 84
第6章 类及其继承 85
6.1 对象、类与继承的关系 86
6.1.1 对象和类 86
6.1.2 类的层次性 86
6.1.3 继承及其单根性 87
6.2 类成员存取的访问控制 88
6.3 方法的过载与重写 88
6.1.4 修饰符的回顾 88
6.3.1 成员变量的隐藏 89
6.3.2 方法重写 89
6.3.3 方法的过载或重载 90
6.4 多态 91
6.5 异构集合与对象的识别 92
6.6 构造器的过载与继承 94
6.7 Object类介绍、==操作符、toString()方法 96
6.7.1 Object类 96
6.7.2 对象的比较 97
6.7.3 toString()方法 98
6.8 继承类的内存分配与初始化顺序 99
6.9 巩固所学知识 102
6.9.1 经典试题分析与解答 102
6.9.2 习题 110
6.10 小结 110
第7章 高级类特征 112
7.1 static关键字及用法 113
7.2.1 final变量 115
7.2 final关键字及其用法 115
7.2.2 final与static的搭配使用 116
7.2.3 final修饰方法 117
7.2.4 final修饰类 117
7.3 抽象类的使用 117
7.4 接口的使用 118
7.5 synchronized、native、transient、volatile的使用 120
7.6.1 作用域与非静态内部类的访问 121
7.6 内部类 121
7.6.2 静态内部类的访问 126
7.7 固所学知识 128
7.7.1 经典试题分析与解答 128
7.7.2 习题 133
7.8 小结 133
第8章 异常 135
8.1 异常基本概念 135
8.1.1 错误处理 136
8.1.2 错误处理机制 136
8.2 异常的分类与产生原因 138
8.3 处理异常的方法及其原理 138
8.3.1 异常的抛出 139
8.3.2 异常的捕捉与处理机制 141
8.4 常见异常介绍 144
8.5 异常在方法重写中的应用 144
8.6 创建自己的异常 145
8.7.1 经典试题分析与解答 146
8.7 巩固所学知识 146
8.7.2 习题 148
8.8 小结 149
第9章 字符用户界面的应用设计 150
9.1 使用命令行进行程序交互 151
9.1.1 命令行参数的接收 151
9.1.2 使用System类进行字符界面的交互 152
9.2 使用系统属性进行字符界面的交互 153
9.3 System.in对象的读取 155
9.4 文件与字符界面的交互 156
9.4.1 File的几个构造器 156
9.4.2 File对象的常用方法 156
9.5 Math、String、StringBuffer类的应用 159
9.5.1 Math数学类 159
9.5.2 String类 161
9.5.3 StringBuffer类 166
9.6 集合 168
9.6.1 新版集合 169
9.6.2 早期的集合对象 172
9.7 javadoc、jar工具命令 176
9.8 折旧的概念 177
9.9 巩固所学知识 177
9.9.1 经典试题分析与解答 177
9.9.2 习题 183
9.10 小结 183
第10章 图形用户界面设计 184
10.1 GUI与AWT的关系 185
10.2 构成图形用户界面 185
10.3 窗口和面板 186
10.3.1 窗口 186
10.3.2 面板 189
10.3.3 滚动面板 190
10.4.2 FlowLayout布局管理器 191
10.4.1 布局管理器的分类 191
10.4 布局管理器 191
10.4.3 BorderLayout布局管理器 192
10.4.4 CardLayout布局管理器 195
10.4.5 GridLayout布局管理器 196
10.4.6 GridBagLayout布局管理器 197
10.5 使用AWT包绘图 200
10.6 综合应用实例:绘制统计图中的柱状图与折线图 202
10.7.1 经典试题分析与解答 203
10.7 巩固所学知识 203
10.7.2 习题 209
10.8 小结 209
第11章 图形用户界面的事件处理 211
11.1 事件的概念 211
11.2 Java2 SDK事件模型 212
11.3 图形用户界面的行为事件 213
11.3.1 动作事件 214
11.3.4 鼠标事件 215
11.3.2 调整事件 215
11.3.3 焦点事件 215
11.3.5 键盘事件 216
11.3.6 常用组件的事件侦听器 216
11.4 事件授权 218
11.5 使用事件适配器实现事件处理 220
11.6 使用内部类实现事件处理 222
11.7 使用匿名类实现事件处理 223
11.8 巩固所学知识 224
11.8.1 经典试题分析与解答 224
11.8.2 习题 226
11.9 小结 226
第12章 基于图形用户界面的应用编程 227
12.1 菜单 228
12.1.1 菜单的组成 228
12.1.2 制作下拉式菜单 228
12.1.3 制作复选菜单项 231
12.1.4 制作弹出式菜单 233
12.2 复选框 235
12.3 单选框 237
12.4 下拉列表 238
12.5 列表 240
12.6 文本域与文本区域 242
12.7 滚动条 244
12.8 画布 246
12.9 对话框 248
12.10 综合应用实例 251
12.10.1 实例1:扇形统计图的绘制 251
12.10.2 实例2:机械表的设计 252
12.11 巩固所学知识 255
12.11.1 经典试题分析与解答 255
12.11.2 习题 256
12.12 小结 256
第13章 线程 258
13.1 线程的概念 259
13.1.1 进程与线程的概念 259
13.1.2 进程与线程的差别 259
13.1.3 多线程的特点 259
13.1.4 主线程 260
13.2 线程的生命周期 260
13.3 创建线程的两种方法 261
13.3.1 Thread类 261
13.3.2 Runnable接口 262
13.4 线程的优先级及线程调度机制 263
13.5 线程的基本控制 264
13.5.1 退让 265
13.5.2 休眠 266
13.5.3 线程的挂起、恢复和停止 267
13.5.4 联接方法 269
13.6 线程组 270
13.7 线程的同步问题 271
13.8 线程的死锁问题 273
13.9 线程间如何进行交互 273
13.10 生产消费模型的设计 276
13.11 线程的其他控制方法 278
13.12 巩固所学知识 279
13.12.1 经典试题分析与解答 279
13.12.2 习题 282
13.13 小结 282
第14章 高级输入输出流 284
14.1 输入输出基础 284
14.2 字节流 285
14.2.1 InputStream和OutputStream 285
14.2.2 FilelnputStream和FileOutputStream 286
14.2.3 ByteArrayInputStream和ByteArrayOutputStream 287
14.2.4 PipedInputStream和PipedOutputStream 288
14.2.7 DataInputStream和DataOutputStream 290
14.2.6 BufferedInputSream和BufferedOutputStream 290
14.2.5 FilterInputStream和FilterOutputStream 290
14.3 字符流 292
14.3.1 Reader和Writer 293
14.3.2 InputStreamReader和OutputStreamWriter 293
14.3.3 FileReader和FileWriter 294
14.3.4 BufferedReader和BufferedWriter 294
14.3.5 PrintWriter 295
14.3.6 StringReader和StringWriter 295
14.4 文件的随机存取 296
14.3.7 PipedReader和PipedWriter 296
14.5 巩固所学知识 297
14.5.1 经典试题分析与解答 297
14.5.2 习题 300
14.6 小结 300
附录A Java模拟试题和答案 301
A1 模拟试题 301
A2 模拟试题答案 316