第1章 Java概述 1
1.1 Java语言简介 1
1.1.1 Java的发展 1
1.1.2 选择Java的原因 4
1.1.3 Java的实现机制 5
1.2 Java的体系结构 6
1.2.1 Java运行环境JDK的目录结构 6
1.2.2 Java的API结构 6
1.2.3 Java程序基本结构 11
1.2.4 Java程序编写及运行过程 11
1.3 Java语言开发工具 15
1.3.1 Sun JDK软件包 15
1.3.2 Eclipse简介 19
1.3.3 NetBeans简介 21
本章小结 21
习题 21
第2章 Java编程基础 23
2.1 数据类型 23
2.2 常量、变量与表达式 24
2.2.1 常量 24
2.2.2 变量 26
2.2.3 数值类型之间的转换 26
2.2.4 表达式与运算符 28
2.2.5 运算符的优先级 31
2.3 数组 31
2.3.1 一维数组的声明 31
2.3.2 一维数组的创建与赋值 32
2.3.3 多维数组 33
2.4 流程控制语句 34
2.4.1 分支语句 35
2.4.2 循环语句 37
2.4.3 特殊的控制流语句 40
本章小结 42
习题 43
第3章 Java面向对象程序设计 44
3.1 面向对象程序设计基础 44
3.1.1 面向对象概述 44
3.1.2 面向对象的基本概念 45
3.1.3 面向对象程序设计方法的优点 47
3.2 类与对象 48
3.2.1 类的声明和类主体 48
3.2.2 创建对象与构造方法 50
3.3 成员变量和成员方法的定义与实现 53
3.3.1 成员变量的声明 53
3.3.2 成员方法的定义与实现 54
3.3.3 类的封装 56
3.3.4 实例成员和类成员 59
3.4 类的继承与多态 61
3.4.1 类的继承 61
3.4.2 类的多态 68
3.4.3 最终类和抽象类 70
3.5 包 71
3.5.1 包的概念 71
3.5.2 引用Java定义的包 71
3.5.3 自定义包 73
3.6 接口和内部类 80
3.6.1 接口 80
3.6.2 内部类 84
本章小结 91
习题 92
第4章 异常 93
4.1 异常概述 93
4.1.1 异常及其发生的原因 93
4.1.2 异常处理机制 95
4.2 异常的分类 95
4.2.1 异常的层次结构 95
4.2.2 Java定义的标准异常类 96
4.3 异常的处理 97
4.3.1 捕获异常 97
4.3.2 抛出异常 104
4.3.3 throws关键字的使用 105
4.4 自定义异常 107
本章小结 109
习题 109
第5章 图形用户界面设计与事件处理 111
5.1 图形界面组件 111
5.1.1 JFC简介 111
5.1.2 AWT 112
5.1.3 Swing组件 121
5.2 布局管理器 127
5.2.1 顺序布局管理器 127
5.2.2 网格布局管理器 128
5.2.3 网格包布局管理器 129
5.2.4 边界布局管理器 131
5.2.5 卡片布局管理器 133
5.2.6 空布局管理器和setBounds方法 135
5.3 事件处理 136
5.3.1 Java的事件处理机制 136
5.3.2 AWT事件结构 138
5.3.3 Swing事件结构 142
5.3.4 事件适配器 142
5.3.5 事件处理实例 143
本章小结 145
习题 145
第6章 多线程 147
6.1 基本概念 147
6.1.1 多线程 147
6.1.2 线程的生命周期 149
6.1.3 线程的调度与优先级 150
6.2 创建线程 151
6.2.1 用Thread类建立多线程 151
6.2.2 用Runnable接口建立线程 154
6.3 线程的控制 155
6.3.1 停止线程运行 156
6.3.2 线程睡眠 157
6.3.3 暂停线程运行 159
6.3.4 连接线程 159
6.3.5 中断线程 161
6.4 线程同步与锁 161
6.4.1 对共享数据的同步控制 161
6.4.2 线程间通信 167
本章小结 170
习题 170
第7章 Applet与多媒体编程 172
7.1 Applet类 172
7.1.1 Applet简介 172
7.1.2 Applet的生命周期 173
7.1.3 Applet的创建与运行 174
7.1.4 HTML与〈Applet〉标记 174
7.1.5 HTML与Applet的参数传递 176
7.1.6 Applet与普通应用程序的合并运行 177
7.1.7 使用Java存档文件 179
7.1.8 Java插件 180
7.2 图形处理 181
7.2.1 基本图形 182
7.2.2 画布 183
7.2.3 文字输出 187
7.2.4 颜色控制 189
7.3 图像处理 190
7.3.1 装载和显示图像 190
7.3.2 动态显示图像 191
7.4 动画处理 192
7.4.1 动画原理 192
7.4.2 图形双缓冲技术 195
7.5 声音处理 197
本章小结 198
习题 199
第8章 Java输入/输出处理 200
8.1 流的概念 200
8.1.1 数据流的基本概念 200
8.1.2 Java的标准输入/输出 201
8.2 流的分类 204
8.2.1 流的分类 204
8.2.2 基本输入/输出流的方法 205
8.3 文件类 206
8.3.1 File类的构造方法 206
8.3.2 File类的常用方法 207
8.4 数据流的应用 211
8.4.1 文件输入/输出流的应用 211
8.4.2 缓冲流的应用 214
8.4.3 随机存取文件类 220
8.4.4 数据输入/输出流的应用 223
8.5 对象序列化 224
8.5.1 对象序列化的定义 224
8.5.2 序列化的方法 224
8.5.3 序列化的注意事项 226
本章小结 228
习题 228
第9章 Java网络编程 230
9.1 网络基础 230
9.1.1 网络通信概述 231
9.1.2 客户/服务器模式 232
9.1.3 保留端口 232
9.1.4 Internet编址 232
9.2 URL编程 232
9.2.1 URL的概念 232
9.2.2 URL的组成 233
9.2.3 创建一个URL 233
9.2.4 解析URL 234
9.2.5 从URL读取WWW网络资源 235
9.2.6 通过URLConnetction连接WWW 236
9.3 Socket编程 237
9.3.1 Socket通信 237
9.3.2 Socket API 237
9.3.3 Socket通信的一般过程 238
9.3.4 最小TCP/IP服务器 238
9.3.5 最小TCP/IP客户 239
9.4 数据报编程 240
9.4.1 数据报通信 240
9.4.2 基于UDP的简单的客户/服务器程序设计 241
9.5 综合实例 244
9.5.1 聊天室的设计 244
9.5.2 简单的Web浏览器设计 247
本章小结 250
习题 250
第10章 Java数据库编程 252
10.1 JDBC概述 252
10.1.1 JDBC与ODBC 252
10.1.2 JDBC技术概述 253
10.1.3 JDBC驱动程序 254
10.2 JDBC编程的基本步骤 255
10.2.1 数据库URL 255
10.2.2 装载驱动程序并建立连接 256
10.2.3 执行SQL语句 258
10.2.4 处理查询结果 259
10.3 连接Access数据库 265
10.3.1 使用数据源连接Access数据库的方法 265
10.3.2 用Java直接连接Access数据库的方法 267
10.4 连接SQL Server数据库 268
10.4.1 查找驱动程序 268
10.4.2 加载驱动程序 268
本章小结 270
习题 271
实训 272
实训一 熟悉开发工具和运行环境 272
实训二 Java编程基础训练 272
实训三 类、接口和包的使用 273
实训四 异常的使用 274
实训五 图形用户界面(1) 275
实训六 图形用户界面(2) 275
实训七 使用多线程编程 277
实训八 浏览器中的图形和多媒体应用设计 277
实训九 输入/输出流的应用 278
实训十 网络编程 278
实训十一 Java数据库编程 279
部分习题参考答案 280
参考文献 283