目    录
第1章  概述	1
1.1  什么是Java语言	1
         1.1.1  Java语言的特点	1
         1.1.2  Java的三层架构	3
         1.1.3  Java语言的目标	4
         1.1.4  Java虚拟机	4
         1.1.5  垃圾收集	5
         1.1.6  代码安全	5
1.2  一个基本的Java应用程序	8
         1.2.1  开发环境的安装	8
         1.2.2  Java应用程序	11
1.3  程序的编译和运行	13
         1.3.1  编译	13
         1.3.2  运行	14
1.4  常见错误	14
         1.4.1  编译时错误	14
         1.4.2  运行时错误	15
1.5  使用Java核心API文档	17
习题	19
第2章  标识符和数据类型	20
2.1  Java的基本语法单位	20
         2.1.1  空白、注释及语句	20
         2.1.2  关键字	22
         2.1.3  标识符	22
2.2  Java编码体例	23
2.3  Java的基本数据类型	24
         2.3.1  基本数据类型	24
         2.3.2  类型转换	27
         2.3.3  变量、说明和赋值	27
2.4  复合数据类型	29
         2.4.1  概述	29
         2.4.2  复合数据类型	29
2.5  类和对象的初步介绍	30
         2.5.1  Java中的面向对象技术	30
         2.5.2  Java中的类定义	32
         2.5.3  Java中与OOP有关的关键字	33
         2.5.4  类定义示例	35
         2.5.5  创建一个对象	38
         2.5.6  引用变量的赋值	40
         2.5.7  默认初始化和null引用值	41
         2.5.8  术语概述	41
习题	42
第3章  表达式和流程控制语句	44
3.1  表达式	44
         3.1.1  操作数	44
         3.1.2  运算符	48
         3.1.3  表达式的提升和转换	52
         3.1.4  数学函数	52
3.2  流控制	53
         3.2.1  表达式语句	53
         3.2.2  块	54
         3.2.3  分支语句	54
         3.2.4  循环语句	59
         3.2.5  break语句与continue语句	62
         3.2.6  注释语句	64
3.3  简单的输入输出	64
习题	67
第4章  数组、向量和字符串	70
4.1  数组	70
         4.1.1  数组说明	70
         4.1.2  创建数组	71
         4.1.3  数组边界	74
         4.1.4  数组元素的引用	74
         4.1.5  多维数组	75
         4.1.6  数组复制	80
4.2  Vector类	81
         4.2.1  概述	81
         4.2.2  Vector类的构造方法	82
         4.2.3  Vector类对象的操作	82
         4.2.4  Vector类中的其他方法	84
         4.2.5  Vector类的使用举例	84
4.3  字符串类型	86
         4.3.1  字符串简述	86
         4.3.2  字符串说明及初始化	86
         4.3.3  字符串处理	87
         4.3.4  几个特殊处理	88
习题	90
第5章  进一步讨论对象和类	93
5.1  抽象数据类型	93
         5.1.1  概述	93
         5.1.2  定义方法	94
         5.1.3  按值传送	97
         5.1.4  方法重载	98
5.2  对象的构造和初始化	99
         5.2.1  显式成员初始化	100
         5.2.2  构造方法	100
         5.2.3  默认的构造方法	101
         5.2.4  构造方法重载	102
         5.2.5  finalize()方法	103
         5.2.6  this引用	103
5.3  子类	104
         5.3.1  is-a关系	105
         5.3.2  extends关键字	105
         5.3.3  单重继承	106
         5.3.4  转换对象	108
         5.3.5  方法自变量和异类集合	110
5.4  方法重写	111
         5.4.1  方法重写示例	111
         5.4.2  应用重写的规则	115
         5.4.3  调用父类构造方法	116
5.5  多态	117
5.6  Java包	118
         5.6.1  Java包的概念	119
         5.6.2  import语句	119
         5.6.3  目录层次关系及CLASSPATH环境变量	121
         5.6.4  访问权限与数据隐藏	122
         5.6.5  封装	123
5.7  类成员	124
         5.7.1  类变量	124
         5.7.2  类方法	126
5.8  final关键字	128
         5.8.1  终极类	128
         5.8.2  终极方法	129
         5.8.3  终极变量	130
5.9  抽象类	131
5.10  接口	133
         5.10.1  接口的定义	133
         5.10.2  接口的实现	134
5.11  内部类	137
         5.11.1  内部类的概念	137
         5.11.2  匿名类	139
         5.11.3  内部类的工作方式	140
5.12  包装类	141
习题	142
第6章  Java语言中的异常	145
6.1  异常	145
         6.1.1  引出异常	145
         6.1.2  异常的概念	147
         6.1.3  异常分类	148
6.2  异常处理	149
         6.2.1  try-catch块	150
         6.2.2  再讨论前面的示例	152
         6.2.3  公共异常	153
6.3  抛出异常	154
6.4  创建自己的异常	155
习题	157
第7章  Java语言的高级特性	158
7.1  泛型	158
         7.1.1  泛型数据类型	158
         7.1.2  接口中的泛型	158
         7.1.3  泛型类	159
         7.1.4  泛型方法	161
7.2  迭代器	162
         7.2.1  迭代器的基本概念	162
         7.2.2  Iterator接口	162
         7.2.3  Iterable接口	164
         7.2.4  使用迭代器示例	164
         7.2.5  Iterable和for-each循环	167
7.3  克隆	168
习题	176
第8章  Java的图形用户界面设计	178
8.1  AWT与Swing	178
8.2  容器	179
         8.2.1  顶层容器	179
         8.2.2  使用JFrame创建应用程序	180
         8.2.3  内容窗格	181
         8.2.4  面板	182
8.3  布局	183
         8.3.1  一个简单的示例	183
         8.3.2  FlowLayout布局管理器	185
         8.3.3  BorderLayout布局管理器	186
         8.3.4  GridLayout布局管理器	188
         8.3.5  CardLayout布局管理器	190
         8.3.6  BoxLayout布局管理器	192
         8.3.7  其他布局管理器	197
8.4  事件处理	198
         8.4.1  事件处理模型	198
         8.4.2  事件的种类	200
         8.4.3  一个较复杂的示例	202
         8.4.4  多监听程序	204
         8.4.5  事件适配器	205
习题	206
第9章  Swing组件	208
9.1  按钮	208
         9.1.1  普通按钮	208
         9.1.2  切换按钮、复选框及单选按钮	212
9.2  标签	218
9.3  组合框	221
9.4  列表	223
9.5  文本组件	229
         9.5.1  文本域	229
         9.5.2  文本区	234
9.6  菜单组件	236
         9.6.1  菜单栏	237
         9.6.2  菜单	237
         9.6.3  菜单项	238
         9.6.4  复选菜单项和单选菜单项	239
         9.6.5  弹出式菜单	242
9.7  对话框、标准对话框与文件对话框	245
         9.7.1  对话框	245
         9.7.2  标准对话框	246
         9.7.3  文件对话框	250
9.8  控制组件外观	253
         9.8.1  颜色	253
         9.8.2  字体	254
         9.8.3  绘图	256
习题	260
第10章  Java Applet	261
10.1  编写Applet	263
10.2  Applet的方法和Applet的生命周期	265
10.3  Applet的运行	266
     10.3.1  用于显示Applet的方法	266
     10.3.2  appletviewer	268
     10.3.3  HTML与<applet>标记	268
     10.3.4  Applet参数的读取	270
     10.3.5  Applet与URL	271
10.4  Applet中的多媒体处理	272
     10.4.1  在Applet中显示图像	272
     10.4.2  在Applet中播放声音	273
10.5  Applet的事件处理	275
10.6  Applet与普通应用程序的结合	276
习题	278
第11章  Java数据流	279
11.1  数据流的基本概念	279
     11.1.1  输入数据流	280
     11.1.2  输出数据流	281
11.2  基本字节数据流类	282
     11.2.1  文件数据流	282
     11.2.2  过滤流	284
     11.2.3  管道数据流	285
     11.2.4  对象流	287
     11.2.5  可持久化	288
11.3  基本字符流	291
     11.3.1  读者和写者	291
     11.3.2  缓冲区读者和缓冲区写者	292
11.4  文件的处理	296
     11.4.1  File类	296
     11.4.2  随机访问文件	299
习题	299
第12章  线程	301
12.1  线程和多线程	301
     12.1.1  线程的概念	301
     12.1.2  线程的结构	302
12.2  线程的状态	303
12.3  线程的创建	304
     12.3.1  创建线程的方法一——继承Thread类	305
     12.3.2  创建线程的方法二——实现Runnable接口	307
     12.3.3  关于两种创建线程方法的讨论	309
12.4  线程的启动	310
12.5  线程的调度	310
12.6  线程的基本控制	312
     12.6.1  结束线程	312
     12.6.2  检查线程	312
     12.6.3  挂起线程	312
12.7  同步问题	313
     12.7.1  线程间的通信	313
     12.7.2  线程间的资源互斥共享	315
     12.7.3  对象的锁定标志	317
     12.7.4  同步方法	318
12.8  死锁	319
12.9  线程交互——wait()和notify()	321
     12.9.1  问题的提出	321
     12.9.2  解决方法	322
     12.9.3  守护线程	323
     12.9.4  综合应用	324
习题	329
第13章  Java的网络功能	330
13.1  概述	330
13.2  使用InetAddress	332
13.3  统一资源定位器	333
     13.3.1  URL的概念	333
     13.3.2  URL的构造方法	334
     13.3.3  与URL相关的异常	335
     13.3.4  获取URL对象属性	335
     13.3.5  读入URL数据	336
13.4  Socket接口	339
     13.4.1  Socket的基本概念	340
     13.4.2  Socket通信的基本步骤	341
     13.4.3  Socket通信的程序设计	342
13.5  Java编程综合实例	344
习题	351
参考文献	352
  

  


·X·

·III·