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