第 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 练习

附录 A 开发工具

A.1 安装DrJava

A.2 DrJava Interactions窗格

A.3 命令行界面

A.4 命令行测试

A.5 运行Checkstyle

A.6 使用调试器进行跟踪

A.7 用JUnit进行测试

A.8 术语表

附录 B Java 2D 图形

B.1 创建图形

B.2 Graphics类的方法

B.3 绘图示例

B.4 术语表

B.5 练习

附录 C 调试

C.1 编译时错误

C.1.1 编译器显示大量的错误消息

C.1.2 编译器显示怪异的错误消息,怎么都消除不掉

C.1.3 怎么做都无法让程序通过编译

C.1.4 按编译器说的做了,但还是不管用

C.2 运行时错误

C.2.1 程序挂起

C.2.2 程序运行时出现异常

C.2.3 添加了很多打印语句,输出都泛滥成灾了

C.3 逻辑错误

C.3.1 程序不管用

C.3.2 冗长表达式的结果出乎意料

C.3.3 方法的返回值出乎意料

C.3.4 打印语句什么都不显示

C.3.5 陷入了绝境,无法自拔

C.3.6 必须得有人帮我

C.3.7 终于找到bug了!

作者简介

封面简介