《像计算机科学家一样思考Java》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:(美)唐尼著;滕云,周哲武译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115313225
  • 页数:217 页
图书介绍:本书按照培养读者像计算机科学家一样的思维方式的思路来教授Java语言程序设计。本书是作者在美国Olin College大学教学的过程中,专门为学生编写的计算机程序设计课程(Java)的教材。全书包含16章和4个附录。详细介绍了Java语言编程方方面面的知识。每章带有术语介绍和练习题,方便读者巩固该章所学的知识和技巧。

第1章 程序之道 1

1.1 什么是编程语言 1

1.2 什么是程序 3

1.3 什么是调试 3

1.3.1 语法错误 4

1.3.2 运行时错误 4

1.3.3 逻辑错误和语义错误 4

1.3.4 实验性调试 5

1.4 形式语言和自然语言 5

1.5 第一个程序 7

1.6 术语表 8

1.7 练习 10

第2章 变量和类型 12

2.1 更多打印 12

2.2 变量 13

2.3 赋值 14

2.4 打印变量 15

2.5 关键字 16

2.6 运算符 17

2.7 运算符优先级 18

2.8 字符串运算符 19

2.9 组合 19

2.10 术语表 20

2.11 练习 21

第3章 无返回值方法 23

3.1 浮点数 23

3.2 双精度型转整型 24

3.3 数学函数 25

3.4 组合 26

3.5 添加新方法 26

3.6 类和方法 28

3.7 为程序添加多个方法 29

3.8 形参和实参 30

3.9 栈帧图 31

3.10 多参数方法 32

3.11 有返回值的方法 33

3.12 术语表 33

3.13 练习 34

第4章 条件语句和递归 36

4.1 模运算符 36

4.2 条件执行 36

4.3 选择性执行 37

4.4 条件判断链 38

4.5 嵌套条件 39

4.6 返回语句 39

4.7 类型转换 40

4.8 递归 40

4.9 递归方法的栈帧图 42

4.10 术语表 43

4.11 练习 43

第5章 GridWorld(第一部分) 47

5.1 入门 47

5.2 BugRunner 48

5.3 练习 49

第6章 有返回值方法 52

6.1 返回值 52

6.2 程序开发 54

6.3 组合 56

6.4 重载 57

6.5 布尔表达式 58

6.6 逻辑运算符 59

6.7 布尔方法 60

6.8 更多递归 61

6.9 飞跃的信心 63

6.10 另一个例子 64

6.11 术语表 64

6.12 练习 65

第7章 迭代和循环 71

7.1 多次赋值 71

7.2 迭代 72

7.3 while语句 72

7.4 表格 74

7.5 二维表格 76

7.6 封装与泛化 77

7.7 方法 78

7.8 更多的封装 78

7.9 局部变量 79

7.10 更多的泛化 79

7.11 术语表 81

7.12 练习 82

第8章 字符串 85

8.1 调用对象上的方法 85

8.2 字符串长度 86

8.3 遍历 87

8.4 运行时错误 87

8.5 阅读文档 88

8.6 indexOf方法 89

8.7 循环和计数 90

8.8 自增和自减运算符 90

8.9 字符串是不可变的 91

8.10 字符串是不可比较的 91

8.11 术语表 92

8.12 练习 93

第9章 可变对象 100

9.1 Point对象和Rectangle对象 100

9.2 包 100

9.3 Point对象 101

9.4 实例变量 102

9.5 对象作为方法参数 102

9.6 Rectangle对象 103

9.7 对象作为返回类型 104

9.8 对象是可变的 104

9.9 别名 105

9.10 null 106

9.11 垃圾回收 107

9.12 对象类型和原始类型 108

9.13 术语表 109

9.14 练习 109

第10章 GridWorld(第二部分) 114

10.1 Termite类 116

10.2 Langton白蚁 118

10.3 练习 119

第11章 创建对象 122

11.1 类定义与对象类型 122

11.2 Time类 123

11.3 构造函数 124

11.4 更多构造函数 125

11.5 创建新对象 125

11.6 打印对象 126

11.7 操作对象 127

11.8 纯函数 128

11.9 修改器 130

11.10 填值方法 131

11.11 渐进式开发 131

11.12 泛化 133

11.13 算法 133

11.14 术语表 134

11.15 练习 134

第12章 数组 137

12.1 访问数组元素 138

12.2 拷贝数组 139

12.3 for循环 139

12.4 数组和对象 140

12.5 数组长度 141

12.6 随机数 141

12.7 随机数数组 142

12.8 计数 143

12.9 直方图 144

12.10 单次遍历 145

12.11 术语表 145

12.12 练习 146

第13章 对象数组 152

13.1 内容前瞻 152

13.2 Card对象 152

13.3 printCard方法 154

13.4 sameCard方法 155

13.5 compareCard方法 157

13.6 扑克牌数组 158

13.7 printDeck方法 160

13.8 查找 160

13.9 整体与部分 163

13.10 术语表 164

13.11 练习 164

第14章 数组对象 166

14.1 Deck类 166

14.2 洗牌 168

14.3 排序 169

14.4 子集 169

14.5 洗牌和发牌 170

14.6 合并排序法 171

14.7 类变量 173

14.8 术语表 174

14.9 练习 174

第15章 面向对象编程 176

15.1 编程语言和风格 176

1 5.2 对象方法和类方法 177

15.3 toString方法 178

15.4 equals方法 178

15.5 错误 179

15.6 继承 180

15.7 类的层级结构 181

15.8 面向对象设计 182

15.9 术语表 182

15.10 练习 183

第16章 GridWorld(第三部分) 185

16.1 ArrayList 185

16.2 接口 187

16.3 public和private 188

16.4 生命游戏 188

16.5 LifeRunner 189

16.6 LifeRock 190

16.7 同步更新 190

16.8 初始条件 192

16.9 练习 193

附录A图形 194

A.1 Java二维图形 194

A.2 Graphics方法 195

A.3 坐标 196

A.4 颜色 196

A.5 米老鼠 197

A.6 练习 198

附录B Java中的输入和输出 200

B.1 System对象 200

B.2 键盘输入 200

B.3 文件输入 201

B.4 捕获异常 202

附录C 程序开发 203

C.1 策略 203

C.2 失败的开发模式 204

附录D 调试 206

D.1 语法错误 206

D.2 运行时错误 209

D.3 逻辑错误 213