第1章 编程之道 1
1.1 何为编程 1
1.2 何为计算机科学 2
1.3 编程语言 2
1.4 Hello World程序 4
1.5 显示字符串 5
1.6 转义序列 5
1.7 设置代码格式 6
1.8 调试代码 7
1.9 术语表 8
1.10 练习 9
第2章 变量和运算符 12
2.1 声明变量 12
2.2 赋值 13
2.3 状态图 14
2.4 显示变量 14
2.5 算术运算符 15
2.6 浮点数 16
2.7 舍入误差 17
2.8 字符串运算符 18
2.9 组合 19
2.10 错误类型 20
2.11 术语表 22
2.12 练习 24
第3章 输入和输出 26
3.1 System类 26
3.2 Scanner类 27
3.3 程序结构 28
3.4 英寸到厘米的转换 29
3.5 字面量和常量 30
3.6 设置输出的格式 30
3.7 厘米到英寸的转换 31
3.8 求模运算符 32
3.9 整合 33
3.10 Scanner类的bug 34
3.11 术语表 35
3.12 练习 36
第4章 void方法 38
4.1 Math类的方法 38
4.2 再谈组合 39
4.3 添加方法 40
4.4 执行流程 41
4.5 形参和实参 42
4.6 多个形参 43
4.7 栈图 44
4.8 阅读文档 45
4.9 编写文档 47
4.10 术语表 48
4.11 练习 49
第5章 条件和逻辑 51
5.1 关系运算符 51
5.2 逻辑运算符 52
5.3 条件语句 53
5.4 串接和嵌套 54
5.5 标志变量 54
5.6 return语句 55
5.7 验证输入 56
5.8 递归方法 56
5.9 递归栈图 58
5.10 二进制数 59
5.11 术语表 60
5.12 练习 61
第6章 值方法 64
6.1 返回值 64
6.2 编写方法 66
6.3 方法组合 68
6.4 重载 69
6.5 boolean方法 70
6.6 Javadoc标签 70
6.7 再谈递归 71
6.8 姑且相信 73
6.9 再举一个例子 74
6.10 术语表 74
6.11 练习 75
第7章 循环 79
7.1 while语句 79
7.2 生成表格 80
7.3 封装和泛化 82
7.4 再谈泛化 84
7.5 for语句 86
7.6 do-while循环 87
7.7 break和continue 87
7.8 术语表 88
7.9 练习 89
第8章 数组 92
8.1 创建数组 92
8.2 访问元素 93
8.3 显示数组 94
8.4 复制数组 95
8.5 数组的长度 96
8.6 数组遍历 96
8.7 随机数 97
8.8 遍历和计数 98
8.9 生成直方图 99
8.10 改进的for循环 99
8.11 术语表 100
8.12 练习 101
第9章 字符串 104
9.1 字符 104
9.2 字符串是不可修改的 105
9.3 字符串遍历 106
9.4 子串 107
9.5 方法indexOf 107
9.6 字符串比较 108
9.7 设置字符串的格式 109
9.8 包装类 110
9.9 命令行实参 110
9.10 术语表 111
9.11 练习 112
第10章 对象 116
10.1 Point对象 116
10.2 属性 117
10.3 将对象用作参数 117
10.4 将对象作为返回类型 118
10.5 可修改的对象 119
10.6 指定别名 120
10.7 关键字null 121
10.8 垃圾收集 122
10.9 类图 122
10.10 Java类库的源代码 123
10.11 术语表 124
10.12 练习 124
第11章 类 128
11.1 Time类 128
11.2 构造函数 129
11.3 再谈构造函数 130
11.4 获取方法和设置方法 131
11.5 显示对象 133
11.6 方法toString 134
11.7 方法equals 134
11.8 时间相加 136
11.9 纯方法和非纯方法 137
11.10 术语表 138
11.11 练习 139
第12章 对象数组 142
12.1 Card对象 142
12.2 方法toString 144
12.3 类变量 145
12.4 方法compareTo 146
12.5 Card对象是不可修改的 147
12.6 Card数组 148
12.7 顺序查找 149
12.8 二分法查找 150
12.9 跟踪代码 151
12.10 递归版本 151
12.11 术语表 152
12.12 练习 152
第13章 数组对象 155
13.1 Deck类 155
13.2 洗牌 156
13.3 选择排序 157
13.4 合并排序 158
13.5 方法subdeck 158
13.6 方法merge 159
13.7 添加递归 160
13.8 术语表 161
13.9 练习 161
第14章 包含其他对象的对象 163
14.1 Deck和手里的牌 163
14.2 CardCollection 164
14.3 继承 166
14.4 发牌 168
14.5 Player类 169
14.6 Eights类 171
14.7 类之间的关系 174
14.8 术语表 175
14.9 练习 176
附录A 开发工具 177
附录B Java 2D图形 186
附录C 调试 192
作者简介 202
封面简介 202