第1章 编程语言与Java基础知识 1
1.1编程语言基础知识 1
1.1.1程序、软件与应用程序 1
1.1.2编程语言的种类 2
1.1.3低级语言 2
1.1.4高级语言 3
1.1.5程序是如何执行的 3
1.2 Java基础知识 6
1.2.1 Java平台 6
1.2.2 Java语言的版本 6
1.2.3 Java编程语言的特点 8
1.3 Java语言的开发环境 8
1.4搭建Java开发环境 9
1.4.1安装与设置JDK 9
1.4.2安装与启动Eclipse IDE 12
习题 15
第2章 构建Java应用程序 16
2.1如何构建应用程序 16
2.1.1如何编写程序代码 16
2.1.2程序设计的基础 17
2.1.3算法 18
2.2构建Java应用程序 19
2.2.1构建第一个Java程序 19
2.2.2使用Eclipse IDE构建第2个Java程序 21
2.2.3使用书的范例项目 24
2.3 Java程序结构与基本输出 24
2.4 Eclipse IDE的项目管理与使用 26
2.4.1切换工作空间 26
2.4.2 Eclipse IDE的项目管理 27
2.4.3 Eclipse IDE的基本使用 29
2.5良好的Java程序代码编写风格 32
2.5.1程序语句 32
2.5.2程序块 33
2.5.3程序注释 33
2.5.4避免太长的程序代码 33
2.5.5程序代码缩排 33
学习评估 34
第3章 变量、数据类型与运算符 35
3.1变量与数据类型基础 35
3.2变量的命名与声明 35
3.2.1 Java的命名语法 36
3.2.2变量的声明 37
3.2.3赋值语句 38
3.2.4常量的声明与使用 40
3.3 Java的数据类型 40
3.3.1整数类型 41
3.3.2浮点型 42
3.3.3布尔型 43
3.3.4字符型 43
3.4 Java的表达式 45
3.4.1运算符的优先级 46
3.4.2算术运算符 46
3.4.3递增和递减运算 48
3.4.4关系与条件运算符 49
3.4.5位运算符 51
3.4.6指定运算符 54
3.5数据类型的转换 54
3.5.1宽化数据类型转换 54
3.5.2窄化数据类型转换与类型转换运算符 56
习题 57
第4章 流程控制结构 58
4.1流程控制与UML活动图 58
4.1.1 UML活动图 58
4.1.2流程控制的种类 59
4.2程序块与控制台基本输入 60
4.2.1程序块 60
4.2.2控制台的基本输入 62
4.3条件控制语句 63
4.3.1 if条件语句 63
4.3.2 if/else条件语句 64
4.3.3 switch条件语句 65
4.3.4?:条件运算符 68
4.4循环控制语句 69
4.4.1 for循环语句 69
4.4.2前测式的while循环语句 71
4.4.3后测试的do/while循环语句 72
4.4.4 break和continue关键字 73
4.5嵌套循环 74
习题 76
第5章 类方法 78
5.1过程与函数基础 78
5.2类方法 78
5.2.1创建Java类方法 79
5.2.2类方法的参数传递 81
5.2.3类方法的返回值 83
5.2.4值传递与引用传递 84
5.3类变量和变量作用域 86
5.3.1 Java的类变量 86
5.3.2 Java的变量作用域 87
5.4递归程序设计 89
5.4.1递归方法概述 89
5.4.2递归的阶乘函数 89
5.5 Math类及其类方法 91
5.5.1求随机数、最大和最小值 91
5.5.2 Math类的数学常量和方法 92
习题 94
第6章 数组与字符串 96
6.1数组基础 96
6.2一维数组与多维数组 96
6.2.1一维数组 97
6.2.2二维与多维数组 99
6.2.3可变长度的参数列表 101
6.3字符串类 102
6.3.1 Java字符串是一种引用数据类型 103
6.3.2字符串处理 103
6.3.3 StringBuffer类 107
6.4字符串与数值的转换 109
6.4.1将字符串转换成数值 109
6.4.2将数值转换成字符串 110
6.5对象数组 112
6.6查找与排序 112
6.6.1排序与查找的基础 113
6.6.2冒泡排序法 113
6.6.3顺序查找法 115
6.6.4二分查找法 116
习题 117
第7章 类与对象 119
7.1面向对象的应用程序开发 119
7.1.1传统的应用程序开发 119
7.1.2面向对象的应用程序开发 120
7.2面向对象基础 120
7.2.1对象基础 121
7.2.2面向对象程序语言 121
7.3类与对象 122
7.3.1类与对象 122
7.3.2成员变量的访问 126
7.3.3成员方法的使用 128
7.3.4重载方法 130
7.4类的构造函数 132
7.4.1类的构造函数 132
7.4.2使用this引用对象本身 134
7.5对象成员 136
7.6对象使用类变量与方法 137
习题 140
第8章 继承、抽象类与接口 142
8.1类的继承 142
8.1.1类层次结构 142
8.1.2类的继承 143
8.1.3重写和隐藏父类的方法 145
8.1.4隐藏父类的成员变量 147
8.1.5使用父类的构造函数 149
8.2接口 151
8.2.1接口简介 151
8.2.2创建与使用接口 152
8.2.3在类实现多个接口 154
8.3接口的继承 155
8.3.1继承接口 156
8.3.2接口的多重继承 157
8.4抽象类 160
8.5抽象类与接口 163
8.6常量类 166
习题 168
第9章 嵌套类、多态与包 170
9.1嵌套类 170
9.1.1嵌套类 170
9.1.2嵌套类的使用 173
9.2匿名嵌套类 175
9.2.1类继承的匿名内层类 175
9.2.2实现接口的匿名内层类 176
9.2.3匿名内层类与this和final关键字 178
9.3多态基础 180
9.3.1静态绑定与动态绑定 180
9.3.2 Java语言支持的多态 181
9.4多态的实现 181
9.4.1使用类继承来实现多态 181
9.4.2使用接口来实现多态 184
9.5包 186
9.5.1 Java包基础 186
9.5.2 package和import命令语句的使用 187
习题 190
第10章 异常处理、线程与泛型集合对象 191
10.1 Java的异常处理 191
10.1.1异常处理的架构 191
10.1.2 Throwable类 191
10.1.3异常处理语句 192
10.1.4同时处理多种异常 194
10.2抛出异常与自定义Exception类 196
10.2.1使用throw关键字 196
10.2.2在方法抛出异常 197
10.2.3自定义Exception类 199
10.3线程的基础知识 200
10.4创建Java的线程 201
10.4.1实现Runnable接口来创建线程 201
10.4.2继承Thread类来创建线程 204
10.5集合对象简介 205
10.5.1 Java CollectionsFramework 206
10.5.2集合接口 206
10.5.3泛型集合类概述 207
10.6泛型集合类 208
10.6.1 HashSet类 208
10.6.2 ArrayList类 210
10.6.3 Iterator接口 211
10.6.4 ListIterator接口 213
习题 214
第11章 Android与XML基础 216
11.1 XML基础 216
11.1.1 XML标记语言 216
11.1.2 XML的组成元素 217
11.2 Android移动操作系统 219
11.2.1 Android基础 219
11.2.2 Android的版本 220
11.2.3 Android的特点 220
11.3 Android的系统架构 221
11.4 Android应用程序的组成组件 222
11.5下载与安装Android开发环境 223
11.5.1下载和安装Android SDK 223
11.5.2安装ADT 224
11.5.3安装Android SDK平台包 226
11.6 Android模拟器的基本使用 229
11.6.1创建与启动Android模拟器 229
11.6.2 Android的基本操作界面 231
11.6.3使用Android模拟器 232
习题 234
第12章 布局与使用界面控件 235
12.1创建第一个Android应用程序 235
12.1.1建立Android应用程序 235
12.1.2在模拟器执行Android应用程序 240
12.1.3导入Android项目的常见问题 241
12.2 Android项目目录结构 242
12.3布局 244
12.3.1布局的基础 244
12.3.2 LinearLayout布局 244
12.3.3 TableLayout布局 246
12.4界面控件的基础知识 247
12.4.1 View与ViewGroup类 247
12.4.2 Android使用的尺寸单位 248
12.5用户界面控件 248
12.5.1文字输入的用户界面控件 248
12.5.2选择功能的用户界面控件 251
习题 253
第13章 活动与事件处理 254
13.1活动类 254
13.2活动的生命周期 255
13.2.1活动堆栈 255
13.2.2活动的生命周期 256
13.2.3管理活动状态与Log类 257
13.3 Android的事件处理 262
13.3.1事件处理的基础 262
13.3.2控件的android:id属性 262
13.4创建事件处理程序 264
13.4.1使用andorid:onClick属性 264
13.4.2使用匿名内层类 266
13.5更多的事件处理 269
13.5.1长按事件 269
13.5.2键盘事件与Toast类 271
习题 273
第14章 意图与意图筛选 274
14.1意图的基础知识 274
14.2使用意图来启动活动 275
14.3传递数据给其他活动 278
14.4取得活动的返回数据 281
14.5使用意图启动内置应用程序 287
14.5.1动作类型和URI 287
14.5.2使用意图启动内置应用程序 288
习题 290
第15章 菜单、对话框与列表界面 292
15.1选项菜单 292
15.2信息与确认对话框 296
15.2.1创建信息对话框 296
15.2.2创建确认对话框 298
15.3 Spinner列表控件 299
15.4 ListView列表控件 303
习题 306
第16章 偏好设置、文件与SQLite数据库 307
16.1保存偏好设置 307
16.2文件访问 310
16.3 SQLite数据库与SQL语言 313
16.3.1 SQLite数据库引擎 313
16.3.2 SQL语言的DDL指令 313
16.3.3 SQL语言的DML指令 314
16.4使用SQLite数据库 315
16.4.1使用SQLiteOpenHelper类建立数据库 315
16.4.2使用SQLiteDatabase类访问数据表 318
习题 324
第17章 内容提供程序、广播接收器与信息提醒 325
17.1内容提供程序的基础 325
17.1.1内容提供程序的基础 325
17.1.2系统内置的内容提供程序 325
17.2使用系统的内容提供程序 327
17.2.1取得通信录的电话号码 327
17.2.2查询浏览器的书签 331
17.3广播接收器 333
17.4状态栏与信息提醒 335
习题 340
第18章 Google地图与定位服务 341
18.1取得Google Maps API密钥 341
18.2使用Google地图 343
18.3在 Google地图使用定位服务 347
18.3.1 Android的定位服务与坐标 347
18.3.2在Google地图使用定位服务 348
18.4标记Google地图 353
习题 357
附录A Java Applet、 AWT包与委托事件处理 358
附录B制作安装包与发布应用程序 379
附录C ASCII码对照表 385