第1章 Java概述 1
1.1 Java产生的背景 1
1.2 Java语言的特点 2
1.2.1 简单性 2
1.2.2 面向对象 2
1.2.3 平台无关性 2
1.2.4 分布式 2
1.2.5 安全性 2
1.2.6 健壮性 3
1.2.7 多线程 3
1.2.8 解释性和高性能 3
1.3 Java 2 SDK版本 3
1.3.1 Java ME 3
1.3.2 Java SE 3
1.3.3 Java EE 3
1.4 Java开发环境 4
1.4.1 Java SE的下载与安装 4
1.4.2 Java环境变量的设置 5
1.4.3 Java的集成开发环境 7
1.5 Java开发工具 8
1.5.1 Applet浏览器appletviewer 8
1.5.2 Java编译器javac 8
1.5.3 Java解释器java 9
1.5.4 Java文档生成器javadoc 9
1.5.5 Java打包工具jar 10
1.5.6 Java类分解器javap 10
1.6 Java虚拟机 10
1.6.1 Java虚拟机JVM 11
1.6.2 Java虚拟机工作原理 11
1.7 两个简单的Java程序——HelloWorld 12
1.7.1 Java应用程序Application——HelloWorld 12
1.7.2 Java小应用程序Applet——HelloWorld 14
1.8 小结 15
习题 16
第2章 Java编程基础 17
2.1 注释规则 17
2.2 标识符和关键字 18
2.2.1 标识符 18
2.2.2 关键字 18
2.3 变量和常量 19
2.3.1 变量 19
2.3.2 常量 19
2.4 基本数据类型 20
2.4.1 整数类型 20
2.4.2 浮点类型 21
2.4.3 字符类型 21
2.4.4 逻辑类型 22
2.5 数据类型之间的转换 23
2.5.1 自动类型转换 23
2.5.2 强制类型转换 23
2.6 Java中的运算符 24
2.6.1 算术运算符 24
2.6.2 关系运算符 25
2.6.3 逻辑运算符 26
2.6.4 位运算符 26
2.6.5 移位运算符 27
2.6.6 赋值运算符 28
2.6.7 其他运算符 28
2.7 运算符的优先级 29
2.8 Java语言的编码规范 29
2.8.1 语法规范 30
2.8.2 代码编写规范 30
2.9 小结 31
习题 31
第3章 程序控制语句 32
3.1 条件语句 32
3.1.1 if语句 32
3.1.2 switch语句 35
3.2 循环语句 37
3.2.1 for循环结构 37
3.2.2 while循环结构 38
3.2.3 do-while循环结构 39
3.3 关键字break和continue 41
3.3.1 break语句 41
3.3.2 continue语句 42
3.4 小结 43
习题 43
第4章 数组 45
4.1 一维数组 45
4.1.1 一维数组的定义和创建 45
4.1.2 数组元素的使用 46
4.1.3 数组的初始化 47
4.1.4 一维数组的使用 47
4.1.5 数组元素的默认值 48
4.2 多维数组 49
4.2.1 二维数组的定义和创建 49
4.2.2 二维数组初始化 50
4.2.3 二维数组的使用 51
4.3 数组的操作 52
4.3.1 数组的长度 52
4.3.2 数组的复制 53
4.4 数组的排序 55
4.5 小结 56
习题 56
第5章 字符串 57
5.1 字符串初始化 57
5.1.1 用赋值运算符生成字符串 57
5.1.2 用构造方法生成字符串 57
5.2 String类的应用 59
5.2.1 求字符串的长度 60
5.2.2 字符串比较 60
5.2.3 字符串连接 61
5.2.4 字符串截取 61
5.3 StringBuffer类介绍 61
5.3.1 创建StringBuffer对象 62
5.3.2 StringBuffer对象的添加和插入操作 62
5.3.3 StringBuffer和String之间的转换 64
5.3.4 取字符和删除字符 64
5.3.5 替换缓冲区中的字符串 66
5.3.6 StringBuffer的其他操作 66
5.4 StringTokenizer类的应用 68
5.5 字符串与其他类型数据的转换 70
5.5.1 其他对象转换为字符串 70
5.5.2 字符串转换为其他对象 71
5.6 小结 72
习题 72
第6章 面向对象程序设计 73
6.1 面向对象的基本概念 73
6.1.1 面向过程的程序设计和面向对象的程序设计 73
6.1.2 对象和封装 73
6.1.3 类和实例 74
6.2 类 75
6.2.1 类的定义 75
6.2.2 成员变量和局部变量 76
6.2.3 成员方法 78
6.2.4 构造方法 80
6.2.5 main()方法 80
6.2.6 类对象的创建、使用和清除 81
6.2.7 方法中参数的传递 84
6.3 包 87
6.3.1 为什么使用包 87
6.3.2 包的定义 88
6.3.3 运行包中的类 88
6.3.4 引入包中的类 89
6.4 类中变量和方法的访问权限 89
6.4.1 公有类型变量和方法 90
6.4.2 受保护类型变量和方法 91
6.4.3 私有类型变量和方法 92
6.4.4 友好类型变量和方法 93
6.5 类的继承 94
6.5.1 继承的概念 94
6.5.2 继承的实现——创建子类 95
6.5.3 继承成员变量和方法 96
6.5.4 覆盖 97
6.5.5 继承中注意的问题 99
6.6 类的多态性 100
6.7 抽象类 101
6.7.1 理解抽象类 101
6.7.2 抽象类的定义 101
6.7.3 抽象类的应用 102
6.8 接口 104
6.8.1 接口的定义 104
6.8.2 接口的使用 105
6.8.3 接口的继承 106
6.9 内部类 107
6.9.1 静态类(static class) 107
6.9.2 成员类(member class) 107
6.9.3 局部类(local class) 108
6.9.4 匿名类(anonymous class) 109
6.10 和类相关的其他关键字和修饰符 110
6.10.1 final修饰符 110
6.10.2 static修饰符 111
6.10.3 this关键字 114
6.10.4 super关键字 114
6.11 小结 115
习题 115
第7章 异常处理 117
7.1 异常和Java异常 117
7.2 Java异常类 118
7.3 Java异常处理 118
7.3.1 声明异常 119
7.3.2 异常捕获 119
7.3.3 try-catch-finally语句应用 120
7.3.4 多个异常的处理 121
7.4 Java自定义异常 123
7.4.1 定义自己的异常类 123
7.4.2 抛出自定义的异常 123
7.5 小结 124
习题 124
第8章 Java常用系统类 126
8.1 Java类库结构 126
8.2 Vector向量类 126
8.3 Stack堆栈和Hashtable(哈希表)类 128
8.4 时间和日期类 131
8.5 随机数类 132
8.6 数学函数类 133
8.7 Enumeration枚举和Map映射接口类 133
8.7.1 Enumeration枚举 134
8.7.2 Map映射接口类 135
8.8 Properties属性类 136
8.9 小结 138
习题 138
第9章 多线程 141
9.1 线程的概念 141
9.2 线程的创建 142
9.2.1 继承Thread类创建线程 142
9.2.2 通过实现Runnable接口创建线程 144
9.3 线程的属性 144
9.3.1 线程体 144
9.3.2 线程状态 145
9.3.3 线程死锁 146
9.3.4 线程调度 146
9.3.5 守护线程 147
9.3.6 线程组 148
9.4 线程优先级 148
9.5 线程同步 149
9.6 多线程应用举例 151
9.7 小结 153
习题 153
第10章 输入输出处理 157
10.1 流的概念 157
10.2 Java中输入/输出处理类的构造层次 157
10.3 标准输入/输出流 158
10.3.1 从键盘获取数据 158
10.3.2 向命令行写 159
10.3.3 printf()方法 159
10.4 字节输入流和输出流 161
10.5 过滤器流 164
10.6 Readers和Writers流 165
10.7 文件操作 167
10.7.1 File类和RandomAccessFile类 167
10.7.2 顺序文件的读写 169
10.7.3 随机文件的读写 169
10.8 小结 170
习题 170
第11章 Java图形用户界面 172
11.1 AWT概述 172
11.1.1 AWT组件分类 172
11.1.2 AWT组件的类层次 173
11.2 常用AWT组件 173
11.2.1 标签组件 173
11.2.2 按钮组件 174
11.2.3 复选框组件 175
11.2.4 文本框组件 176
11.2.5 列表组件 177
11.2.6 菜单组件 178
11.3 AWT容器组件 180
11.3.1 画布组件 180
11.3.2 面板组件 181
11.3.3 框架组件 182
11.3.4 窗口组件 182
11.3.5 对话框组件 183
11.3.6 文件对话框组件 184
11.4 布局管理器 184
11.4.1 FlowLayout布局管理器 184
11.4.2 BorderLayout布局管理器 186
11.4.3 CardLayout布局管理器 187
11.4.4 GridLayout布局管理器 188
11.4.5 null布局管理器 189
11.4.6 GridBagLayout布局管理器 190
11.5 AWT事件处理 193
11.5.1 事件处理模型 193
11.5.2 事件注册、监听和处理 193
11.5.3 键盘事件 194
11.5.4 鼠标事件 196
11.5.5 窗口事件 196
11.6 Swing组件 197
11.7 小结 198
习题 199
第12章 Java小应用程序Applet 200
12.1 Applet和Application 200
12.1.1 Java Applet和JavaApplication的概念 200
12.1.2 Java Applet和JavaApplication的区别 200
12.2 Applet的安全性 201
12.3 Applet类 201
12.3.1 Java Applet的执行过程 201
12.3.2 Applet的创建 201
12.3.3 Applet的生命周期 202
12.3.4 Applet程序例子 203
12.4 HTML和Applet 204
12.4.1 HTML超文本标记语言 204
12.4.2 HTML中嵌入Applet 204
12.4.3 Applet标识应用举例 205
12.5 Applet应用 207
12.5.1 标识网络上的资源 207
12.5.2 显示图像 207
12.5.3 加载声音文件 209
12.6 小结 209
习题 210
第13章 Java图形编程 211
13.1 Font类 211
13.2 Color类 213
13.3 几何图形的绘制 214
13.3.1 Graphics类 214
13.3.2 绘制直线 214
13.3.3 绘制矩形 215
13.3.4 绘制椭圆 216
13.3.5 绘制圆弧 216
13.3.6 绘制多边形 217
13.3.7 文本控制 219
13.4 小结 220
习题 220
第14章 Java多媒体处理 221
14.1 图像 221
14.1.1 图像分类 221
14.1.2 Java与图像 221
14.1.3 图像的显示 222
14.1.4 图像的缩放显示 223
14.2 动画处理 224
14.2.1 动画技术的原理 224
14.2.2 动画技巧和处理 224
14.2.3 用线程实现动画 227
14.3 声音处理 228
14.3.1 声音文件种类 228
14.3.2 Java声音引擎 229
14.3.3 播放音频 229
14.4 小结 231
习题 231
第15章 Java网络技术 232
15.1 网络相关知识 232
15.1.1 IP地址 232
15.1.2 端口 232
15.1.3 客户机和服务器 233
15.1.4 面向连接和非连接 233
15.1.5 协议 233
15.2 URL 234
15.2.1 URL构成 234
15.2.2 URL类 234
15.3 InetAddress类 237
15.4 基于TCP协议的Socket通信 238
15.4.1 理解Socket 238
15.4.2 Socket和ServerSocket 239
15.4.3 Java网络通信模型 240
15.4.4 一个基于TCP的C/S程序举例 241
15.5 基于UDP协议的Socket通信 243
15.5.1 DatagramSocket类和DatagramPacket类 243
15.5.2 一个基于UDP的C/S程序举例 244
15.6 支持多客户连接的Socket通信方式 246
15.6.1 支持多客户连接的Socket通信模型 246
15.6.2 创建服务器线程 247
15.6.3 服务器主程序 248
15.6.4 客户机程序 249
15.7 小结 250
习题 251
第16章 Java数据库技术 252
16.1 数据库基础知识 252
16.1.1 数据库基本概念 252
16.1.2 关系数据库 253
16.2 SQL语言 254
16.3 JDBC概述 256
16.3.1 ODBC技术 256
16.3.2 JDBC技术 257
16.4 利用JDBC访问数据库的方式 257
16.5 编写简单的JDBC程序 259
16.6 PreparedStatement 262
16.7 JDBC的批量数据操作 263
16.8 存储过程和CallableStatement类 264
16.8.1 存储过程 265
16.8.2 CallableStatement 265
16.8.3 CallableStatement综合应用 266
16.9 小结 268
习题 268