探秘Java 如何像计算机科学家一样思考PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(美)Allen Downey著;张平译
- 出 版 社:杭州:浙江大学出版社
- 出版年份:2004
- ISBN:7308040364
- 页数:390 页
前言 1
此书的缘起 1
此书的宗旨 2
面向对象的程序设计 3
数据结构 3
计算机AP考试 4
有关此书的版权 5
关于此书书名 5
第1章 按部就班的方式 7
1.1什么是程序语言 7
1.2什么是程序 10
1.3什么是调试 11
1.4形式化语言和自然语言 13
1.5第一个程序 15
1.6术语 16
1.7练习 17
第2章 变量和类型 19
2.1再打印一些东西 19
2.2变量 21
2.3赋值 22
2.4打印变量 23
2.5关键字 24
2.6操作符 25
2.7操作符的执行顺序 26
2.8对字符串的操作 27
2.9组合句 27
2.10术语 28
2.11练习 29
第3章 方法 31
3.1浮点数 31
3.2把double类型转换成int类型 33
3.3数学函数 33
3.4组合 35
3.5自己编写新方法 35
3.6类和方法 38
3.7具有多个方法的程序 39
3.8形式参数和实际参数 40
3.9堆栈状态图 41
3.10具有多个参数的方法 42
3.11具有结果的方法 43
3.12术语 43
3.13练习 44
第4章 条件和递归 47
4.1模除运算 47
4.2条件执行 47
4.3选择执行 48
4.4链式条件 49
4.5嵌套条件 50
4.6返回语句 51
4.7类型转换 51
4.8递归 52
4.9递归调用方法的堆栈图 54
4.10惯例和神圣规则 55
4.11术语 56
4.12练习 56
第5章 “开花结果”的方法 60
5.1返回值 60
5.2“逐渐生长”的程序 62
5.3组合 65
5.4重载 66
5.5布尔函数 67
5.6逻辑运算符 68
5.7布尔方法 69
5.8递归的例子 70
5.9确信跳跃 72
5.10另一个递归例子 73
5.11术语 74
5.12练习 75
第6章 重复 80
6.1变量的多次赋值 80
6.2重复 81
6.3while语句 81
6.4表格 83
6.5两维表 86
6.6封装和泛化 87
6.7方法 88
6.8进一步封装 88
6.9局部变量 89
6.10进一步泛化 90
6.11术语 92
6.12练习 92
第7章 字符串和其他 96
7.1调用依附于某个对象的方法 96
7.2长度 97
7.3遍历 98
7.4运行错误 99
7.5阅读说明文档 99
7.6index0f方法 100
7.7循环和计数 101
7.8加一和减一操作符 103
7.9字符的算术 104
7.10不可更改的字符串 105
7.11字符串之间不能直接比较 106
7.12术语 107
7.13练习 108
第8章 趣味对象 113
8.1有趣的是什么 113
8.2包 113
8.3Point对象 114
8.4实例变量 115
8.5把对象作为参数 116
8.6矩形 116
8.7把对象作为返回值 117
8.8对象是可变动的 118
8.9别名 119
8.10空引用 121
8.11垃圾回收机制 122
8.12对象和基类 123
8.13术语 123
8.14练习 124
第9章 定做对象 129
9.1类的定义和对象类型 129
9.2Time类 130
9.3构造器 131
9.4编写多个构造器 132
9.5生成新对象 133
9.6打印对象 134
9.7操纵对象 135
9.8无瑕作用 135
9.9改动作用 137
9.10填入作用 139
9.11哪一种更好 139
9.12发展型风格vs规划型风格 140
9.13泛化处理 141
9.14算法 142
9.15术语 142
9.16练习 143
第10章 数组 147
10.1数组元素的存取 148
10.2数组的拷贝 149
10.3for循环 150
10.4数组和对象 151
10.5数组长度 151
10.6随机数 152
10.7随机数数组 153
10.8计数 154
10.9频率直方图 156
10.10一次遍历解决问题 156
10.11术语 157
10.12练习 157
第11章 对象数组 162
11.1各种组合 162
11.2扑克牌对象 162
11.3printCard方法 164
11.4sameCard方法 166
11.5compareCard方法 168
11.6扑克牌数组 169
11.7printDeck方法 171
11.8寻找和搜索 171
11.9一整副牌和一部分牌 175
11.10术语 176
11.11练习 176
第12章 数组对象 178
12.1deck(一副纸牌)类 178
12.2洗牌 180
12.3选择排序 181
12.4一手牌(一部分牌) 182
12.5洗牌和发牌 183
12.6混合排序 184
12.7术语 187
12.8练习 187
第13章 面向对象程序设计 190
13.1程序设计语言及风格 190
13.2对象方法和类方法 191
13.3当前对象 191
13.4介绍一种对象——复数对象 191
13.5第一个复数方法 193
13.6另一个复数方法 194
13.7具有改动作用的方法 195
13.8改换成字符串的方法 195
13.9等于方法 197
13.10在对象方法里调用对象方法 198
13.11小心无大错 198
13.12继承 199
13.13可作图的矩形类 199
13.14类的层级 201
13.15面向对象的程序设计 202
13.16术语 202
13.17练习 202
第14章 链表 204
14.1对象的引用 204
14.2节点(Node)类 204
14.3链表是聚集器 206
14.4链表与递归 209
14.5无穷链表 210
14.6原义含糊定理 211
14.7针对节点的对象方法 212
14.8改动链表 212
14.9“外包装”和“内贤助” 213
14.10IntList类 214
14.11真实量 216
14.12术语 216
14.13练习 217
第15章 堆栈 219
15.1抽象数据结构 219
15.2抽象数据结构——堆栈(Stack) 220
15.3Java堆栈对象 220
15.4打包类 223
15.5创建打包类对象 223
15.6创建更多的打包类对象 224
15.7重新获得打包类的值 224
15.8打包类中的几种方法 225
15.9后缀表达式 225
15.10语法分析 226
15.11抽象数据结构的实施 228
15.12运用数组来实施堆栈 228
15.13变动数组大小 230
15.14术语 232
15.15练习 232
第16章 队列和优先队列 235
16.1队列抽象数据结构 236
16.2装饰板 238
16.3链接型队列 239
16.4循环缓冲区 241
16.5优先队列 246
16.6元类 247
16.7优先队列的数组实施 247
16.8使用优先队列 249
16.9高尔夫球手记分类 250
16.10术语 252
16.11练习 253
第17章 树 255
17.1树的节点 255
17.2创建树结构 256
17.3周游一棵树 257
17.4表达式树 258
17.5树的遍历 259
17.6对象封装 260
17.7定义Visitable接口类 261
17.8接口的实施 262
17.9矢量(Vector)类 263
17.10Iterator(巡流)类 265
17.11术语 266
17.12练习 267
第18章 堆 270
18.1用数组来实施树 271
18.2算法占用资源分析 275
18.3mergesort排序的分析 277
18.4附加消耗 279
18.5优先队列的实施 280
18.6堆的定义 282
18.7从堆中删除元素 283
18.8向堆中添加元素 285
18.9堆中操作的时间特性 286
18.10堆排序 287
18.11术语 288
18.12练习 288
第19章 映射表 290
19.1数组、矢量与映射表 290
19.2映射表抽象数据结构 291
19.3内置的哈希表 291
19.4用矢量实施映射表 294
19.5链表(List)接口类 297
19.6哈希表的实施 297
19.7哈希函数 298
19.8哈希表的伸缩 300
19.9哈希表伸缩的时间特性 301
19.10术语 302
19.11练习 302
第20章 哈夫曼码 305
20.1变长码 305
20.2字母频率表 306
20.3哈夫曼树 308
20.4super方法 311
20.5解码 313
20.6编码 314
20.7术语 315
20.8练习 315
附录A 按部就班开发程序 317
附录B 除错 324
B.1编译时出现的错误 324
B.2运行时出现的错误 328
B.3逻辑错误 331
附录C 输入与输出 337
C.1System中的对象 337
C.2键盘输入 338
C.3文件输入 339
附录D 图形 340
D.1画板和图形对象 340
D.2在Graphics类的对象里调用各种方法 341
D.3坐标系 342
D.4米老鼠的脸 343
D.5另外的绘图命令 344
D.6分形的米老鼠 345
D.7有关图形的一些类定义 347
D.8练习 349
附录E 与Java环境混个脸熟 354
E.1下载和安装Java语言 354
E.2B1ueJ开发环境 356
E.3有关B1ueJ的项目 361
E.4有关B1ueJ的类 365
E.5执行程序 369
E.6程序的调试和排错 374
E.7终端窗口 377
E.8改变设置 379
附录F 太过完美的洗牌 383
F.152张纸牌的洗牌 383
F.2n张纸牌的AB顺序洗牌 385
F.3n张纸牌的BA顺序洗牌 387
F.4练习 388
附录G 练习分析与解答 389
附录H GNU Free Documentation License 389
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《一个数学家的辩白》(英)哈代(G.H.Hardy)著;李文林,戴宗铎,高嵘译 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《计算机辅助平面设计》吴轶博主编 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《云计算节能与资源调度》彭俊杰主编 2019
- 《中医女科十大名著 济阴纲目 大字本》(明)武之望著 2012
- 《中医骨伤科学》赵文海,张俐,温建民著 2017
- 《Helmholtz方程的步进计算方法研究》李鹏著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《浙江海岛植物原色图谱》蒋明,柯世省主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《美丽浙江 2016 法语》浙江省人民政府新闻办公室编 2016
- 《二十五史中的浙江人 24》浙江省地方志编纂委员会编 2005
- 《大学物理简明教程 下 第2版》施卫主编 2020