第1章 Java语言概论 1
1.1 Java语言发展史 1
1.2 Java语言特征 2
1.3 Java 7体系结构 3
1.4 Java 7编译环境和工具 5
1.4.1 开发环境 5
1.4.2 使用命令行工具 6
1.4.3 使用Eclipse集成开发环境 10
1.5 Java程序分类 14
1.5.1 一个简单的Java Application 14
1.5.2 一个简单的Java Applet 15
1.6 Java编程规范 19
1.6.1 命名 19
1.6.2 注释 20
1.7 本章小结 21
1.8 思考与练习 22
第2章 Java基本语法 23
2.1 标识符和数据类型 23
2.1.1 标识符 23
2.1.2 关键字 23
2.1.3 数据类型 24
2.1.4 数据类型之间的转换 26
2.2 运算符 26
2.2.1 算术运算符 27
2.2.2 关系运算符 29
2.2.3 比较运算符 29
2.2.4 条件运算符 30
2.2.5 位运算符 30
2.2.6 逻辑运算符 31
2.2.7 运算符的级别 31
2.3 流程控制 32
2.3.1 if和switch语句 32
2.3.2 循环和迭代器 34
2.4 数组 40
2.4.1 声明和构造数组 40
2.4.2 引用和初始化数组 41
2.5 字符串 43
2.5.1 String类 43
2.5.2 String类的重要方法 44
2.5.3 StringBuffer类和StringBuilder类 44
2.6 本章小结 45
2.7 思考与练习 45
第3章 Java类和对象 46
3.1 类和对象 46
3.1.1 面向对象程序设计概述 46
3.1.2 类 47
3.1.3 对象 48
3.1.4 类之间的关系 48
3.1.5 类的定义 49
3.1.6 声明对象 49
3.2 对象的成员 50
3.2.1 方法 50
3.2.2 变量 51
3.3 类的成员 52
3.3.1 静态方法 52
3.3.2 静态变量 55
3.3.3 实例变量、静态变量和局部变量的生命周期 56
3.4 构造函数 56
3.4.1 无参构造函数 56
3.4.2 带参数的构造函数 58
3.5 重载 59
3.5.1 一般方法重载 59
3.5.2 构造函数重载 62
3.6 类的继承 64
3.7 方法覆盖 66
3.8 多态性与动态绑定 67
3.8.1 多态性 67
3.8.2 动态绑定 68
3.9 Java访问权限 69
3.10 本章小结 71
3.11 思考与练习 71
第4章 Java高级类 73
4.1 static与final关键字 73
4.1.1 理解static 73
4.1.2 final关键字 75
4.2 this与super关键字 75
4.2.1 this关键字 75
4.2.2 super关键字 78
4.3 内部类和匿名类 81
4.3.1 内部类的声明与访问 81
4.3.2 成员内部类 81
4.3.3 方法内部类 83
4.3.4 匿名内部类 84
4.3.5 静态内部类 86
4.4 Java类库简介 86
4.5 抽象类与接口 87
4.5.1 抽象类 87
4.5.2 接口 91
4.5.3 接口与抽象类的不同之处 93
4.6 包 94
4.6.1 定义包 94
4.6.2 理解类路径 95
4.6.3 一个简短的包的例子 95
4.6.4 引入包 96
4.7 Class类 97
4.8 反射 99
4.9 本章小结 108
4.10 思考与练习 108
第5章 Java输入与输出 109
5.1 Java输入与输出概述 109
5.2 File类 111
5.2.1 几个简单的概念 111
5.2.2 创建File对象 111
5.2.3 File类常用方法介绍 113
5.2.4 Java 7新文件系统 115
5.3 字节流类InputStream和OutputStream 120
5.3.1 输入流类InputStream 120
5.3.2 输出流类OutputStream 122
5.3.3 一些常见的子类 123
5.4 RandomAccessFile类 129
5.5 对象流和对象序列化 132
5.5.1 基本的对象序列化 133
5.5.2 自定义对象序列化 134
5.5.3 序列化时的对象替换 136
5.5.4 序列化与对象的创建 140
5.5.5 序列化的安全性 140
5.6 字符流 140
5.6.1 Reader 140
5.6.2 Writer 142
5.7 键盘输入 146
5.7.1 使用Scanner实现从键盘输入的功能 146
5.7.2 使用BufferedReader实现从键盘输入的功能 148
5.8 本章小结 148
5.9 思考与练习 149
第6章 SWT用户界面 150
6.1 SWT简介 150
6.1.1 AWT、Swing与SWT 150
6.1.2 SWT程序的开发步骤 150
6.1.3 SWT中的包 152
6.2 MVC模式与SWT 153
6.3 SWT布局管理器 154
6.3.1 充满式布局 155
6.3.2 行列式布局 157
6.3.3 网格式布局 159
6.3.4 表格式布局 163
6.4 SWT文本的输入 166
6.4.1 标签组件 166
6.4.2 文本框组件 168
6.5 选择组件 170
6.5.1 按钮组件 170
6.5.2 列表框组件 176
6.5.3 下拉框组件 178
6.6 SWT菜单 180
6.7 SWT对话框 182
6.8 本章小结 201
6.9 思考与练习 201
第7章 Java事件处理 203
7.1 SWT事件处理过程 203
7.2 Typed和Untyped监听器 203
7.2.1 使用类型化监听器和事件 204
7.2.2 使用非类型化事件来定制事件处理 207
7.3 适配器Adaptor 209
7.4 常见SWT事件处理 209
7.4.1 键盘事件处理 210
7.4.2 鼠标事件处理 212
7.4.3 焦点事件处理 214
7.4.4 窗口事件处理 216
7.4.5 选择与关闭事件处理 217
7.4.6 其他常用事件处理 219
7.5 本章小结 222
7.6 思考与练习 222
第8章 异常处理、调试与打包 223
8.1 Java异常处理概述 223
8.2 异常处理语句 225
8.2.1 抛出异常 226
8.2.2 声明异常 228
8.2.3 捕获并处理异常 229
8.3 自定义异常处理 232
8.4 日志 234
8.4.1 输出日志 235
8.4.2 自定义配置文件 236
8.4.3 本地化 237
8.5 断言 238
8.5.1 启用和禁用断言 239
8.5.2 使用断言的建议 240
8.5.3 为文档使用断言 241
8.6 Java调试技术 242
8.6.1 一些调试技巧 242
8.6.2 使用调试器 244
8.7 Java打包 248
8.7.1 JAR命令及应用 248
8.7.2 MANIFEST.MF文件 250
8.7.3 利用Eclipse打JAR包 253
8.8 本章小结 255
8.9 思考与练习 256
第9章 Java Applet 257
9.1 Applet基础 257
9.1.1 Applet运行环境 257
9.1.2 什么是AppletViewer 257
9.1.3 编写一个Applet 258
9.1.4 Applet的安全机制 259
9.2 Applet常用方法 259
9.3 Applet的HTML标记和属性 262
9.4 Applet上下文 264
9.5 Applet应用实例 268
9.6 本章小结 271
9.7 思考与练习 271
第10章 多线程 272
10.1 多线程基本概念 272
10.2 Java线程类 273
10.2.1 Thread类 273
10.2.2 Runnable接口 275
10.2.3 Callable接口 276
10.3 资源的协调和同步 277
10.3.1 synchronized关键字 278
10.3.2 锁 281
10.4 线程间的通信 284
10.4.1 线程的几种状态 284
10.4.2 线程间通信的方式 285
10.5 本章小结 289
10.6 思考与练习 289
第11章 JDBC数据库编程 290
11.1 JDBC概述 290
11.1.1 JDBC组件 290
11.1.2 JDBC架构 291
11.2 数据库的连接 292
11.3 数据库操作 294
11.3.1 Collection接口 295
11.3.2 Statement接口 298
11.3.3 PreparedStatement接口 300
11.3.4 CallableStatement接口 302
11.3.5 ResultSet接口 303
11.3.6 数据库的基本操作 307
11.3.7 使用RowSet接口操作数据库 314
11.4 应用实例 316
11.5 本章小结 321
11.6 思考与练习 321
第12章 Java网络编程 322
12.1 Java网络编程基础 322
12.1.1 网络编程是什么 322
12.1.2 IP地址和域名 322
12.1.3 端口 323
12.1.4 数据的传输方式 323
12.1.5 协议 323
12.2 Java网络类和接口 324
12.2.1 URL类 324
12.2.2 URLConnection类 327
12.2.3 InetAddress类 328
12.3 Java套接字通信 331
12.3.1 Socket类 331
12.3.2 ServerSocket类 334
12.4 Java UDP通信 337
12.5 Java TCP通信 340
12.6 实例:UDP打洞技术 342
12.7 本章小结 350
12.8 思考与练习 350
第13章 Java开发高级应用概述 351
13.1 Java高级应用 351
13.2 J2EE简介 351
13.2.1 J2EE的优点 352
13.2.2 J2EE组件体系结构 353
13.2.3 J2EE技术规范 355
13.2.4 J2EE分布应用技术 357
13.2.5 JSP技术简介 358
13.2.6 Servlet技术简介 361
13.2.7 EJB3技术简介 366
13.2.8 J2EE的发展趋势 368
13.3 J2ME 369
13.3.1 J2ME是什么 369
13.3.2 J2ME体系结构 369
13.3.3 MIDlet应用程序的生命周期 371
13.3.4 J2ME的Hello World实例 372
13.4 本章小结 373
13.5 思考与练习 373