目 录
第1章 Java语言简介 1
1.1 Java语言的发展 1
1.2 Java语言的特点 2
1.2.1 简单性 2
1.2.2 面向对象 2
1.2.3 分布性 3
1.2.4 解释执行 3
1.2.5 健壮性 4
1.2.6 安全性 4
1.2.7 结构中立 4
1.2.8 可移植性 5
1.2.9 高效性 5
1.2.10 多线程 5
1.2.11 动态性 5
1.3 Java类库的概念 6
1.4 网络浏览器 7
1.5 Java开发工具 7
1.5.1 Java开发工具j2sdk 7
1.5.2 Java开发工具Visual J++ 8
1.6 Java程序分类 8
1.6.1 使用NetBeans运行Java应用程序 9
1.6.2 使用NetBeans运行Java小程序 9
1.6.3 使用VJ++运行Java应用程序 10
1.6.4 使用VJ++运行Java小程序 11
1.7 对Java程序的解释 11
1.7.1 程序注释方法 11
1.7.2 对Java应用程序的解释 12
1.7.3 对Java小程序的解释 13
1.7.4 对HTML文件的解释 13
1.8 编写Java程序的风格要求 14
1.9 本章小结 14
1.10 思考和练习 15
第2章 数据类型、运算符和表达式 16
2.1 常量 16
2.2 变量 17
2.2.1 整型变量 18
2.2.2 字符型变量 20
2.2.3 浮点型变量 20
2.2.4 布尔型变量 21
2.2.5 对原子类型变量生存空间的讨论 21
2.3 变量赋值问题 22
2.4 数组 23
2.4.1 一维数组 23
2.4.2 二维数组 25
2.5 Java中的参数传递方式 26
2.6 Java的运算符 28
2.6.1 算术运算符 28
2.6.2 关系运算符 29
2.6.3 逻辑运算符 30
2.6.4 位运算符 31
2.6.5 三元条件运算符 32
2.6.6 “+”运算符 32
2.7 本章小结 33
2.8 思考和练习 33
第3章 控制语句 35
3.1 分支语句 35
3.1.1 if语句 35
3.1.2 switch语句 38
3.2 循环控制语句 41
3.2.1 while语句 41
3.2.2 do-while语句 42
3.2.3 for语句 43
3.3 break语句和continue语句 44
3.3.1 不带标号的break语句和continue语句 44
3.3.2 带标号的break语句和continue语句 44
3.4 本章小结 46
3.5 思考和练习 47
第4章 Java的类 48
4.1 类与对象 48
4.1.1 类与对象的区别 48
4.1.2 Java和C编程思想的区别 49
4.1.3 如何定义类 49
4.1.4 对象和引用 50
4.2 方法 52
4.3 实例变量和局部变量 53
4.4 构造函数 55
4.5 方法重载 57
4.6 关键字this 58
4.6.1 指代对象 59
4.6.2 指代构造函数 61
4.7 继承 62
4.7.1 继承的概念 62
4.7.2 关键字super 64
4.7.3 再论构造函数 65
4.8 方法的覆盖 67
4.8.1 覆盖与重载的区别 67
4.8.2 方法的动态调用 69
4.9 一个令人迷惑的问题:多态性不适合于继承链中的实例变量 71
4.10 finalize 72
4.11 static 74
4.11.1 static变量 74
4.11.2 static方法 76
4.12 关键字final 77
4.12.1 final数据 77
4.12.2 final方法 78
4.12.3 final类 79
4.13 组合与继承 79
4.14 抽象类和抽象方法 81
4.15 对象的类型转换 84
4.15.1 向上类型转换 84
4.15.2 向下类型转换 85
4.16 访问权限限制 86
4.16.1 友元 86
4.16.2 public 成员 87
4.16.3 private成员 87
4.16.4 protected成员 88
4.17 本章小结 89
4.18 思考和练习 90
第5章 接口和包 91
5.1 接口 91
5.1.1 接口的定义和应用 91
5.1.2 接口和抽象类的异同点 97
5.2 包 97
5.2.1 package语句 97
5.2.2 import语句 98
5.2.3 包应用举例 99
5.3 本章小结 101
5.4 思考和练习 102
第6章 字符串处理 103
6.1 字符串的分类 103
6.2 String类 103
6.2.1 字符串常量 104
6.2.2 创建String类对象 105
6.2.3 String类的常用方法 108
6.2.4 Java应用程序的命令行参数 115
6.3 StringBuffer类 115
6.3.1 创建StringBuffer类对象 116
6.3.2 StringBuffer类的常用方法 116
6.3.3 String类中“+”操作的技术内幕 121
6.4 应用举例 122
6.5 本章小结 125
6.6 思考和练习 125
第7章 异常处理 127
7.1 异常的层次结构 127
7.2 异常处理语句 129
7.2.1 try和catch语句 130
7.2.2 finally语句 132
7.2.3 throw语句 133
7.2.4 throws语句 134
7.3 自定义异常类 137
7.4 异常处理常用调试方法 138
7.5 本章小结 140
7.6 思考和练习 140
第8章 输入与输出处理 141
8.1 流的层次结构 141
8.2 File类 142
8.3 InputStream类和OutputStream类 144
8.3.1 InputStream类的常用方法 144
8.3.2 OutputStream类的常用方法 144
8.3.3 FileInputStream类 145
8.3.4 FileOutputStream类 147
8.3.5 DataInputStream和DataOutputStream类 148
8.4 RandomAccessFile类 149
8.5 对象流和对象序列化 154
8.5.1 对象流的概念 154
8.5.2 对象序列化 155
8.6 IOException类 158
8.7 本章小结 158
8.8 思考和练习 159
第9章 多线程 160
9.1 Java中的多线程的基本概念 160
9.2 线程类 161
9.2.1 多线程编程中常用的常量和方法 161
9.2.2 线程的生命周期 162
9.2.3 创建多线程的方法 163
9.3 资源的协调与同步 167
9.3.1 线程调度模型 167
9.3.2 资源冲突 168
9.3.3 同步方法 169
9.4 线程间通信 171
9.4.1 通过封装共享变量实现线程通信 171
9.4.2 通过系统方法实现线程通信 173
9.5 本章小结 176
9.6 思考和练习 176
第10章 小程序 177
10.1 小程序的基本知识 177
10.1.1 小程序与应用程序的区别 177
10.1.2 小程序标签的语法格式 178
10.2 小程序的生命周期 179
10.3 小程序常用方法 183
10.3.1 常用的输出方法 183
10.3.2 输出中的颜色控制 185
10.4 常用组件 187
10.4.1 组件和容器的关系 187
10.4.2 按钮 188
10.4.3 标签 190
10.4.4 文本框 191
10.4.5 文本域 192
10.4.6 选择框 194
10.4.7 下拉列表 197
10.4.8 列表 198
10.5 本章小结 201
10.6 思考和练习 201
第11章 GUI布局管理器 202
11.1 Swing常用容器 202
11.1.1 框架 202
11.1.2 面板 204
11.2 布局管理器 206
11.2.1 FlowLayout布局 206
11.2.2 BorderLayout布局 208
11.2.3 GridLayout布局 211
11.2.4 CardLayout布局 213
11.3 本章小结 217
11.4 思考和练习 217
第12章 事件处理 219
12.1 委托事件处理模型 219
12.2 组件事件处理 220
12.2.1 JButton事件处理 220
12.2.2 JTextField和JPasswordField事件处理 222
12.2.3 JCheckBox和JRadioButton事件处理 224
12.2.4 JComboBox事件处理 228
12.2.5 JList事件处理 230
12.3 鼠标事件处理 232
12.4 Adapter类 236
12.5 键盘事件处理 237
12.6 事件处理综合应用举例 240
12.6.1 舞动的字符 240
12.6.2 播放声音剪辑 243
12.6.3 网络浏览器 245
12.7 本章小结 247
12.8 思考和练习 248
参考文献 249