第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 Cafeau Lair 282
B.3.3 Workbench 283
B.3.4 Java 7DeveloperBlog 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