单元 0 引言:关于本课程¶
单元 1 继承与多态¶
- 1.1. 开始
- 1.1.1. 介绍 LightBot
- 1.1.2. 从 LightBot 到 Micro Worlds
- 1.1.3. 自我检查:微世界
- 1.1.4. 再多一点 LightBot
- 1.1.5. 用文本表示程序
- 1.1.6. 自测:将微观世界转化为代码
- 1.1.7. LightBot 关于编程说了什么?
- 1.1.8. Java 中的可编程 LightBot
- 1.1.9. 语法练习 1a
- 1.1.10. 创建新对象
- 1.1.11. 在对象上调用方法
- 1.1.12. 将所有内容整合在一起
- 1.1.13. 关于编写易读代码的几点说明
- 1.1.14. 语法练习 1b
- 1.1.15. 编程练习 1
- 1.1.16. 检查您的理解
- 1.2. 单元 1 实验 1 占位符
- 1.3. 继承与多态:子类与方法
- 1.4. 单元 1 实验 2 占位符
单元 2 条件与软件测试¶
- 2.1. 条件与重复动作
- 2.1.1. 选择
- 2.1.2. 使用传感器方法的条件
- 2.1.3. 条件语句概述
- 2.1.4. Java 中 if-then-else 结构的语法
- 2.1.5. 语法练习 3a:If-Then-Else
- 2.1.6. 使用 If-then 创建可选语句
- 2.1.7. Java 中 if-then 结构的语法
- 2.1.8. 语法练习 3b:If-Then
- 2.1.9. Java 中多路选择结构(级联 if)的语法
- 2.1.10. 语法练习 3c:多路 If
- 2.1.11. 复合条件
- 2.1.12. 语法练习 3d:复合条件
- 2.1.13. 重复执行动作
- 2.1.14. 通用重复结构
- 2.1.15. Java 中 while 循环的语法
- 2.1.16. 语法练习 3e:While 循环
- 2.1.17. 编程练习 3
- 2.1.18. 检查你的理解
- 2.2. 单元 2 实验 1 占位符
- 2.3. 软件测试
- 2.4. 单元 2 实验 2 占位符
单元 3 变量与 for-each 循环¶
- 3.1. 变量、字段和参数
- 3.2. 单元 3 实验 1 占位符
- 3.3. 图片与 for-each 循环
- 3.4. 单元 4 实验 2 占位符
单元 4 更多列表、循环、数组与分组¶
- 4.1. 聚合、字符串与更多循环
- 4.2. 单元 4 实验 1 占位符
- 4.3. 使用列表、嵌套 for 循环和循环惯用法对对象进行分组
- 4.3.1. 对象的集合
- 4.3.2. 接口
- 4.3.3. 理解自测:接口
- 4.3.4. 语法练习 8a:字符串
- 4.3.5. 列表接口
- 4.3.6. 泛型
- 4.3.7. 数组
- 4.3.8. 理解自测:数组
- 4.3.9. Syntax Practice 8b: Lists
- 4.3.10. 嵌套 for 循环
- 4.3.11. 理解自测:嵌套的 for 循环
- 4.3.12. 语法练习 8c:嵌套循环
- 4.3.13. 检查你的理解
- 4.3.14. 编程实践 8a
- 4.3.15. 编程实践 8b
- 4.3.16. 建立图书馆藏书内容的模型
- 4.3.17. 循环惯用法
- 4.3.18. 理解自测:循环惯用法
- 4.3.19. 语法练习 9a:循环惯用法
- 4.3.20. 泛型再探
- 4.3.21. 理解自测:泛型
- 4.3.22. 语法练习 9b:泛型
- 4.3.23. 空关键字
- 4.3.24. 诊断空指针异常
- 4.3.25. 理解自测:空指针
- 4.3.26. 编程练习 9a:循环惯用法
- 4.3.27. 编程练习 9b:循环与泛型
- 4.4. 单元 4 实验 2 占位符
单元 5 更多循环与数组¶
- 5.1. 数组
- 5.1.1. 创建数组
- 5.1.2. 访问数组中的元素
- 5.1.3. 设置数组中的元素
- 5.1.4. 数组与列表(或 ArrayList)的比较
- 5.1.5. 综合应用
- 5.1.6. 自检:数组
- 5.1.7. 语法练习 10a
- 5.1.8. 遍历数组
- 5.1.9. 自检:用数组进行迭代
- 5.1.10. 语法练习 10b
- 5.1.11. 初始化数组内容
- 5.1.12. 打印数组
- 5.1.13. 复制数组变量
- 5.1.14. 数组变量的命名
- 5.1.15. 编写涉及数组的测试断言
- 5.1.16. 在问题中应用数组
- 5.1.17. 语法练习 10c
- 5.1.18. 自检习
- 5.1.19. 编程练习 10a
- 5.1.20. 编程练习 10b
- 5.2. 单元 5 实验 1 占位符
- 5.3. 多维数组
- 5.4. 单元 5 实验 2 占位符
单元 6 多维数组、文件 I/O 与集合¶
- 6.1. 变量作用域、输入、输出与异常
- 6.1.1. 变量作用域
- 6.1.2. 作用域概念总结
- 6.1.3. 检查你的理解:作用域
- 6.1.4. 语法练习:作用域
- 6.1.5. Java 输入与输出
- 6.1.6. 使用 PrintWriters 输出
- 6.1.7. 检查你的理解:输出
- 6.1.8. 使用扫描器输入
- 6.1.9. 完整输入示例
- 6.1.10. 检查你的理解:输入
- 6.1.11. 完整的输入/输出示例
- 6.1.12. 测试基于 I/O 的操作
- 6.1.13. 检查你的理解:测试
- 6.1.14. 主方法
- 6.1.15. 检查你的理解:主方法
- 6.1.16. static 关键字
- 6.1.17. 检查你的理解:static 关键字
- 6.1.18. 错误
- 6.1.19. 抛出异常
- 6.1.20. 检查你的理解:抛出异常
- 6.1.21. 语法练习:抛出异常
- 6.1.22. Try/Catch 块
- 6.1.23. 检查你的理解:Try/Catch 块
- 6.1.24. 语法练习:Try-Catch 块
- 6.2. 单元 6 实验 1 占位符
- 6.3. 映射、集合与关联数据建模
- 6.3.1. 映射和集合接口
- 6.3.2. 映射接口
- 6.3.3. 语法练习:创建映射
- 6.3.4. 向映射中添加和访问对
- 6.3.5. 语法练习:向映射中添加
- 6.3.6. 检查和移除映射中的对
- 6.3.7. 使用映射和 HashMap 的可视化总结
- 6.3.8. 语法练习:映射的包含判断与移除
- 6.3.9. 遍历映射内容
- 6.3.10. 自检:映射
- 6.3.11. 集合接口
- 6.3.12. 语法练习:创建集合
- 6.3.13. 向集合中添加值
- 6.3.14. 语法练习:向集合中添加
- 6.3.15. 检查集合中的值
- 6.3.16. 语法练习:集合的包含判断
- 6.3.17. 从集合中移除值
- 6.3.18. 语法练习:集合的移除
- 6.3.19. 遍历集合
- 6.3.20. 自检:集合
- 6.3.21. 编程练习:映射
- 6.4. 单元 6 实验 2 占位符
单元 7 测试与异常¶
- 7.1. 回顾 Java 单元测试
- 7.2. 关于异常
- 7.3. 对象、枚举和 UML 图
- 7.4. 关于多态性的更多内容
- 7.5. 单元 7 实验 1 占位符
- 7.6. 风格与文档
- 7.7. 袋
- 7.7.1. 目标
- 7.7.2. 袋的简介
- 7.7.3. Bag 接口方法的文档
- 7.7.4. 交互:BagInterface 接口方法的文档 [7:28]
- 7.7.5. 交互:使用 Bag [4:34]
- 7.7.6. 检查点 1
- 7.7.7. 编程练习:数组
- 7.7.8. 数组实现的 Bag
- 7.7.9. 检查点 2
- 7.7.10. 演示更多数组接口的实现
- 7.7.11. 检查点 3
- 7.7.12. 移除方法与设计改进课程与演示
- 7.7.13. 检查点 4
- 7.7.14. 交互式:数组扩容说明与编码演示 [14:47]
- 7.7.15. 使用数组实现 Bag 的权衡
- 7.7.16. 编程实践:BagInterface 接口
- 7.8. 单元 7 实验 2 占位符
- 7.9. 单元 7 实验 3 占位符
单元 8 链表、包、栈与效率¶
- 8.1. 链表(内存)
- 8.2. 链表包
- 8.3. 单元 8 编程 1 占位符
- 8.4. 效率
- 8.5. 栈
- 8.6. 单元 8 实验 1 占位符
- 8.7. 单元 8 实验 2 占位符
单元 9 递归与软件设计¶
- 9.1. 递归
- 9.1.1. 目标
- 9.1.2. 递归入门
- 9.1.3. 检查点 1
- 9.1.4. 交互式:更多递归:阶乘示例 [12:36]
- 9.1.5. 编程练习:递归 1
- 9.1.6. 交互式:数组上的递归:显示数组
- 9.1.7. 检查点 2
- 9.1.8. 交互式:递归处理数组:显示数组中间元素 [9:53]
- 9.1.9. 检查点
- 9.1.10. 编程练习:递归 2
- 9.1.11. 交互式:在链表上的递归 [7:41]
- 9.1.12. 交互式:汉诺塔 [11:44]
- 9.1.13. 检查点
- 9.1.14. 交互式:递归总结 [8:28]
- 9.1.15. 编程练习:递归 3
- 9.1.16. 正向流追踪练习
- 9.1.17. 回溯追踪练习
- 9.1.18. 查找错误追踪练习
- 9.1.19. 两个递归调用追踪练习
- 9.1.20. 多少次追踪练习
- 9.1.21. 更难的追踪练习
- 9.2. 软件设计与 MVC
- 9.2.1. 目标
- 9.2.2. 交互式:软件设计简介 [9:30]
- 9.2.3. 功能需求与非功能需求
- 9.2.4. 检查点 1
- 9.2.5. 识别类、字段和方法
- 9.2.6. 设计活动:案例研究 ABC Ltd 电子商务解决方案(在线商店)
- 9.2.7. 识别关系、层次结构以及可复用机会
- 9.2.8. 设计活动:确定类之间的关系
- 9.2.9. 检查点 2
- 9.2.10. 设计模式与 MVC 简介
- 9.2.11. 交互式:MVC 和观察者视频 [11:00]
- 9.2.12. MVC 示例 AddressBook
- 9.2.13. 设计评审:案例研究——ABC Ltd. 的电子商务解决方案(在线商店)。
- 9.2.14. 设计评审:案例研究 - 自动售货机
- 9.3. 单元 9 编程 1 占位符
单元 10 队列与泛型¶
- 10.1. 泛型的更多知识
- 10.2. 队列
- 10.2.1. 目标
- 10.2.2. 交互式:队列入门 [8:50]
- 10.2.3. 检查点 1
- 10.2.4. 编程练习:队列 1
- 10.2.5. 交互式:链接队列介绍与入队 [11:29]
- 10.2.6. 检查点 2
- 10.2.7. 交互式:链接队列的移除与更多功能(出队和其他方法)[8:41]
- 10.2.8. 检查点 3
- 10.2.9. 交互式:双端队列入门 [13:51]
- 10.2.10. 检查点
- 10.2.11. 交互式:双端队列移除与总结 [9:02]
- 10.2.12. 检查点 5
- 10.2.13. 交互式:数组队列:数组实现的队列 [11:08]
- 10.2.14. 检查点 6
- 10.2.15. 交互式:ArrayQueue:一个未使用的存储位置 [7:11]
- 10.2.16. 检查点 7
- 10.2.17. 交互式:ArrayQueue:确保容量 [14:06]
- 10.2.18. 检查点 8
- 10.2.19. 交互式:数组队列总结 [6:59]
- 10.2.20. 编程练习:队列 2
- 10.3. 单元 10 实验 1 占位符
