基础知识篇 2
第1章 Java程序设计概述 2
1.1 机器语言、汇编语言和高级语言 2
1.2 Java语言概述 3
1.2.1 Java语言的产生 3
1.2.2 Java语言的发展 4
1.2.3 Java虚拟机及Java的跨平台原理 4
1.2.4 Java语言的关键特点 5
1.3 Java平台和主要应用方向 6
1.4 Java的垃圾回收与代码安全检查机制 7
1.5 典型的Java开发环境 8
1.5.1 下载、安装和了解JDK 8
1.5.2 设置Path变量 10
1.5.3 设置ClassPath变量 11
1.5.4 测试环境变量 12
1.5.5 Eclipse和MyEclipse 13
1.6 Java编程示例 14
1.6.1 第一个Java Application 14
1.6.2 Java程序的编辑 15
1.6.3 运行Java Application应用程序 15
1.6.4 第一个Java Applet 17
1.6.5 运行Applet 17
1.7 反编译工具的介绍 18
1.8 Java JDK 6新功能介绍 18
1.9 练习思考题 19
第2章 Java基本的程序设计结构 20
2.1 标识符和关键字 20
2.1.1 标识符 20
2.1.2 关键字 21
2.2 Java的基本数据类型 21
2.2.1 布尔型 21
2.2.2 字符型 22
2.2.3 整数型 23
2.2.4 浮点型 24
2.2.5 基本数据类型的转换 24
2.3 运算符、表达式 26
2.3.1 算术运算符与算术表达式 27
2.3.2 比较和条件运算 28
2.3.3 逻辑和位运算 30
2.3.4 递增和递减运算 34
2.3.5 赋值运算符 36
2.4 语句 37
2.4.1 语句概述 37
2.4.2 控制语句 38
2.4.3 循环语句 42
2.4.4 break和continue 46
2.5 输入/输出 48
2.6 数组 50
2.6.1 数组的概念 50
2.6.2 一维数组 50
2.6.3 多维数组 51
2.7 练习思考题 53
第3章 类和对象 57
3.1 面向对象技术基础 57
3.1.1 面向对象的基本概念 57
3.1.2 面向对象的基本特征 58
3.1.3 面向对象程序设计方法 59
3.2 类的定义与使用 60
3.2.1 类 60
3.2.2 类声明 60
3.2.3 类体 61
3.2.4 成员变量和局部变量 62
3.2.5 成员方法 63
3.2.6 方法重载 65
3.2.7 构造方法 66
3.2.8 值得注意的问题 67
3.3 对象 67
3.3.1 对象的生成 67
3.3.2 对象的使用 68
3.3.3 对象的引用和实体 70
3.3.4 参数传值 71
3.3.5 对象的清除 72
3.4 static关键字 72
3.4.1 实例变量和类变量的区别 72
3.4.2 实例方法和类方法的区别 73
3.5 this关键字 74
3.6 final关键字 76
3.7 Java类中的限定词 77
3.8 包 78
3.8.1 包语句 78
3.8.2 import语句 79
3.9 练习思考题 80
第4章 继承、接口和内部类 83
4.1 继承、超类和子类 83
4.1.1 子类 83
4.1.2 子类的继承 83
4.1.3 super关键字 85
4.2 抽象类和接口 88
4.2.1 抽象类 88
4.2.2 接口 90
4.2.3 接口的定义 90
4.2.4 接口的实现 91
4.3 内部类 92
4.3.1 内部类的定义和使用 92
4.3.2 匿名类的定义和使用 94
4.4 Class类 95
4.4.1 获取类的有关信息 95
4.4.2 使用Class实例化一个对象 96
4.5 练习思考题 97
基础开发篇 102
第5章 Java API 102
5.1 Java API的概念 102
5.2 Object类 103
5.3 String类和StringBuffer类 105
5.3.1 String类 106
5.3.2 StringBuffer类 110
5.3.3 String类和StringBuffer类下字符串的区别 112
5.4 基本数据类型的对象类 112
5.4.1 Double类和Float类 112
5.4.2 Byte、Integer、Short、Long类 113
5.4.3 Character类 113
5.5 Hashtable与Properties类 114
5.5.1 Hashtable类 114
5.5.2 Properties类 116
5.5.3 利用Properties类读取配置文件信息 117
5.6 System类与Runtime类 120
5.6.1 System类 120
5.6.2 Runtime类 121
5.7 Date与Calendar类 122
5.7.1 Date类 122
5.7.2 Calendar类 123
5.8 Math与Random类 125
5.8.1 Math类 125
5.8.2 Random类 127
5.9 练习思考题 128
第6章 图形用户界面设计 130
6.1 Java的GUI 130
6.2 用AWT生成图形化用户界面 131
6.2.1 java.awt包 131
6.2.2 组件 131
6.3 常用容器 132
6.3.1 Frame 132
6.3.2 Panel 133
6.3.3 ScrollPane 134
6.4 布局管理器 135
6.4.1 FlowLayout布局 136
6.4.2 BorderLayout布局 137
6.4.3 GridLayout布局 138
6.4.4 CardLayout布局 139
6.4.5 容器的嵌套 140
6.4.6 总结 141
6.5 AWT事件处理模型 141
6.5.1 事件处理机制 141
6.5.2 事件类 143
6.5.3 事件监听器 143
6.5.4 AWT事件及其相应的监听器接口 144
6.5.5 事件适配器 146
6.6 AWT组件库 147
6.6.1 按钮 147
6.6.2 单行文本输入框 149
6.6.3 文本输入区 150
6.6.4 选择框和选择框组 151
6.6.5 下拉式列表 154
6.6.6 滚动列表 155
6.6.7 画布 157
6.6.8 对话框 159
6.6.9 菜单栏、菜单和菜单项 162
6.7 练习思考题 163
第7章 多线程 166
7.1 线程简介 166
7.1.1 进程与线程 166
7.1.2 线程的状态 167
7.2 Thread类的子类创建线程 169
7.3 实现Runnable接口 171
7.4 基本的线程控制 172
7.5 线程的调度 176
7.6 多线程的互斥与同步 177
7.6.1 临界资源问题 177
7.6.2 互斥锁 178
7.6.3 多线程的同步 179
7.7 Daemon线程 181
7.8 练习思考题 182
第8章 文件和流 184
8.1 I/O流概述 184
8.1.1 I/O流的层次 184
8.1.2 InputStream和Output Stream 185
8.1.3 I/O中的例外 186
8.2 文件处理 187
8.2.1 文件描述 187
8.2.2 文件的顺序处理 189
8.2.3 随机访问文件 190
8.3 过滤流 191
8.3.1 过滤流类层次 191
8.3.2 几种常见的过滤流 192
8.4 字符流的处理 192
8.4.1 Reader和Writer 192
8.4.2 InputStreamReader和Output-StreamWriter 193
8.4.3 BufferedReader和Buffered-Writer 194
8.5 对象的序列化(Serialization) 195
8.5.1 序列化的定义 195
8.5.2 序列化方法 196
8.5.3 序列化的注意事项 197
8.6 其他常用的流 198
8.6.1 管道流 198
8.6.2 内存的读/写 200
8.6.3 顺序输入流 202
8.7 练习思考题 203
第9章 异常处理 205
9.1 异常处理基础 205
9.1.1 异常示例 205
9.1.2 异常类的层次 206
9.1.3 异常类的分类 206
9.2 异常的处理 207
9.2.1 捕获异常 208
9.2.2 声明抛弃异常 209
9.3 自定义异常类 209
9.3.1 继承Exception类 210
9.3.2 继承Throwable类 210
9.3.3 自定义异常类的使用 211
9.4 练习思考题 212
第10章 Java网络编程 213
10.1 网络编程基础知识 213
10.1.1 网络基础知识 213
10.1.2 网络基本概念 214
10.1.3 传输协议:TCP、UDP 214
10.2 URL及应用示例 215
10.2.1 统一资源定位器URL 215
10.2.2 URL的组成 216
10.2.3 创建一个URL 217
10.2.4 解析一个URL 217
10.2.5 从URL读取WWW网络资源 218
10.2.6 通过URLConnetction连接WWW 219
10.3 InetAdress类 221
10.4 基于套接字的低层次Java网络编程 221
10.4.1 Socket通信 221
10.4.2 Socket通信的一般过程 222
10.4.3 创建Socket 222
10.4.4 客户端的Socket 223
10.4.5 服务器端的Server-Socket 223
10.4.6 打开输入/输出流 224
10.4.7 关闭Socket 225
10.4.8 简单的Client/Server程序设计 225
10.4.9 支持多客户的Client/Server程序设计 228
10.5 UDP数据报 230
10.5.1 什么是Datagram 230
10.5.2 DatagramSocket、Datagram-Packet 230
10.5.3 基于UDP的简单的Client/Server程序设计 232
10.5.4 用数据报进行广播通信 235
10.6 练习思考题 237
中级开发篇 240
第11章 Java Applet基础 240
11.1 Java Applet的运行原理 240
11.1.1 Applet的运行环境 240
11.1.2 什么是appletviewer 241
11.1.3 Java Applet程序开发步骤 242
11.1.4 Applet的安全机制 244
11.2 Applet类及其方法 244
11.2.1 Applet类的基本方法 244
11.2.2 Applet运行状态控制方法 245
11.2.3 Applet应用的有关参数 247
11.3 一个显示动画的Applet程序 248
11.3.1 重载update() 248
11.3.2 使用双缓冲技术 248
11.3.3 例子 249
11.4 Applet中使用URL 253
11.5 Applet中建立新线程 255
11.6 Applet中播放声音 256
11.7 练习思考题 259
第12章 常见数据结构的Java实现 261
12.1 链表 261
12.1.1 链表的创建 262
12.1.2 LinkedList类中的常用方法 263
12.1.3 使用Iterator类遍历链表 264
12.2 栈 269
12.2.1 栈的常用方法 270
12.2.2 用链表实现栈 271
12.3 树集 272
12.3.1 用构造方法TreeSet()创建一个树集 273
12.3.2 用构造方法TreeSet(Comp-aratorc)创建一个树集 273
12.3.3 TreeSet类的些常用方法 275
12.4 树映射 279
12.5 散列表Hashtable 281
12.5.1 Hashtable类的常用方法 281
12.5.2 Hashtable类的应用 282
12.6 散列集 286
12.7 向量 287
12.7.1 Vector类的常用方法 288
12.7.2 Vector类的应用 288
12.8 练习思考题 291
第13章 Java数据库连接——JDBC 293
13.1 JDBC概述 293
13.2 JDBC的类型 294
13.2.1 类型1:JDBC-ODBC桥 294
13.2.2 类型2:Native-API Bridge 295
13.2.3 类型3:JDBC-middleware 295
13.2.4 类型4:Pure Java Driver 295
13.3 JDBC主要的接口和核心类 296
13.4 JDBC进行数据库操作的步骤 300
13.5 使用JDBC进行数据操作 301
13.5.1 建立一个数据源类 302
13.5.2 Statement、ResultSet 304
13.5.3 PreparedStatement 307
13.5.4 LOB读写 309
13.5.5 事务(Transaction) 312
13.5.6 批处理 313
13.5.7 ResultSet光标控制 313
13.5.8 ResultSet新增、更新、删除数据 315
13.5.9 ResultSetMetaData 316
13.6 练习思考题 317
第14章 Java多媒体编程:图形、图像和声音 320
14.1 AWT绘图 320
14.1.1 Graphics类 320
14.1.2 绘制文本、建立字体 321
14.1.3 绘制基本图形 323
14.2 Java 2D图形 325
14.2.1 绘制基本图形 326
14.2.2 控制图形线条的粗细 327
14.2.3 颜色渐变 329
14.2.4 旋转图形 330
14.3 Java的图像处理 332
14.3.1 在小应用程序中绘制图像 332
14.3.2 在应用程序中绘制图像 334
14.4 打印图形、图像 335
14.5 Java媒体框架——JMF 336
14.5.1 JMF的体系结构 337
14.5.2 一个播放多媒体的例子 338
14.6 练习思考题 342
附录A Eclipse 3.3的下载、安装和运行 343
附录B MyEclipse 7.0的下载、安装和运行 346
附录C MySQL 5数据库下载、安装和运行 350