目 录
第 1章 成为程序员 1
1.1 选择编程语言 2
1.2 告诉计算机做什么 3
1.3 程序的工作原理 5
1.4 为什么程序不能正常工作 5
1.5 选择Java编程工具 5
1.6 安装Java开发工具 6
1.7 总结 6
1.8 问与答 7
1.9 测验 7
1.9.1 问题 7
1.9.2 答案 7
1.10 练习 8
第 2章 编写第 一个程序 9
2.1 编写程序所需的工具 9
2.2 创建Saluton程序 10
2.3 开始输入程序 10
2.3.1 class语句 11
2.3.2 main语句的作用 12
2.3.3 大括号 12
2.4 在变量中存储信息 13
2.5 保存编写好的程序 13
2.6 将程序编译为class文件 14
2.7 修复错误 14
2.8 运行Java程序 15
2.9 总结 16
2.10 问与答 16
2.11 测验 17
2.11.1 问题 17
2.11.2 答案 17
2.12 练习 18
第3章 Java之旅 19
3.1 第 一站:Oracle 19
3.2 去Java学校 21
3.3 在JavaWorld用午餐 22
3.4 在NASA仰望天穹 24
3.5 回归正题 24
3.6 到Java Boutique去问路 25
3.7 在手机上运行Java 26
3.8 总结 27
3.9 问与答 27
3.10 测验 28
3.10.1 问题 28
3.10.2 答案 28
3.11 练习 28
第4章 理解Java程序的工作原理 29
4.1 创建应用程序 29
4.2 向应用程序传递参数 30
4.3 创建applet 32
4.4 总结 34
4.5 问与答 34
4.6 测验 34
4.6.1 问题 34
4.6.2 答案 35
4.7 练习 35
第5章 在程序中存储和修改信息 36
5.1 语句和表达式 36
5.2 指定变量类型 37
5.2.1 整数和浮点数 37
5.2.2 字符和字符串 38
5.2.3 其他数值类型的变量 39
5.2.4 布尔型变量 39
5.3 给变量命名 40
5.4 在变量中存储信息 40
5.5 运算符 41
5.5.1 变量的递增与递减 42
5.5.2 运算符优先级 43
5.6 使用表达式 44
5.7 总结 46
5.8 问与答 46
5.9 测验 47
5.9.1 问题 47
5.9.2 答案 47
5.10 练习 47
第6章 使用字符串来交流 48
6.1 在字符串中存储文本 48
6.2 在程序中显示字符串 49
6.3 在字符串中使用特殊字符 50
6.4 拼接字符串 50
6.5 将其他变量用于字符串中 51
6.6 字符串的高级处理 52
6.6.1 比较两个字符串 52
6.6.2 确定字符串的长度 52
6.6.3 改变字符串的大小写 53
6.6.4 查找字符串 53
6.7 导演及演员名单 54
6.8 总结 55
6.9 问与答 55
6.10 测验 56
6.10.1 问题 56
6.10.2 答案 56
6.11 练习 56
第7章 使用条件测试进行判断 57
7.1 if语句 58
7.1.1 小于和大于的比较 58
7.1.2 相等和不等 58
7.1.3 使用块语句组织程序 59
7.2 if-else语句 60
7.3 switch语句 61
7.4 条件运算符 63
7.5 观察时钟 63
7.6 总结 66
7.7 问与答 66
7.8 测验 67
7.8.1 问题 67
7.8.2 答案 67
7.9 练习 68
第8章 使用循环重复执行操作 69
8.1 for循环 69
8.2 while循环 71
8.3 do-while循环 72
8.4 退出循环 73
8.5 给循环命名 73
8.6 测试计算机的运行速度 75
8.7 总结 76
8.8 问与答 76
8.9 测验 76
8.9.1 问题 77
8.9.2 答案 77
8.10 练习 77
第9章 使用数组存储信息 78
9.1 创建数组 79
9.2 使用数组 80
9.3 多维数组 81
9.4 对数组进行排序 82
9.5 对字符串中的字符计数 83
9.6 总结 85
9.7 问与答 85
9.8 测验 86
9.8.1 问题 86
9.8.2 答案 86
9.9 练习 86
第 10章 创建第 一个对象 87
10.1 面向对象编程的工作原理 87
10.2 对象示例 88
10.3 什么是对象 89
10.4 理解继承 90
10.5 建立继承层次 90
10.6 转换对象和简单变量 91
10.6.1 简单变量的类型转换 92
10.6.2 对象类型转换 92
10.6.3 在简单变量和对象之间进行转换 93
10.6.4 自动封装和拆封 94
10.7 创建对象 95
10.8 总结 97
10.9 问与答 97
10.10 测验 97
10.10.1 问题 97
10.10.2 答案 98
10.11 练习 98
第 11章 描述对象 99
11.1 创建变量 99
11.2 创建类变量 101
11.3 用方法来创建行为 102
11.3.1 声明方法 102
11.3.2 参数不同的类似方法 103
11.3.3 构造函数 103
11.3.4 类方法 104
11.3.5 方法中变量的作用域 105
11.4 将一个类放在另一个类中 105
11.5 使用关键字this 106
11.6 使用类方法和类变量 107
11.7 总结 109
11.8 问与答 109
11.9 测验 109
11.9.1 问题 109
11.9.2 答案 110
11.10 练习 110
第 12章 充分利用现有对象 111
12.1 继承的威力 111
12.1.1 继承行为和属性 112
12.1.2 覆盖方法 112
12.2 建立继承 113
12.3 使用现有的对象 114
12.4 将相同类型的对象存储到Vector中 115
12.5 创建子类 117
12.6 总结 119
12.7 问与答 119
12.8 测验 120
12.8.1 问题 120
12.8.2 答案 120
12.9 练习 120
第 13章 创建简单的用户界面 121
13.1 Swing和抽象窗口工具包 121
13.2 使用组件 122
13.2.1 窗口和框架 122
13.2.2 按钮 125
13.2.3 标签和文本框 127
13.2.4 复选框 127
13.2.5 组合框 128
13.2.6 文本区域 129
13.2.7 面板 130
13.3 创建自己的组件 130
13.4 总结 133
13.5 问与答 133
13.6 测验 133
13.6.1 问题 133
13.6.2 答案 134
13.7 练习 134
第 14章 用户界面的布局 135
14.1 使用布局管理器 135
14.1.1 GridLayout管理器 137
14.1.2 BorderLayout管理器 137
14.1.3 BoxLayout管理器 138
14.1.4 使用Insets将组件隔开 139
14.2 应用程序的界面布局 139
14.3 总结 143
14.4 问与答 143
14.5 测验 143
14.5.1 问题 144
14.5.2 答案 144
14.6 练习 144
第 15章 响应用户输入 145
15.1 让程序监听 145
15.2 设置要监听的组件 146
15.3 处理用户事件 146
15.3.1 复选框和组合框事件 147
15.3.2 键盘事件 148
15.3.3 启用和禁用组件 149
15.4 完善图形应用程序 150
15.5 总结 157
15.6 问与答 157
15.7 测验 157
15.7.1 问题 158
15.7.2 答案 158
15.8 练习 158
第 16章 创建复杂的用户界面 159
16.1 滚动窗格 159
16.2 滑块 161
16.3 变更监听器 162
16.4 使用图像图标和工具栏 165
16.5 总结 168
16.6 问与答 169
16.7 测验 169
16.7.1 问题 169
16.7.2 答案 169
16.8 练习 169
第 17章 创建交互式Web程序 170
17.1 标准applet方法 170
17.1.1 在applet窗口中绘画 171
17.1.2 初始化applet 172
17.1.3 启动和停止applet 172
17.1.4 销毁applet 172
17.2 将applet放到Web页面中 172
17.3 创建applet 173
17.3.1 在applet窗口中绘画 174
17.3.2 测试SalutonApplet程序 174
17.4 从Web页面传递参数 175
17.5 在applet中接收参数 176
17.6 在applet中处理参数 176
17.7 使用object标记 178
17.8 总结 178
17.9 问与答 179
17.10 测验 179
17.10.1 问题 179
17.10.2 答案 179
17.11 练习 180
第 18章 处理程序中的错误 181
18.1 异常 181
18.1.1 在try-catch块中捕获异常 182
18.1.2 捕获多种不同的异常 184
18.1.3 出现异常后进行处理 186
18.1.4 抛出异常 186
18.1.5 忽略异常 188
18.2 抛出和捕获异常 188
18.3 总结 190
18.4 问与答 190
18.5 测验 191
18.5.1 问题 191
18.5.2 答案 191
18.6 练习 191
第 19章 创建线程程序 192
19.1 线程 192
19.1.1 降低程序的速度 192
19.1.2 创建线程 193
19.2 使用线程 196
19.2.1 声明类 196
19.2.2 创建变量 197
19.3 从init()开始 197
19.4 在创建URL时捕获错误 198
19.5 在paint()方法中处理屏幕更新 198
19.6 启动线程 199
19.6.1 运行线程 199
19.6.2 停止线程 200
19.7 处理鼠标单击 200
19.8 循环显示链接 201
19.9 总结 203
19.10 问与答 203
19.11 测验 203
19.11.1 问题 203
19.11.2 答案 204
19.12 练习 204
第 20章 读写文件 205
20.1 流 205
20.1.1 文件 206
20.1.2 从流中读取数据 207
20.1.3 缓冲输入流 209
20.2 将数据写入流中 211
20.3 读写配置属性 212
20.4 总结 215
20.5 问与答 215
20.6 测验 215
20.6.1 问题 215
20.6.2 答案 216
20.7 练习 216
第 21章 读写XML数据 217
21.1 创建XML文件 217
21.2 读取XML文件 220
21.3 读取RSS聚合内容(Syndication Feeds) 224
21.4 总结 225
21.5 问与答 226
21.6 测验 226
21.6.1 问题 226
21.6.2 答案 226
21.7 练习 227
第 22章 利用JAX-WS开发Web服务 228
22.1 定义服务端点接口 228
使用注解来简化Java代码 229
22.2 创建服务实现Bean 230
22.3 发布Web服务 231
22.4 使用Web服务描述语言文件 232
22.5 创建Web服务客户端 234
22.6 总结 236
22.7 问与答 236
22.8 测验 237
22.8.1 问题 237
22.8.2 答案 237
22.9 练习 237
第 23章 创建Java2D图形 239
23.1 使用Font类 239
23.2 使用Color类 240
23.3 创建自定义颜色 241
23.4 绘制直线和形状 241
23.4.1 绘制直线 242
23.4.2 绘制矩形 242
23.4.3 绘制椭圆和圆 243
23.4.4 绘制弧线 243
23.5 绘制饼图 244
23.6 总结 249
23.7 问与答 250
23.8 测验 250
23.8.1 问题 250
23.8.2 答案 251
23.9 练习 251
第 24章 编写Android app 252
24.1 Android简介 252
24.2 创建Android app 254
24.2.1 剖析一个Android新项目 255
24.2.2 创建app 256
24.2.3 安装Android模拟器 257
24.2.4 创建调试配置 259
24.3 运行app 260
24.4 设计真实的app 261
24.4.1 组织资源 262
24.4.2 配置app的Manifest文件 264
24.4.3 设计用户界面 265
24.4.4 编写Java代码 267
24.5 总结 272
24.6 问与答 272
24.7 测验 273
24.7.1 问题 273
24.7.2 答案 273
24.8 练习 273
附录A 使用NetBeans IDE 275
A.1 安装NetBeans 275
A.2 创建新项目 276
A.3 创建新的Java类 277
A.4 运行应用程序 278
A.5 修复错误 279
附录B Java资源 281
B.1 可以考虑的其他书 281
B.2 Oracle公司的Java官方站点 282
B.3 其他Java站点 282
B.3.1 本书英文版的配套网站 282
B.3.2 Caféau Lait 282
B.3.3 Workbench 283
B.3.4 Java 7Developer Blog 283
B.3.5 其他Java博客 283
B.3.6 InformIT 283
B.3.7 Stack Overflow 283
B.3.8 Java Review Service 283
B.3.9 JavaWorld杂志 283
B.3.10 Developer.com’s Java Directory 284
附录C 本书站点 285
附录D 设置Android开发环境 287
D.1 起步 287
D.2 安装Eclipse 287
D.3 安装Android SDK 288
D.4 安装在Eclipse中使用的 Android插件 289
D.5 设置你的手机 291