第1周课程 Java语言 2
第1章 Java基础 2
1.1 Java语言 2
1.1.1 Java的历史 2
1.1.2 Java概述 3
1.1.3 选择开发工具 3
1.2 面向对象编程 4
1.3 对象和类 5
1.4 属性和行为 6
1.4.1 属性 6
1.4.2 行为 6
1.4.3 创建类 7
1.4.4 运行程序 9
1.5 组织类和类行为 11
1.5.1 继承 11
1.5.2 创建类层次结构 12
1.5.3 使用继承 13
1.5.4 接口 14
1.5.5 包 14
1.6 总结 15
1.7 问与答 15
1.8 小测验 15
1.8.1 问题 15
1.8.2 答案 16
1.9 认证练习 16
1.10 练习 16
第2章 Java编程基础 17
2.1 语句和表达式 17
2.2 变量和数据类型 18
2.2.1 创建变量 18
2.2.2 给变量命名 19
2.2.3 变量类型 19
2.2.4 给变量赋值 20
2.2.5 常量 21
2.3 注释 22
2.4 字面量 23
2.4.1 数字字面量 23
2.4.2 布尔字面量 24
2.4.3 字符字面量 24
2.4.4 字符串字面量 25
2.5 表达式和运算符 26
2.5.1 算术运算符 26
2.5.2 再谈赋值 27
2.5.3 递增和递减运算符 28
2.5.4 比较运算符 29
2.5.5 逻辑运算符 29
2.5.6 运算符优先级 30
2.6 字符串运算 31
2.7 总结 33
2.8 问与答 33
2.9 小测验 33
2.9.1 问题 34
2.9.2 答案 34
2.10 认证练习 34
2.11 练习 34
第3章 对象 35
3.1 创建新对象 35
3.1.1 使用new 35
3.1.2 对象是如何创建的 37
3.1.3 内存管理 37
3.2 使用类变量和实例变量 38
3.2.1 获取值 38
3.2.2 设置值 38
3.2.3 类变量 39
3.3 调用方法 40
3.3.1 设置字符串的格式 41
3.3.2 嵌套方法调用 42
3.3.3 类方法 43
3.4 对象的引用 43
3.5 对象和基本数据类型的强制类型转换 44
3.5.1 强制转换基本类型 45
3.5.2 强制转换对象 46
3.5.3 基本类型和对象之间的转换 47
3.6 比较对象值和类 48
3.6.1 比较对象 48
3.6.2 判断对象所属的类 49
3.7 总结 49
3.8 问与答 50
3.9 小测验 50
3.9.1 问题 50
3.9.2 答案 51
3.10 认证练习 51
3.11 练习 51
第4章 数组、逻辑和循环 52
4.1 数组 52
4.1.1 声明数组变量 52
4.1.2 创建数组对象 53
4.1.3 访问数组元素 54
4.1.4 修改数组元素 54
4.1.5 多维数组 56
4.2 块语句 57
4.3 if条件语句 57
4.4 switch条件语句 58
4.5 三目运算符 63
4.6 for循环 63
4.7 while和do循环 65
4.7.1 while循环 65
4.7.2 do...while循环 67
4.8 跳出循环 67
4.9 总结 68
4.10 问与答 68
4.11 小测验 69
4.11.1 问题 69
4.11.2 答案 69
4.12 认证练习 69
4.13 练习 70
第5章 创建类和方法 71
5.1 定义类 71
5.2 创建实例变量和类变量 71
5.2.1 定义实例变量 72
5.2.2 类变量 72
5.3 创建方法 72
5.3.1 定义方法 72
5.3.2 关键字this 74
5.3.3 变量作用域和方法定义 74
5.3.4 将参数传递给方法 75
5.3.5 类方法 76
5.4 创建Java应用程序 77
5.5 Java应用程序和参数 78
5.5.1 将参数传递给Java应用程序 78
5.5.2 在Java程序中处理参数 79
5.6 创建同名方法 80
5.7 构造函数 83
5.7.1 基本的构造函数 83
5.7.2 调用另一个构造函数 84
5.7.3 重载构造函数 84
5.8 覆盖方法 85
5.8.1 创建覆盖现有方法的方法 85
5.8.2 调用原来的方法 87
5.8.3 覆盖构造函数 87
5.9 总结 88
5.10 问与答 89
5.11 小测验 89
5.11.1 问题 89
5.11.2 答案 90
5.12 认证练习 90
5.13 练习 90
第6章 包、接口和其他类特性 91
6.1 限定符 91
6.2 静态变量和方法 95
6.3 final类、方法和变量 97
6.3.1 变量 97
6.3.2 方法 97
6.3.3 类 98
6.4 抽象类和方法 98
6.5 包 98
6.5.1 import声明 99
6.5.2 类名冲突 100
6.6 创建自己的包 101
6.6.1 选择包名 101
6.6.2 创建文件夹结构 101
6.6.3 将类加入到包中 102
6.6.4 包和类访问控制 102
6.7 接口 102
6.7.1 单继承存在的问题 102
6.7.2 接口和类 103
6.7.3 实现和使用接口 103
6.7.4 实现多个接口 103
6.7.5 接口的其他用途 104
6.8 创建和扩展接口 104
6.8.1 新接口 104
6.8.2 接口中的方法 105
6.8.3 扩展接口 105
6.8.4 创建网上商店 106
6.9 总结 110
6.10 问与答 110
6.11 小测验 110
6.11.1 问题 110
6.11.2 答案 111
6.12 认证练习 111
6.13 练习 112
第7章 异常和线程 113
7.1 异常 113
7.2 管理异常 115
7.2.1 异常一致性检测 115
7.2.2 保护代码和捕获异常 116
7.2.3 finally子句 118
7.3 声明可能引发异常的方法 120
7.3.1 throws子句 120
7.3.2 应引发哪些异常 121
7.3.3 传递异常 121
7.3.4 throws和继承 122
7.4 创建并引发自己的异常 122
7.4.1 引发异常 123
7.4.2 创建自己的异常 123
7.4.3 结合使用throws、 try和throw 123
7.5 在什么情况下不使用异常 124
7.6 线程 125
7.6.1 编写线程化程序 125
7.6.2 线程化应用程序 126
7.6.3 终止线程 129
7.7 总结 130
7.8 问与答 130
7.9 小测验 131
7.9.1 问题 131
7.9.2 答案 131
7.10 认证练习 131
7.11 练习 132
第2周课程Java类库 134
第8章 数据结构 134
8.1 超越数组 134
8.2 Java数据结构 134
8.2.1 Iterator 135
8.2.2 位组 136
8.2.3 链表 138
8.2.4 遍历数据结构 140
8.2.5 堆栈 142
8.2.6 Map 143
8.2.7 散列映射 144
8.3 泛型 147
8.4 枚举 150
8.5 总结 151
8.6 问与答 151
8.7 小测验 151
8.7.1 问题 151
8.7.2 答案 152
8.8 认证练习 152
8.9 练习 153
第9章 使用Swing 154
9.1 创建应用程序 154
9.1.1 创建界面 155
9.1.2 开发框架 156
9.1.3 创建组件 157
9.1.4 将组件加入到容器中 158
9.2 使用组件 159
9.2.1 图标 160
9.2.2 标签 161
9.2.3 文本框 162
9.2.4 文本区域 162
9.2.5 可滚动窗格 164
9.2.6 复选框和单选按钮 164
9.2.7 组合框 166
9.2.8 列表 167
9.3 Java类库 169
9.4 总结 170
9.5 问与答 170
9.6 小测验 171
9.6.1 问题 171
9.6.2 答案 171
9.7 认证练习 171
9.8 练习 172
第10章 创建Swing界面 173
10.1 Swing的特性 173
10.1.1 标准对话框 173
10.1.2 使用对话框 176
10.1.3 滑块 178
10.1.4 滚动窗格 179
10.1.5 工具栏 180
10.1.6 进度条 182
10.1.7 菜单 184
10.1.8 选项卡式窗格 187
10.2 总结 188
10.3 问与答 188
10.4 小测验 189
10.4.1 问题 189
10.4.2 答案 189
10.5 认证练习 190
10.6 练习 190
第11章 在用户界面上排列组件 191
11.1 基本的界面布局 191
11.1.1 布置界面 191
11.1.2 顺序布局 192
11.1.3 方框布局 193
11.1.4 网格布局 195
11.1.5 边框布局 197
11.2 使用多个布局管理器 198
11.3 卡片布局 199
11.3.1 在应用程序中使用卡片布局 200
11.3.2 单元格内边距和面板内边距 204
11.4 总结 204
11.5 问与答 205
11.6 小测验 205
11.6.1 问题 205
11.6.2 答案 206
11.7 认证练习 206
11.8 练习 207
第12章 响应用户输入 208
12.1 事件监听器 208
12.1.1 设置组件 209
12.1.2 事件处理方法 209
12.2 使用方法 211
12.2.1 行为事件 211
12.2.2 焦点事件 212
12.2.3 选项事件 214
12.2.4 键盘事件 216
12.2.5 鼠标事件 216
12.2.6 鼠标移动事件 217
12.2.7 窗口事件 220
12.2.8 使用适配器类 220
12.2.9 使用内部类 222
12.3 总结 223
12.4 问与答 223
12.5 小测验 224
12.5.1 问题 224
12.5.2 答案 224
12.6 认证练习 224
12.7 练习 225
第13章 创建Java2D图形 226
13.1 Graphics2D类 226
13.2 绘制文本 227
13.2.1 使用防锯齿改善字体和图形的质量 229
13.2.2 获取字体的信息 229
13.3 颜色 231
13.3.1 使用Color对象 231
13.3.2 检测和设置当前颜色 231
13.4 绘制直线和多边形 232
13.4.1 用户坐标空间和设备坐标空间 232
13.4.2 指定渲染属性 233
13.4.3 创建要绘制的对象 234
13.4.4 绘制对象 236
13.5 总结 239
13.6 问与答 239
13.7 小测验 239
13.7.1 问题 239
13.7.2 答案 240
13.8 认证练习 240
13.9 练习 240
第14章 开发Swing应用程序 241
14.1 Java Web Start 241
14.2 使用Java Web Start 243
14.2.1 创建JNLP文件 243
14.2.2 在服务器上支持Web Start 249
14.2.3 其他JNLP元素 250
14.3 使用SwingWorker改善性能 251
14.4 总结 255
14.5 问与答 255
14.6 小测验 255
14.6.1 问题 255
14.6.2 答案 256
14.7 认证练习 256
14.8 练习 256
第3周课程 Java编程 258
第15章 输入和输出 258
15.1 流简介 258
15.1.1 使用流 258
15.1.2 过滤流 259
15.1.3 处理异常 259
15.2 字节流 259
15.3 过滤流 262
15.4 字符流 269
15.4.1 读取文本文件 269
15.4.2 写文本文件 271
15.5 文件和路径 272
15.6 总结 274
15.7 问与答 274
15.8 小测验 275
15.8.1 问题 275
15.8.2 答案 275
15.9 认证练习 275
15.10 练习 276
第16章 使用内部类和闭包 277
16.1 内部类 277
16.2 闭包 284
16.3 总结 288
16.4 问与答 288
16.5 小测验 288
16.5.1 问题 288
16.5.2 答案 289
16.6 认证练习 289
16.7 练习 290
第17章 通过Internet进行通信 291
17.1 Java联网技术 291
17.1.1 打开跨越网络的流 291
17.1.2 套接字 294
17.1.3 Socket服务器 297
17.1.4 设计服务器应用程序 298
17.1.5 测试服务器 299
17.2 java.nio包 300
17.2.1 缓冲区 301
17.2.2 通道 303
17.3 总结 310
17.4 问与答 311
17.5 小测验 311
17.5.1 问题 311
17.5.2 答案 311
17.6 认证练习 311
17.7 练习 312
第18章 使用JDBC 4.2 和Derby访问数据库 313
18.1 JDBC 313
18.1.1 数据库驱动程序 314
18.1.2 查看数据库 314
18.1.3 读取数据库记录 316
18.1.4 将记录写入数据库 320
18.1.5 遍历结果集 325
18.2 总结 325
18.3 问与答 325
18.4 小测验 326
18.4.1 问题 326
18.4.2 答案 326
18.5 认证练习 326
18.6 练习 327
第19章 读写RSS Feed 328
19.1 使用XML 328
19.2 设计XML语言 330
19.3 使用Java处理XML 331
19.4 使用XOM处理XML 331
19.4.1 创建XML文档 332
19.4.2 修改MXL文档 334
19.4.3 格式化XML文档 338
19.4.4 评估XOM 339
19.5总结 341
19.6 问与答 342
19.7 小测验 342
19.7.1 问题 342
19.7.2 答案 342
19.8 认证练习 343
19.9 练习 343
第20章 XML Web服务 344
20.1 XML-RPC简介 344
20.2 使用XML-RPC进行通信 345
20.2.1 发送请求 345
20.2.2 响应请求 346
20.3 选择XML-RPC实现 347
20.4 使用XML-RPC Web服务 348
20.5 创建XML-RPC Web服务 350
20.6 总结 354
20.7 问与答 354
20.8 小测验 354
20.8.1 问题 355
20.8.2 答案 355
20.9 认证练习 355
20.10 练习 356
第21章 使用Java编写Android应用 357
21.1 Android的历史 357
21.2 编写Android应用 358
21.2.1 组织Android项目 360
21.2.2 创建程序 361
21.3 运行应用 362
21.4 设计Android应用 363
21.4.1 准备资源 363
21.4.2 配置清单文件 364
21.4.3 设计图形用户界面 365
21.4.4 编写代码 367
21.5 总结 372
21.6 问与答 372
21.7 小测验 372
21.7.1 问题 372
21.7.2 答案 372
21.8 认证练习 373
21.9 练习 373
附录 376
附录A使用集成开发环境NetBeans 376
A.1 安装NetBeans 376
A.2 新建项目 376
A.3 新建Java类 378
A.4 运行应用程序 379
A.5 修复错误 380
A.6 展开和折叠窗格 381
A.7 探索NetBeans 382
附录B 配套网站 383
附录C修复Android Studio模拟器存在的问题 384
C.1 运行应用时出现的问题 384
C.1.1 在Android S tudio中下载HAXM 385
C.1.2 在计算机中安装HAXM 385
C.1.3 检查BIOS设置 387
附录D使用Java开发包 388
D.1 选择Java开发工具 388
D.2 配置JDK 390
D.2.1 使用命令行界面 390
D.2.2 切换文件夹 391
D.2.3 在MS-DOS中创建文件夹 392
D.2.4 在MS-DOS中运行程序 392
D.2.5 修复配置错误 393
D.3 使用文本编辑器 396
D.4 创建示例程序 397
D.5 设置CLASSPATH变量 398
D.5.1 在大多数Windows版本中设置CLASSPATH 399
D.5.2 在Windows 98/Me中设置CLASSPATH 400
附录E使用Java开发包编程 402
E.1 JDK概览 402
E.2 Java虚拟机 403
E.3 编译器javac 404
E.4 浏览器appletviewer 405
E.5 文档工具javadoc 407
E.6 Java文件存档工具jar 409
E.7 调试器j db 410
E.7.1 调试应用程序 411
E.7.2 调试小程序 412
E.7.3 高级调试命令 412
E.8 使用系统属性 413
E.9 代码签名工具keytool和jarsigner 414