第1章 Java概述和Eclipse开发环境 1
1.1 预备知识 1
1.1.1 Java简介 1
1.1.2 Application与Applet 1
1.1.3 Java开发运行环境介绍 2
1.2 实验 6
1.2.1 JDK 7.0路径设置 6
1.2.2 在DOS环境下编译和运行Java Application和Java Applet程序 7
1.2.3 在Eclipse 3.5中开发Java程序 9
第2章 Java语言基础 16
2.1 预备知识 16
2.1.1 标识符 16
2.1.2 保留字 16
2.1.3 基本数据类型 17
2.1.4 运算符与表达式 17
2.1.5 Java常用的输入和输出操作 18
2.1.6 三种控制结构 19
2.1.7 数组 19
2.2 实验 21
2.2.1 基本运算练习 21
2.2.2 输出九九乘法表 26
2.2.3 数组排序 28
2.2.4 鸽巢原理的模拟 30
2.2.5 “速算24”游戏 31
第3章 类和对象 33
3.1 预备知识 33
3.1.1 类和对象的定义 33
3.1.2 类变量、实例变量 33
3.1.3 类方法、实例方法 33
3.1.4 局部变量 33
3.1.5 对象的创建、构造函数、new运算符 33
3.1.6 变量的作用域 34
3.1.7 函数重载 35
3.1.8 this关键字 35
3.2 实验 35
3.2.1 对象的创建和使用 35
3.2.2 类的静态成员与实例成员 38
3.2.3 变量的作用域和this关键字 41
3.2.4 方法重载 42
第4章 继承和多态性 45
4.1 预备知识 45
4.1.1 继承、超类、子类 45
4.1.2 子类的构造函数和关键字super 45
4.1.3 方法覆盖 46
4.1.4 抽象类和抽象方法 46
4.1.5 多态性与动态绑定 46
4.1.6 内部类、嵌套类、局部类、匿名类 47
4.2 实验 48
4.2.1 子类的派生与方法覆盖 48
4.2.2 多态性与动态绑定 52
4.2.3 嵌套类和内部类 56
第5章 包、接口和常用工具类 60
5.1 预备知识 60
5.1.1 包 60
5.1.2 接口 60
5.1.3 Java的预定义类 61
5.2 实验 62
5.2.1 包的使用与访问控制 62
5.2.2 接口的实现与运用 65
5.2.3 Java的常用工具类 69
第6章 字符串 76
6.1 预备知识 76
6.1.1 字符和字符串的基础 76
6.1.2 String类 76
6.1.3 StringBuffer类 77
6.1.4 StringTokenizer类 78
6.2 实验 79
6.2.1 字符串类的常见应用 79
6.2.2 单词替换和统计问题 83
6.2.3 单词逆向输出问题 88
6.2.4 ISBN书号校验问题 89
第7章 Java的GUI编程 91
7.1 预备知识 91
7.1.1 Java的GUI API 91
7.1.2 Java的常见布局管理器 92
7.1.3 事件处理模型 93
7.1.4 事件适配器 94
7.1.5 内部类实现事件处理 94
7.1.6 SWT和JFace 94
7.1.7 Eclipse的插件开发 95
7.2 实验 96
7.2.1 Java Swing开发图形界面 96
7.2.2 SWT/JFace开发名片录入管理系统 105
7.2.3 Eclipse插件开发国际象棋棋盘 117
7.2.4 骑士巡游游戏 130
第8章 Java的图形处理与Java 2D 138
8.1 预备知识 138
8.1.1 Java图形坐标系统和图形上下文 138
8.1.2 Color类 138
8.1.3 Font类和FontMetrics类 139
8.1.4 常用的绘图方法 139
8.1.5 Java 2D简介 141
8.2 实验 143
8.2.1 绘制雪花 143
8.2.2 绘制彩色饼图 145
第9章 异常处理 150
9.1 预备知识 150
9.1.1 异常层次 150
9.1.2 基本异常处理try/catch 150
9.1.3 finally语句 151
9.1.4 抛出异常Throw与声明异常Throws 151
9.1.5 异常处理的搜索 152
9.1.6 创建自己的异常类 152
9.2 实验 152
9.2.1 除数为0异常 152
9.2.2 创建自己的日期错误异常类 157
9.2.3 异常处理的链式搜索 161
第10章 多线程编程 164
10.1 预备知识 164
10.1.1 线程的基本概念 164
10.1.2 线程的创建和使用 164
10.1.3 线程的同步和通信 165
10.2 实验 167
10.2.1 使用Thread类创建4线程程序 167
10.2.2 一个实现Runnable接口的小应用程序 169
10.2.3 线程同步与资源共享 173
第11章 文件和流 179
11.1 预备知识 179
11.1.1 文件相关类 179
11.1.2 Java的I/O流 180
11.1.3 字符流类 180
11.1.4 字节流类 181
11.1.5 对象的序列化 181
11.1.6 随机访问文件 181
11.1.7 编写Zip压缩和解压缩程序 181
11.2 实验 182
11.2.1 文本编辑器 182
11.2.2 成绩排队 190
11.2.3 用RandomAccessFile实现名片记录本 196
11.2.4 编写Zip的压缩和解压缩程序 205
第12章 网络编程 211
12.1 预备知识 211
12.1.1 URL统一资源定位器 211
12.1.2 TCP/IP套接字通信 211
12.1.3 UDP数据报通信 212
12.2 实验 212
12.2.1 操纵URL以访问网络资源 212
12.2.2 基于TCP/IP的网络聊天通信 215
12.2.3 基于UDP的网络汇率转换 234
第13章 多媒体技术 239
13.1 预备知识 239
13.1.1 图像处理 239
13.1.2 声音的播放 240
13.1.3 Java实现动画 241
13.1.4 JMF实现视频 241
13.2 实验 243
13.2.1 幻灯片的定制和显示 243
13.2.2 音乐闹钟 248
13.2.3 媒体播放器 257
第14章 数据库编程 260
14.1 预备知识 260
14.1.1 JDBC API的概述 260
14.1.2 JDBC驱动程序 260
14.1.3 基本JDBC应用程序的执行流程 261
14.2 实验 264
14.2.1 连接数据库 264
14.2.2 基本数据库操作 268
14.2.3 多国货币兑换 281
第15章 Java与XML 286
15.1 预备知识 286
15.1.1 XML概述 286
15.1.2 处理XML的常见Java API 288
15.2 实验 289
15.2.1 XML的初步应用 289
15.2.2 图书元数据管理系统 306