编辑点评:
Java编程思维pdf讲述了变量和运算符,输入和输出,void方法,条件和逻辑,对象数组等等关于JAVA知识的书籍,简单易懂的语言更好理解,带你走进JAVA编程。
Java编程思维pdf内容
本书旨在教你像计算机科学家那样思考,主要用代码示例诠释计算机科学概念。从最基本的概念入手,每个术语都在首次使用时给出详尽的定义;循序渐进地介绍新概念;将内容广泛的主题分成多个部分,并分多章介绍。主要从从小问题和基本算法着手,逐步过渡到面向对象设计。
书籍作者简介
Allen B. Downey
欧林学院的计算机教授。曾任教于韦尔斯利女子学院、科尔比学院和加州大学伯克利分校;拥有加州大学伯克利分校计算机博士学位以及麻省理工学院学士和硕士学位。
Chris Mayfield
詹姆斯麦迪逊大学的计算机助理教授,致力于计算机教育和职业发展的研究;拥有普渡大学计算机博士学位以及犹他大学计算机和德语学士学位。
调试代码
最好能在计算机前阅读本书,因为这样你就可以一边阅读一边尝试其中的示例。本书中的很多示例可直接在DrJava的Interactions窗格(见附录A)中运行,但如果将代码存储到源代码文件中,则更容易对其修改再运行。
每当你使用新功能时,都应该尝试故意犯些错误。例如,在HelloWorld程序中,如果遗漏一个引号,结果将如何呢?如果两个引号都遗漏了,结果将如何呢?如果println拼写得不正确,结果又将如何呢?这些尝试不仅有助于牢记学过的知识,还有助于调试程序,因为你将知道各种错误消息意味着什么。现在故意犯错胜过以后无意间犯错。
调试犹如实验科学:一旦对出问题的地方有所感觉,就修改程序并再次运行。如果假设没错,你就能预测修改后的结果,从而离程序正确运行更近一步;如果假设有误,你就必须作出新的假设。
编程和调试必须齐头并进。不能先随便编写大量的代码,再通过反复调试来确保它们能够正确地运行;相反,应先编写少量可正确运行的代码,再逐步修改和调试,最终得到一个提供所需功能的程序。这样的方式可以确保在任何时候都有可运行的程序,从而更容易隔离错误。
Linux操作系统淋漓尽致地展示了这种原则。这个操作系统现在包含数百万行的代码,但最初只是一个简单的程序,LinusTorvalds用它来研究Intel80386芯片。正如LarryGreenfield在LinxuUser'sGuide中指出的,Linux是LinusTorvalds早期开发的项目之一,最初只是一个决定打印AAAA还是BBBB的程序,后来才演变为Linux。
最后,编程可能引发强烈的情绪。面对棘手的bug而束手无策时,你可能会感到愤怒、沮丧或窘迫。别忘了,并非只有你这样,大多数乃至所有程序员都有类似的经历;不要犹豫,赶快向朋友求助吧!
电子书目录
第 1 章 编程之道
1.1 何为编程
1.2 何为计算机科学
1.3 编程语言
1.4 Hello World程序
1.5 显示字符串
1.6 转义序列
1.7 设置代码格式
1.8 调试代码
1.9 术语表
1.10 练习
第 2 章 变量和运算符
2.1 声明变量
2.2 赋值
2.3 状态图
2.4 显示变量
2.5 算术运算符
2.6 浮点数
2.7 舍入误差
2.8 字符串运算符
2.9 组合
2.10 错误类型
2.11 术语表
2.12 练习
第 3 章 输入和输出
3.1 System类
3.2 Scanner类
3.3 程序结构
3.4 英寸到厘米的转换
3.5 字面量和常量
3.6 设置输出的格式
3.7 厘米到英寸的转换
3.8 求模运算符
3.9 整合
3.10 Scanner类的bug
3.11 术语表
3.12 练习
第 4 章 void 方法
4.1 Math类的方法
4.2 再谈组合
4.3 添加方法
4.4 执行流程
4.5 形参和实参
4.6 多个形参
4.7 栈图
4.8 阅读文档
4.9 编写文档
4.10 术语表
4.11 练习
第 5 章 条件和逻辑
5.1 关系运算符
5.2 逻辑运算符
5.3 条件语句
5.4 串接和嵌套
5.5 标志变量
5.6 return语句
5.7 验证输入
5.8 递归方法
5.9 递归栈图
5.10 二进制数
5.11 术语表
5.12 练习
第 6 章 值方法
6.1 返回值
6.2 编写方法
6.3 方法组合
6.4 重载
6.5 boolean方法
6.6 Javadoc标签
6.7 再谈递归
6.8 姑且相信
6.9 再举一个例子
6.10 术语表
6.11 练习
第 7 章 循环
7.1 while语句
7.2 生成表格
7.3 封装和泛化
7.4 再谈泛化
7.5 for语句
7.6 do-while循环
7.7 break和continue
7.8 术语表
7.9 练习
第 8 章 数组
8.1 创建数组
8.2 访问元素
8.3 显示数组
8.4 复制数组
8.5 数组的长度
8.6 数组遍历
8.7 随机数
8.8 遍历和计数
8.9 生成直方图
8.10 改进的for循环
8.11 术语表
8.12 练习
第 9 章 字符串
9.1 字符
9.2 字符串是不可修改的
9.3 字符串遍历
9.4 子串
9.5 方法indexOf
9.6 字符串比较
9.7 设置字符串的格式
9.8 包装类
9.9 命令行实参
9.10 术语表
9.11 练习
第 10 章 对象
10.1 Point对象
10.2 属性
10.3 将对象用作参数
10.4 将对象作为返回类型
10.5 可修改的对象
10.6 指定别名
10.7 关键字null
10.8 垃圾收集
10.9 类图
10.10 Java类库的源代码
10.11 术语表
10.12 练习
第 11 章 类
11.1 Time类
11.2 构造函数
11.3 再谈构造函数
11.4 获取方法和设置方法
11.5 显示对象
11.6 方法toString
11.7 方法equals
11.8 时间相加
11.9 纯方法和非纯方法
11.10 术语表
11.11 练习
第 12 章 对象数组
12.1 Card对象
12.2 方法toString
12.3 类变量
12.4 方法compareTo
12.5 Card对象是不可修改的
12.6 Card数组
12.7 顺序查找
12.8 二分法查找
12.9 跟踪代码
12.10 递归版本
12.11 术语表
12.12 练习
第 13 章 数组对象
13.1 Deck类
13.2 洗牌
13.3 选择排序
13.4 合并排序
13.5 方法subdeck
13.6 方法merge
13.7 添加递归
13.8 术语表
13.9 练习
第 14 章 包含其他对象的对象
14.1 Deck和手里的牌
14.2 CardCollection
14.3 继承
14.4 发牌
14.5 Player类
14.6 Eights类
14.7 类之间的关系
14.8 术语表
14.9 练习
Comments