图书目录

第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  标识符、关键字 36

   3.1.1  标识符 36

   3.1.2  关键字 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  巩固所学知识 68

   4.4.1  经典试题分析与解答 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.8.2  习题 84

5.9  小结 84

第6章  类及其继承 85

6.1  对象、类与继承的关系 86

   6.1.1  对象和类 86

   6.1.2  类的层次性 86

   6.1.3  继承及其单根性 87

   6.1.4  修饰符的回顾 88

6.2  类成员存取的访问控制 88

6.3  方法的过载与重写 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  final关键字及其用法 115

   7.2.1  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  内部类 121

   7.6.1  作用域与非静态内部类的访问 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  巩固所学知识 146

   8.7.1  经典试题分析与解答 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  布局管理器 191

   10.4.1  布局管理器的分类 191

   10.4.2  FlowLayout布局管理器 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  巩固所学知识 203

   10.7.1  经典试题分析与解答 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.2  调整事件 215

   11.3.3  焦点事件 215

   11.3.4  鼠标事件 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  FileInputStream和FileOutputStream 286

   14.2.3  ByteArrayInputStream和ByteArrayOutputStream 287

   14.2.4  PipedInputStream和PipedOutputStream 288

   14.2.5  FilterInputStream和FilterOutputStream 290

   14.2.6  BufferedInputSream和BufferedOutputStream 290

   14.2.7  DataInputStream和DataOutputStream 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.3.7  PipedReader和PipedWriter 296

14.4  文件的随机存取 296

14.5  巩固所学知识 297

   14.5.1  经典试题分析与解答 297

   14.5.2  习题 300

14.6  小结 300

附录A  Java模拟试题和答案 301

A1  模拟试题 301

A2  模拟试题答案 316