Java编程思维
Allen B. Downey, Chris Mayfield
袁国忠 译
出版时间:2016年12月
页数:220
本书是一本实用的计算机入门教程,目前已被众多大学和高中选作教材。书中不仅介绍Java编程,还阐明如何养成计算机科学家才具备的思维方式,让读者学会怎样将编程作为实现目的的手段。
作者从最基本的概念着手,逐步转入更复杂的主题,如递归和面向对象编程。每一章都简明扼要,章末附有练习,可将学到的知识立即付诸实践。

● 每次学习一个概念:复杂的主题分为多个部分,并辅以示例进行讲解。
● 学会如何明确地描述问题、如何创造性地寻找解决方案以及如何编写清晰准确的程序。
● 寻找最适合的开发方式,锻炼最重要的调试技能。
● 了解输入和输出、决策和循环、类和方法、字符串和数组之间的关系。
● 填字游戏、图形、拼图和扑克牌方面的程序开发练习。

“这本书专注于解决问题,不仅介绍了如何编程,还深入探讨了计算机科学背后的概念,是引导初学者养成计算机科学思维的佳作。”
——Rebecca Dovi
CodeVA教育总监
  1. 前言
  2. 第1章 编程之道
  3. 1.1 何为编程
  4. 1.2 何为计算机科学
  5. 1.3 编程语言
  6. 1.4 Hello World程序
  7. 1.5 显示字符串
  8. 1.6 转义序列
  9. 1.7 设置代码格式
  10. 1.8 调试代码
  11. 1.9 术语表  
  12. 1.10 练习
  13. 第2章 变量和运算符
  14. 2.1 声明变量  
  15. 2.2 赋值  
  16. 2.3 状态图
  17. 2.4 显示变量
  18. 2.5 算术运算符
  19. 2.6 浮点数
  20. 2.7 舍入误差
  21. 2.8 字符串运算符
  22. 2.9 组合
  23. 2.10 错误类型
  24. 2.11 术语表
  25. 2.12 练习
  26. 第3章 输入和输出
  27. 3.1 System类
  28. 3.2 Scanner类
  29. 3.3 程序结构
  30. 3.4 英寸到厘米的转换
  31. 3.5 字面量和常量
  32. 3.6 设置输出的格式
  33. 3.7 厘米到英寸的转换
  34. 3.8 求模运算符
  35. 3.9 整合
  36. 3.10 Scanner类的bug 
  37. 3.11 术语表
  38. 3.12 练习
  39. 第4章 void方法
  40. 4.1 Math类的方法
  41. 4.2 再谈组合
  42. 4.3 添加方法
  43. 4.4 执行流程
  44. 4.5 形参和实参
  45. 4.6 多个形参
  46. 4.7 栈图
  47. 4.8 阅读文档
  48. 4.9 编写文档
  49. 4.10 术语表
  50. 4.11 练习
  51. 第5章 条件和逻辑  
  52. 5.1 关系运算符
  53. 5.2 逻辑运算符
  54. 5.3 条件语句
  55. 5.4 串接和嵌套
  56. 5.5 标志变量
  57. 5.6 return语句
  58. 5.7 验证输入
  59. 5.8 递归方法
  60. 5.9 递归栈图
  61. 5.10 二进制数
  62. 5.11 术语表
  63. 5.12 练习
  64. 第6章 值方法
  65. 6.1 返回值
  66. 6.2 编写方法
  67. 6.3 方法组合
  68. 6.4 重载
  69. 6.5 boolean方法
  70. 6.6 Javadoc标签
  71. 6.7 再谈递归
  72. 6.8 姑且相信
  73. 6.9 再举一个例子
  74. 6.10 术语表
  75. 6.11 练习
  76. 第7章 循环
  77. 7.1 while语句
  78. 7.2 生成表格
  79. 7.3 封装和泛化
  80. 7.4 再谈泛化
  81. 7.5 for语句
  82. 7.6 do-while循环
  83. 7.7 break和continue 
  84. 7.8 术语表
  85. 7.9 练习
  86. 第8章 数组
  87. 8.1 创建数组
  88. 8.2 访问元素
  89. 8.3 显示数组
  90. 8.4 复制数组
  91. 8.5 数组的长度
  92. 8.6 数组遍历
  93. 8.7 随机数
  94. 8.8 遍历和计数
  95. 8.9 生成直方图
  96. 8.10 改进的for循环
  97. 8.11 术语表
  98. 8.12 练习
  99. 第9章 字符串
  100. 9.1 字符
  101. 9.2 字符串是不可修改的
  102. 9.3 字符串遍历
  103. 9.4 子串
  104. 9.5 方法indexOf
  105. 9.6 字符串比较
  106. 9.7 设置字符串的格式
  107. 9.8 包装类
  108. 9.9 命令行实参
  109. 9.10 术语表
  110. 9.11 练习
  111. 第10章 对象
  112. 10.1 Point对象
  113. 10.2 属性
  114. 10.3 将对象用作参数
  115. 10.4 将对象作为返回类型
  116. 10.5 可修改的对象
  117. 10.6 指定别名
  118. 10.7 关键字null 
  119. 10.8 垃圾收集
  120. 10.9 类图
  121. 10.10 Java类库的源代码
  122. 10.11 术语表
  123. 10.12 练习
  124. 第11章 类
  125. 11.1 Time类
  126. 11.2 构造函数
  127. 11.3 再谈构造函数
  128. 11.4 获取方法和设置方法
  129. 11.5 显示对象
  130. 11.6 方法toString  
  131. 11.7 方法equals  
  132. 11.8 时间相加
  133. 11.9 纯方法和非纯方法
  134. 11.10 术语表
  135. 11.11 练习
  136. 第12章 对象数组
  137. 12.1 Card对象
  138. 12.2 方法toString  
  139. 12.3 类变量
  140. 12.4 方法compareTo  
  141. 12.5 Card对象是不可修改的
  142. 12.6 Card数组
  143. 12.7 顺序查找
  144. 12.8 二分法查找
  145. 12.9 跟踪代码
  146. 12.10 递归版本
  147. 12.11 术语表
  148. 12.12 练习
  149. 第13章 数组对象
  150. 13.1 Deck类
  151. 13.2 洗牌
  152. 13.3 选择排序
  153. 13.4 合并排序
  154. 13.5 方法subdeck 
  155. 13.6 方法merge 
  156. 13.7 添加递归
  157. 13.8 术语表
  158. 13.9 练习
  159. 第14章 包含其他对象的对象
  160. 14.1 Deck和手里的牌
  161. 14.2 CardCollection  
  162. 14.3 继承
  163. 14.4 发牌
  164. 14.5 Player类
  165. 14.6 Eights类
  166. 14.7 类之间的关系
  167. 14.8 术语表
  168. 14.9 练习
  169. 附录A 开发工具
  170. 附录B Java 2D图形
  171. 附录C 调试
书名:Java编程思维
译者:袁国忠 译
国内出版社:人民邮电出版社
出版时间:2016年12月
页数:220
书号:978-7-115-44015-0
原版书书名:Think Java
原版书出版商:O'Reilly Media
Allen B. Downey
 
allen downey是欧林工程学院的计算机科学教授。他从加州大学伯克利分校获得计算机科学博士学位,从mit获得学士和硕士学位。他曾在韦尔斯利学院、科尔比学院及加州大学伯克利分校教授计算机科学课程。他基于自己教授计算机程序设计课程的经验,开创了“像计算机科学家一样思考”(how to think like a computer scientist)的教学理念和方法,并藉此编写了多本编程语言书籍。
 
 
Chris Mayfield
 
Chris Mayfield,詹姆斯麦迪逊大学计算机助理教授,致力于计算机教育和职业发展的研究。拥有普渡大学计算机博士学位以及犹他大学计算机和德语学士学位。