
Java foundations:introduction to program design and data structures
副标题:无
作 者:(美)John Lewis,(美)Peter J. DePasquale,(美)Joseph Chase著;辛运帏,饶一梅译
分类号:
ISBN:9787111241775
微信扫一扫,移动浏览光盘
简介
本书作者颇具匠心地将程序设计、数据结构等相关课程内容有机地包容在一本书中,解决了这两门专业基础课不能很好衔接的问题。本书从一开始就将重点放在软件开发实践方面,在解释如何编写类之前先介绍了控制结构,从而使读者在真正了解了基础程序设计语句之后再学习编写类代码。作者还使用数据结构中的内容作为问题导引,在介绍经典算法的同时,全面介绍了如何用所学知识解决实际问题。.
本书内容全面,讲解透彻,可作为程序设计、数据结构等相关课程的教材。
本书特点
●全面介绍了程序设计基础、对象和数据结构,可作为java程序设计相关课程的入门教材使用。
●先介绍控制结构和程序设计的基本语句,再介绍类的编写。..
●代码示例丰富,既有就事论事而编写的小程序,也有较大的、易于理解的实用的示例。
●用单独一章全面介绍图形用户界面,包括一些有意思的图形示例。
●第11章“创建、测试和调试”的学习有助于读者构建大规模的程序。
●本书附赠光盘,光盘中除包括书中所有程序的源代码、java软件开发工具包、各种java开发环境外,还包括本书中文版的附录部分。...
目录
出版者的话.
译者序
前言
第1章 绪论 1
1.1 java程序设计语言 1
1.1.1 java程序 2
1.1.2 注释 3
1.1.3 标识符和保留字 4
1.1.4 空白 5
1.2 程序开发 6
1.2.1 程序语言等级 7
1.2.2 编辑器、编译程序和解释程序 8
1.2.3 开发环境 9
1.2.4 语法和语义 9
1.2.5 错误 10
1.3 问题求解 11
1.4 软件开发活动 11
1.5 面向对象程序设计 12
知识点摘要 14
习题 15
.第2章 数据和表达式 18
2.1 字符串 18
2.1.1 print及println方法 18
2.1.2 字符串连接 19
2.1.3 转义字符 21
2.2 变量和赋值 22
2.2.1 变量 22
2.2.2 赋值语句 23
2.2.3 常量 24
2.3 基本数据类型 25
2.3.1 整型和浮点型 25
2.3.2 字符类型 26
2.3.3 boolean类型 27
2.4 表达式 27
2.4.1 数学运算符 27
2.4.2 运算符优先级 28
2.4.3 增量及减量运算符 30
2.4.4 赋值运算符 31
2.5 数据转换 31
2.6 读输入数据 33
知识点摘要 36
习题 36
第3章 类及对象的使用 41
3.1 创建对象 41
3.2 string类 43
3.3 包 45
3.4 random类 47
3.5 math类 49
3.6 格式化输出 51
3.6.1 numberformat类 51
3.6.2 decimalformat类 52
3.6.3 printf方法 53
3.7 枚举类型 54
3.8 包装类 55
知识点摘要 56
习题 57
第4章 条件和循环 61
4.1 布尔表达式 61
4.1.1 相等及关系运算符 62
4.1.2 逻辑运算符 62
4.2 if语句 63
4.2.1 if-else语句 65
4.2.2 使用块语句 66
4.2.3 条件运算符 68
4.2.4 嵌套的if语句 69
4.3 数据比较 70
4.3.1 浮点数比较 70
4.3.2 字符比较 70
4.3.3 对象比较 71
4.4 switch语句 72
4.5 while语句 74
4.5.1 无限循环 77
4.5.2 嵌套的循环 77
4.5.3 其他的循环控制 80
4.6 迭代器 80
4.7 do语句 82
4.8 for语句 84
4.8.1 迭代器和for循环 86
4.8.2 循环语句的比较 87
知识点摘要 87
习题 87
第5章 编写类 93
5.1 再谈类和对象 93
5.1.1 类和对象的确定 94
5.1.2 分配职责 95
5.2 类的剖析 95
5.2.1 实例数据 98
5.2.2 uml类图 99
5.3 封装 100
5.3.1 可见性修饰符 100
5.3.2 访问方法和修改方法 101
5.4 方法的剖析 104
5.4.1 return语句 108
5.4.2 参数 108
5.4.3 局部数据 109
5.4.4 再次讨论构造方法 110
5.5 静态类成员 110
5.5.1 静态变量 110
5.5.2 静态方法 110
5.6 类关系 112
5.6.1 依赖 112
5.6.2 同一个类中各对象之间的依赖 113
5.6.3 聚合 117
5.6.4 this引用 117
5.7 方法设计 118
5.7.1 方法分解 118
5.7.2 再次讨论方法参数 121
5.8 方法重载 124
知识点摘要 126
习题 126
第6章 图形用户界面 132
6.1 gui元素 132
6.1.1 框架和面板 134
6.1.2 按钮和动作事件 135
6.1.3 判定事件源 136
6.2 更多的组件 138
6.2.1 文本域 138
6.2.2 复选框 140
6.2.3 单选按钮 142
6.2.4 滑动条 145
6.2.5 组合框 148
6.2.6 计时器 151
6.3 布局管理器 153
6.3.1 流布局管理器 155
6.3.2 边界布局管理器 157
6.3.3 网格布局管理器 159
6.3.4 盒子布局管理器 160
6.3.5 包含层次 162
6.4 鼠标和键盘事件 162
6.4.1 鼠标事件 162
6.4.2 键盘事件 167
6.4.3 继承适配器类 170
6.5 对话框 170
6.5.1 文件选择器 172
6.5.2 颜色选择器 173
6.6 一些重要细节 174
6.6.1 边界 174
6.6.2 工具提示和助记符 177
6.7 gui设计 180
知识点摘要 181
习题 181
第7章 数组 186
7.1 数组元素 186
7.2 数组的声明及使用 187
7.2.1 边界检查 188
7.2.2 两种数组语法 191
7.2.3 初值表.. 191
7.2.4 数组作为参数 192
7.3 对象数组 193
7.4 命令行参数 199
7.5 变长参数表 199
7.6 二维数组 202
知识点摘要 205
习题 205
第8章 继承 209
8.1 创建子类 209
8.1.1 protected修饰符 212
8.1.2 super引用 213
8.1.3 多重继承 215
8.2 方法覆盖 215
8.3 类层次 217
8.3.1 object类 218
8.3.2 抽象类 219
8.4 可见性 220
8.5 设计继承 221
知识点摘要 222
习题 223
第9章 多态 226
9.1 后绑定 226
9.2 通过继承实现多态 227
9.3 接口 234
9.3.1 接口层次 237
9.3.2 comparable接口 237
9.3.3 iterator接口 238
9.4 通过接口实现多态 238
知识点摘要 240
习题 240
第10章 异常 243
10.1 异常处理 243
10.2 不捕获异常 244
10.3 try-catch语句 244
10.4 异常传播 247
10.5 异常类层次 249
10.6 i/o异常 251
知识点摘要 253
习题 253
第11章 创建、测试和调试 256
11.1 创建大型应用程序:jfmail 256
11.2 包 258
11.2.1 通过包来组织代码 258
11.2.2 创建自己的包 258
11.2.3 使用classpath 259
11.2.4 java存档(jar)文件 261
11.2.5 使用其他开发人员的包 262
11.3 建立java工程 263
11.3.1 ide和classpath 263
11.3.2 创建工具和ant 263
11.4 测试 265
11.4.1 审核 266
11.4.2 缺陷测试 266
11.4.3 单元测试 267
11.4.4 集成测试 267
11.4.5 系统测试 267
11.4.6 junit 268
11.4.7 junit的进一步讨论 271
11.4.8 测试驱动的开发 273
11.4.9 关于测试及jfmail的最后注释 273
11.5 调试 274
11.5.1 使用print语句进行简单调试 274
11.5.2 调试概念 274
11.5.3 java调试程序(jdb) 275
11.5.4 调试jfmail程序 277
11.5.5 基于gui的调试程序 279
知识点摘要 279
习题 280
第12章 递归 282
12.1 递归思想 282
12.1.1 无穷递归 283
12.1.2 数学中的递归 283
12.2 递归程序设计 283
12.2.1 递归与迭代 285
12.2.2 直接递归与间接递归 285
12.3 使用递归 286
12.3.1 走迷宫 286
12.3.2 汉诺塔 289
知识点摘要 292
习题 292
第13章 查找与排序 295
13.1 查找 295
13.1.1 线性查找 297
13.1.2 二分查找 298
13.2 排序 300
13.2.1 选择排序 303
13.2.2 插入排序 304
13.2.3 起泡排序 305
13.2.4 快速排序 305
13.2.5 归并排序 306
13.3 算法分析 308
13.3.1 增长函数和大o()符号 308
13.3.2 比较增长函数 309
13.3.3 分析循环的执行 310
13.3.4 分析递归程序 310
13.4 分析查找及排序算法 311
13.4.1 比较查找算法 311
13.4.2 比较排序算法 312
知识点摘要 313
习题 314
第14章 集合和链表 317
14.1 集合简介 317
14.1.1 独立于实现的接口 317
14.1.2 java collections api 318
14.1.3 泛型 318
14.2 包集合 319
14.3 使用数组实现包 322
14.4 链表 327
14.4.1 链表的管理 328
14.4.2 没有链的元素 330
14.5 包的链式实现 330
知识点摘要 333
习题 334
第15章 栈和队列 337
15.1 栈 337
15.2 计算后缀表达式 338
15.3 使用数组实现栈 343
15.4 使用链表实现栈 345
15.5 java.util.stack类 347
15.6 队列 347
15.7 基数排序 349
15.8 使用数组实现队列 351
15.9 使用循环数组实现队列 354
15.10 使用链表实现队列 357
15.11 栈与队列实现的分析 359
知识点摘要 359
习题 360
第16章 树 364
16.1 树 364
16.2 树的遍历 365
16.2.1 先序遍历 366
16.2.2 中序遍历 366
16.2.3 后序遍历 367
16.2.4 层序遍历 367
16.3 树的实现策略 368
16.3.1 在数组中计算链 368
16.3.2 在数组中保存链 368
16.3.3 链式结点 368
16.4 二叉树实现 369
16.5 决策树 375
知识点摘要 377
习题 378
第17章 查找树和堆 381
17.1 二叉查找树 381
17.1.1 在二叉查找树中添加元素 382
17.1.2 从二叉查找树中删除元素 382
17.2 二叉查找树的实现 384
17.3 平衡的二叉查找树 388
17.3.1 右旋转 389
17.3.2 左旋转 389
17.3.3 右-左旋转 389
17.3.4 左-右旋转 390
17.4 堆 390
17.4.1 向堆中添加元素 391
17.4.2 从堆中删除最大元素 391
17.5 堆的实现 392
17.6 堆排序 396
知识点摘要 397
习题 397
第18章 图 401
18.1 无向图 401
18.2 有向图 402
18.3 带权图 402
18.4 常用的图算法 403
18.4.1 遍历 403
18.4.2 测试连通性 406
18.4.3 最小生成树 406
18.4.4 判定最短路径 408
18.5 图的实现策略 408
18.5.1 邻接表 408
18.5.2 邻接矩阵 409
知识点摘要 410
习题 410
附录...
译者序
前言
第1章 绪论 1
1.1 java程序设计语言 1
1.1.1 java程序 2
1.1.2 注释 3
1.1.3 标识符和保留字 4
1.1.4 空白 5
1.2 程序开发 6
1.2.1 程序语言等级 7
1.2.2 编辑器、编译程序和解释程序 8
1.2.3 开发环境 9
1.2.4 语法和语义 9
1.2.5 错误 10
1.3 问题求解 11
1.4 软件开发活动 11
1.5 面向对象程序设计 12
知识点摘要 14
习题 15
.第2章 数据和表达式 18
2.1 字符串 18
2.1.1 print及println方法 18
2.1.2 字符串连接 19
2.1.3 转义字符 21
2.2 变量和赋值 22
2.2.1 变量 22
2.2.2 赋值语句 23
2.2.3 常量 24
2.3 基本数据类型 25
2.3.1 整型和浮点型 25
2.3.2 字符类型 26
2.3.3 boolean类型 27
2.4 表达式 27
2.4.1 数学运算符 27
2.4.2 运算符优先级 28
2.4.3 增量及减量运算符 30
2.4.4 赋值运算符 31
2.5 数据转换 31
2.6 读输入数据 33
知识点摘要 36
习题 36
第3章 类及对象的使用 41
3.1 创建对象 41
3.2 string类 43
3.3 包 45
3.4 random类 47
3.5 math类 49
3.6 格式化输出 51
3.6.1 numberformat类 51
3.6.2 decimalformat类 52
3.6.3 printf方法 53
3.7 枚举类型 54
3.8 包装类 55
知识点摘要 56
习题 57
第4章 条件和循环 61
4.1 布尔表达式 61
4.1.1 相等及关系运算符 62
4.1.2 逻辑运算符 62
4.2 if语句 63
4.2.1 if-else语句 65
4.2.2 使用块语句 66
4.2.3 条件运算符 68
4.2.4 嵌套的if语句 69
4.3 数据比较 70
4.3.1 浮点数比较 70
4.3.2 字符比较 70
4.3.3 对象比较 71
4.4 switch语句 72
4.5 while语句 74
4.5.1 无限循环 77
4.5.2 嵌套的循环 77
4.5.3 其他的循环控制 80
4.6 迭代器 80
4.7 do语句 82
4.8 for语句 84
4.8.1 迭代器和for循环 86
4.8.2 循环语句的比较 87
知识点摘要 87
习题 87
第5章 编写类 93
5.1 再谈类和对象 93
5.1.1 类和对象的确定 94
5.1.2 分配职责 95
5.2 类的剖析 95
5.2.1 实例数据 98
5.2.2 uml类图 99
5.3 封装 100
5.3.1 可见性修饰符 100
5.3.2 访问方法和修改方法 101
5.4 方法的剖析 104
5.4.1 return语句 108
5.4.2 参数 108
5.4.3 局部数据 109
5.4.4 再次讨论构造方法 110
5.5 静态类成员 110
5.5.1 静态变量 110
5.5.2 静态方法 110
5.6 类关系 112
5.6.1 依赖 112
5.6.2 同一个类中各对象之间的依赖 113
5.6.3 聚合 117
5.6.4 this引用 117
5.7 方法设计 118
5.7.1 方法分解 118
5.7.2 再次讨论方法参数 121
5.8 方法重载 124
知识点摘要 126
习题 126
第6章 图形用户界面 132
6.1 gui元素 132
6.1.1 框架和面板 134
6.1.2 按钮和动作事件 135
6.1.3 判定事件源 136
6.2 更多的组件 138
6.2.1 文本域 138
6.2.2 复选框 140
6.2.3 单选按钮 142
6.2.4 滑动条 145
6.2.5 组合框 148
6.2.6 计时器 151
6.3 布局管理器 153
6.3.1 流布局管理器 155
6.3.2 边界布局管理器 157
6.3.3 网格布局管理器 159
6.3.4 盒子布局管理器 160
6.3.5 包含层次 162
6.4 鼠标和键盘事件 162
6.4.1 鼠标事件 162
6.4.2 键盘事件 167
6.4.3 继承适配器类 170
6.5 对话框 170
6.5.1 文件选择器 172
6.5.2 颜色选择器 173
6.6 一些重要细节 174
6.6.1 边界 174
6.6.2 工具提示和助记符 177
6.7 gui设计 180
知识点摘要 181
习题 181
第7章 数组 186
7.1 数组元素 186
7.2 数组的声明及使用 187
7.2.1 边界检查 188
7.2.2 两种数组语法 191
7.2.3 初值表.. 191
7.2.4 数组作为参数 192
7.3 对象数组 193
7.4 命令行参数 199
7.5 变长参数表 199
7.6 二维数组 202
知识点摘要 205
习题 205
第8章 继承 209
8.1 创建子类 209
8.1.1 protected修饰符 212
8.1.2 super引用 213
8.1.3 多重继承 215
8.2 方法覆盖 215
8.3 类层次 217
8.3.1 object类 218
8.3.2 抽象类 219
8.4 可见性 220
8.5 设计继承 221
知识点摘要 222
习题 223
第9章 多态 226
9.1 后绑定 226
9.2 通过继承实现多态 227
9.3 接口 234
9.3.1 接口层次 237
9.3.2 comparable接口 237
9.3.3 iterator接口 238
9.4 通过接口实现多态 238
知识点摘要 240
习题 240
第10章 异常 243
10.1 异常处理 243
10.2 不捕获异常 244
10.3 try-catch语句 244
10.4 异常传播 247
10.5 异常类层次 249
10.6 i/o异常 251
知识点摘要 253
习题 253
第11章 创建、测试和调试 256
11.1 创建大型应用程序:jfmail 256
11.2 包 258
11.2.1 通过包来组织代码 258
11.2.2 创建自己的包 258
11.2.3 使用classpath 259
11.2.4 java存档(jar)文件 261
11.2.5 使用其他开发人员的包 262
11.3 建立java工程 263
11.3.1 ide和classpath 263
11.3.2 创建工具和ant 263
11.4 测试 265
11.4.1 审核 266
11.4.2 缺陷测试 266
11.4.3 单元测试 267
11.4.4 集成测试 267
11.4.5 系统测试 267
11.4.6 junit 268
11.4.7 junit的进一步讨论 271
11.4.8 测试驱动的开发 273
11.4.9 关于测试及jfmail的最后注释 273
11.5 调试 274
11.5.1 使用print语句进行简单调试 274
11.5.2 调试概念 274
11.5.3 java调试程序(jdb) 275
11.5.4 调试jfmail程序 277
11.5.5 基于gui的调试程序 279
知识点摘要 279
习题 280
第12章 递归 282
12.1 递归思想 282
12.1.1 无穷递归 283
12.1.2 数学中的递归 283
12.2 递归程序设计 283
12.2.1 递归与迭代 285
12.2.2 直接递归与间接递归 285
12.3 使用递归 286
12.3.1 走迷宫 286
12.3.2 汉诺塔 289
知识点摘要 292
习题 292
第13章 查找与排序 295
13.1 查找 295
13.1.1 线性查找 297
13.1.2 二分查找 298
13.2 排序 300
13.2.1 选择排序 303
13.2.2 插入排序 304
13.2.3 起泡排序 305
13.2.4 快速排序 305
13.2.5 归并排序 306
13.3 算法分析 308
13.3.1 增长函数和大o()符号 308
13.3.2 比较增长函数 309
13.3.3 分析循环的执行 310
13.3.4 分析递归程序 310
13.4 分析查找及排序算法 311
13.4.1 比较查找算法 311
13.4.2 比较排序算法 312
知识点摘要 313
习题 314
第14章 集合和链表 317
14.1 集合简介 317
14.1.1 独立于实现的接口 317
14.1.2 java collections api 318
14.1.3 泛型 318
14.2 包集合 319
14.3 使用数组实现包 322
14.4 链表 327
14.4.1 链表的管理 328
14.4.2 没有链的元素 330
14.5 包的链式实现 330
知识点摘要 333
习题 334
第15章 栈和队列 337
15.1 栈 337
15.2 计算后缀表达式 338
15.3 使用数组实现栈 343
15.4 使用链表实现栈 345
15.5 java.util.stack类 347
15.6 队列 347
15.7 基数排序 349
15.8 使用数组实现队列 351
15.9 使用循环数组实现队列 354
15.10 使用链表实现队列 357
15.11 栈与队列实现的分析 359
知识点摘要 359
习题 360
第16章 树 364
16.1 树 364
16.2 树的遍历 365
16.2.1 先序遍历 366
16.2.2 中序遍历 366
16.2.3 后序遍历 367
16.2.4 层序遍历 367
16.3 树的实现策略 368
16.3.1 在数组中计算链 368
16.3.2 在数组中保存链 368
16.3.3 链式结点 368
16.4 二叉树实现 369
16.5 决策树 375
知识点摘要 377
习题 378
第17章 查找树和堆 381
17.1 二叉查找树 381
17.1.1 在二叉查找树中添加元素 382
17.1.2 从二叉查找树中删除元素 382
17.2 二叉查找树的实现 384
17.3 平衡的二叉查找树 388
17.3.1 右旋转 389
17.3.2 左旋转 389
17.3.3 右-左旋转 389
17.3.4 左-右旋转 390
17.4 堆 390
17.4.1 向堆中添加元素 391
17.4.2 从堆中删除最大元素 391
17.5 堆的实现 392
17.6 堆排序 396
知识点摘要 397
习题 397
第18章 图 401
18.1 无向图 401
18.2 有向图 402
18.3 带权图 402
18.4 常用的图算法 403
18.4.1 遍历 403
18.4.2 测试连通性 406
18.4.3 最小生成树 406
18.4.4 判定最短路径 408
18.5 图的实现策略 408
18.5.1 邻接表 408
18.5.2 邻接矩阵 409
知识点摘要 410
习题 410
附录...
Java foundations:introduction to program design and data structures
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!
