第1章 Java概述 1
1.1 Java的历史及发展 1
1.2 Java语言的特点 2
1.3 Java开发环境的建立 3
1.3.1 安装JDK 4
1.3.2 建立Eclipse开发环境 5
1.4 Java程序的编写与运行 7
1.5 Java程序的运行机制 10
1.6 Java API文档 11
本章小结 12
习题 12
第2章 Java编程基础 13
2.1 标识符与关键字 13
2.2 数据类型及直接量、变量 14
2.2.1 数据类型 14
2.2.2 直接量和变量 14
2.3 运算符和表达式 16
2.3.1 运算符的分类 16
2.3.2 运算符的优先级和结合性 19
2.3.3 表达式 19
2.3.4 类型转换 20
2.4 控制语句 21
2.4.1 问题的提出与分析 21
2.4.2 if语句与if-else语句 21
2.4.3 switch语句 23
2.4.4 循环语句 25
2.4.5 break语句及continue语句 27
2.5 类、对象 29
2.5.1 问题的提出与分析 29
2.5.2 定义类 29
2.5.3 创建对象 30
2.5.4 使用对象 31
2.6 数组的使用 32
2.6.1 问题的提出与分析 32
2.6.2 一维数组 32
2.6.3 二维数组 35
2.7 字符串处理 38
2.7.1 问题的提出与分析 38
2.7.2 String类 38
2.7.3 StringBuffer类 41
2.7.4 对象转化为字符串 42
2.8 枚举 43
2.9 包 45
2.9.1 什么是包 45
2.9.2 package语句 45
2.9.3 import语句 46
2.9.4 Java标准包简介 47
2.9.5 Java程序结构 48
2.10 应用举例 49
本章小结 51
习题 51
第3章 对象和类 54
3.1 问题的提出与分析 54
3.2 类 55
3.2.1 类的定义格式 55
3.2.2 成员变量和方法 56
3.2.3 方法的重载 64
3.2.4 构造方法 65
3.3 对象 67
3.3.1 对象的创建 67
3.3.2 对象的使用 69
3.3.3 对象的清除 70
3.4 访问控制 71
3.4.1 类的访问控制 72
3.4.2 成员的访问控制 73
3.5 this关键字 78
3.6 对象的赋值和比较 80
3.7 命令行的输入输出 82
3.8 问题的实现 84
3.8.1 Contact类的实现 84
3.8.2 ContactList类的实现 85
3.8.3 AddressBook类的实现 87
本章小结 88
习题 88
第4章 继承和多态 92
4.1 问题的提出与分析 92
4.2 继承 95
4.2.1 继承的语法 95
4.2.2 子类的构造方法 98
4.2.3 方法的覆盖和成员变量的隐藏 101
4.2.4 父类变量引用子类对象 106
4.3 final关键字 108
4.4 抽象类和接口 110
4.4.1 定义抽象类 110
4.4.2 接口的概念 114
4.4.3 定义接口 114
4.4.4 接口的实现 115
4.5 多态性 120
4.5.1 与继承有关的多态性 121
4.5.2 与接口有关的多态性 125
4.6 问题的实现 128
4.6.1 定义商品类层次 128
4.6.2 定义职工类层次 130
4.6.3 商品列表类的实现 132
4.6.4 商品选购信息类的实现 134
4.6.5 顾客类层次的实现 134
4.6.6 销售事件类和销售事件列表类的实现 135
4.6.7 类层次功能的测试 137
4.6.8 功能的进一步扩充 138
本章小结 138
习题 138
第5章 泛型与集合框架 141
5.1 问题的提出与分析 141
5.2 泛型 142
5.2.1 泛型的目的 142
5.2.2 泛型类和泛型方法 143
5.2.3 利用泛型类创建对象 144
5.2.4 泛型接口 145
5.3 集合框架 148
5.3.1 Iterator接口 149
5.3.2 LinkedList类 150
5.3.3 Stack类 153
5.3.4 HashMap类 154
5.4 问题的实现 156
本章小结 158
习题 158
第6章 异常处理 160
6.1 问题的提出与分析 160
6.2 异常的概念 163
6.3 捕获异常 165
6.4 自定义异常类 168
6.5 声明异常和抛出异常 168
6.6 问题的实现 171
本章小结 173
习题 173
第7章 文件与输入输出流 175
7.1 问题的提出与分析 175
7.2 File类 177
7.3 流的概念 180
7.4 字节输入输出流 181
7.4.1 InputStream类和FileInputStream类 182
7.4.2 OutputStream类和FileOutputStrcam类 184
7.5 字符输入输出流 185
7.5.1 Reader类和Writer类 186
7.5.2 FileReader类和FileWriter类 187
7.6 InputStreamReader类和OutputStreamWriter类 188
7.7 DataInputStream类和DataOutputStream类 189
7.8 带缓存的输入流和输出流 190
7.9 标准输入输出流的重定向 193
7.10 随机访问文件 194
7.11 问题的实现 195
本章小结 201
习题 201
第8章 图形用户界面设计 203
8.1 问题的提出与分析 203
8.2 创建图形用户界面 205
8.2.1 AWT与Swing概述 205
8.2.2 容器与组件 205
8.2.3 布局管理器 214
8.3 事件处理 216
8.3.1 JDK的事件处理模型 217
8.3.2 事件监听器 218
8.3.3 事件适配器 221
8.3.4 内部类 222
8.4 图形的绘制及保存 224
8.5 问题的实现 229
本章小结 238
习题 238
第9章 多线程 241
9.1 问题的提出与分析 241
9.2 线程的概念 242
9.3 线程的创建 243
9.3.1 继承Thread类来创建线程 244
9.3.2 实现Runnable接口来创建线程 246
9.4 线程的生命周期 248
9.5 线程的同步控制 249
9.6 线程的通信 253
9.7 死锁 256
9.8 问题的实现 258
本章小结 262
习题 262
第10章 Applet 263
10.1 问题的提出与分析 263
10.2 Applet简介 264
10.2.1 什么是Applet 264
10.2.2 一个简单的Applet程序 264
10.3 Applet的运行 266
10.3.1 HTML与Applet 266
10.3.2 在浏览器中运行Applet程序 267
10.3.3 在appletviewer中运行Applet程序 268
10.3.4 在Eclipse中运行Applet 268
10.3.5 运行Applet的安全性 268
10.4 Applet的生命周期 269
10.5 Applet的其他功能 272
10.5.1 绘制图形 272
10.5.2 播放声音 273
10.5.3 显示图像 275
10.6 问题的实现 277
10.6.1 定义Applet的派生类 277
10.6.2 改写Applet的方法 278
10.6.3 线程的实现 279
10.6.4 paint方法的实现 279
10.6.5 鼠标事件处理 280
10.6.6 完整程序 281
本章小结 283
习题 284
第11章 网络编程 287
11.1 问题的提出与分析 287
11.2 TCP/IP简介 288
11.3 InetAddress类 291
11.4 URL类及URLConnection类 292
11.5 套接字 295
11.6 流套接字编程 296
11.6.1 服务器端程序的实现 298
11.6.2 客户端程序的实现 299
11.6.3 编程模型的总结 300
11.7 数据报套接字编程 301
11.7.1 服务器端程序的实现 302
11.7.2 客户器端程序的实现 304
11.7.3 编程模型的总结 305
11.8 问题的实现 305
11.8.1 流套接字方式 306
11.8.2 数据报套接字方式 309
本章小结 311
习题 312
第12章 JDBC与数据库 313
12.1 问题的提出与分析 313
12.2 数据库基础 314
12.2.1 数据库简介 314
12.2.2 关系数据库 314
12.2.3 SQL简介 315
12.3 JDBC简介 317
12.4 JDBC编程步骤 319
12.4.1 加载数据库的驱动程序 320
12.4.2 连接数据库 320
12.4.3 执行SQL语句 321
12.4.4 返回结果 321
12.4.5 关闭数据库连接 321
12.5 问题的实现 322
12.5.1 建立数据库 322
12.5.2 数据库操作 322
本章小结 330
习题 330
附录A JDK使用介绍 332
附录B Eclipse调试工具简介 339
附录C UML简介 344
参考文献 350