第1章 Java语言概述 1
1.1 Java的历史 1
1.2 Java程序运行环境与特点 3
1.2.1 跨平台(Cross Platform)/可移植性(Portable) 5
1.2.2 运行效率 5
1.2.3 稳定 6
1.2.4 简单 7
1.2.5 动态 7
1.3 面向对象的基本概念 8
1.3.1 对象 8
1.3.2 面向对象 10
1.3.3 类 10
1.4 面向对象程序设计的原则 11
1.4.1 封装 11
1.4.2 组合 12
1.4.3 继承 12
1.4.4 多态性 13
1.5 第一个Java程序 13
1.5.1 在终端中运行的Java程序 13
1.5.2 在网页中运行的Java程序 15
思考题与习题 16
第2章 定义自己的类 17
2.1 类的定义 17
2.2 名字 17
2.3 类的方法成员 18
2.4 变量 20
2.4.1 基本数据类型 20
2.4.2 方法的本地变量 22
2.4.3 类的成员变量 23
2.5 运算符与表达式 24
2.5.1 赋值表达式 24
2.5.2 算术运算 25
2.5.3 类型转换 27
2.5.4 关系运算和逻辑运算 28
思考题与习题 29
第3章 程序流程 31
3.1 if语句 31
3.1.1 基本if语句 31
3.1.2 if-else语句 33
3.1.3 语句块 34
3.1.4 条件运算符 35
3.1.5 嵌套的if语句 36
3.1.6 比较浮点数和字符 37
3.2 switch语句 38
3.3 循环语句 40
3.3.1 while循环 40
3.3.2 do-while循环 42
3.3.3 for循环 45
3.4 循环嵌套与无穷循环 46
3.5 break和continue 47
3.6 注释语句 49
思考题与习题 50
第4章 使用对象 52
4.1 制造对象 52
4.2 对象变量的赋值 54
4.3 调用对象的方法 55
4.3.1 方法的调用 55
4.3.2 方法的参数 55
4.3.3 方法的返回值 58
4.4 类的静态成员 60
4.4.1 静态成员变量 60
4.4.2 静态方法 62
4.4.3 Math类 62
4.5 包裹类型 66
4.6 枚举类型 66
4.7 数组 68
4.7.1 数组的创建和使用 68
4.7.2 对象数组 71
思考题与习题 73
第5章 初始化与访问控制 74
5.1 定义初始化 74
5.2 构造方法 75
5.3 方法重载 78
5.4 包 83
5.4.1 包的概念 83
5.4.2 创建包 84
5.4.3 使用包 85
5.5 访问控制 87
5.5.1 类成员的访问属性 88
5.5.2 类的访问控制 90
思考题与习题 91
第6章 继承与多态 94
6.1 继承 94
6.1.1 Java的继承 95
6.1.2 继承得到的访问属性 97
6.1.3 初始化和参数传递 98
6.2 多态性 100
6.2.1 覆盖 100
6.2.2 向上类型转换 101
6.2.3 绑定 102
6.3 final 105
6.3.1 final的变量 105
6.3.2 final的方法 107
6.3.3 final的类 107
6.4 抽象与接口 107
6.4.1 抽象方法与抽象类 107
6.4.2 接口:完全抽象的类 110
6.5 内部类与匿名类 114
6.5.1 内部类 114
6.5.2 匿名类 115
思考题与习题 116
第7章 Java类库 119
7.1 Java类库 119
7.1.1 类库的使用 119
7.1.2 常用类库简介 120
7.2 字符串类 121
7.2.1 String类 121
7.2.2 StringBuffer类 125
7.3 基本数据类 128
7.3.1 Integer类 128
7.3.2 Long类 128
7.3.3 Float类 129
7.3.4 Double类 130
7.4 实用工具类 130
7.4.1 日期类 130
7.4.2 Arrays类 133
7.4.3 Random类 134
7.4.4 Vector类 135
7.4.5 System类 138
思考题与习题 139
第8章 Java GUI(Ⅰ) 143
8.1 小应用程序 143
8.1.1 Applet简介 143
8.1.2 HTML语言 146
8.1.3 Applet执行流程 147
8.2 图形界面 150
8.2.1 标签类 151
8.2.2 按钮类 152
8.2.3 文本类 153
8.2.4 列表类 155
8.2.5 复选框类 158
8.3 事件处理 159
8.3.1 事件模型 160
8.3.2 事件及监听者 161
8.3.3 内部类监听者 166
思考题与习题 169
第9章 Java GUI(Ⅱ) 174
9.1 颜色与字体设置 174
9.1.1 颜色类 174
9.1.2 字体类 177
9.2 布局管理 179
9.2.1 顺序布局 180
9.2.2 边界布局 182
9.2.3 网格布局 184
9.2.4 面板Panel类 186
9.3 Swing程序设计 187
9.3.1 Swing简介 188
9.3.2 Swing基本组件 188
9.3.3 事件处理 191
9.4 应用程序GUI 192
9.4.1 窗口 192
9.4.2 菜单 196
9.4.3 对话框 200
思考题与习题 207
第10章 Java的异常处理 212
10.1 异常:无法挽回的局面 212
10.2 异常机制 215
10.2.1 throw抛出 215
10.2.2 catch匹配 217
10.2.3 finally 218
10.3 异常声明 219
10.4 运行时刻系统异常 221
思考题与习题 221
第11章 Java的输入输出 223
11.1 字节流InputStream/OutputStream 224
11.1.1 介质流 226
11.1.2 过滤器流 228
11.2 字符流Reader/Writer 230
11.3 格式化输出 231
11.4 File类 232
11.5 对象串行化 235
思考题与习题 237
第12章 多线程 238
12.1 多线程概述 238
12.1.1 多线程模型 238
12.1.2 Java线程的生命周期 239
12.2 多线程编程 241
12.2.1 Thread类 242
12.2.2 Runnable接口 245
12.3 多线程管理 248
12.3.1 线程调度 248
12.3.2 线程同步 249
思考题与习题 252
第13章 多媒体技术 255
13.1 图形绘制 255
13.1.1 直线 256
13.1.2 矩形 256
13.1.3 椭圆与圆 258
13.1.4 圆弧 259
13.1.5 多边形 260
13.2 图像处理 261
13.2.1 图像显示 261
13.2.2 图像变换 265
13.3 音频播放 267
13.3.1 播放原理 267
13.3.2 Applet程序的声音播放 267
13.3.3 Application程序的声音播放 269
13.4 动画编程 271
思考题与习题 272
参考文献 275