目录
20182324 2019-2020-1 《数据结构与面向对象程序设计》第7周学习总结
教材学习内容总结
1、增长函数和大 O 计数法
2、栈的 ADT
3、泛型
4、栈的操作 pop、peek、push、isEmpty、size
push | 将元素添加到栈顶 |
pop | 删除栈顶元素 |
peek | 查看栈顶元素 |
isEmpty | 判定栈是否为空 |
size | 判定栈中元素的个数 |
5、后缀表达式的计算
6、数组 ArrayStack 和链表 LinkedStack 实现栈
7、队列 ADT
8、队列操作
enqueue | 将元素插入到队尾 |
dequeue | 删除队首元素 |
first | 检测队首元素 |
isEmpty | 判定队列是否为空 |
size | 判定队列中元素个数 |
9、队列编码 k 值
10、数组 ArrayQueue 和链表 LinkedQueue 实现队列
教材学习中的问题和解决过程
- 问题1:参考书上代码编写的程序运行时没有标题栏
问题1解决方案:主类 extends 的是 Activity 而不是 AppCompatActivity 。可参考 Android 中 Activity 和 AppcompatActivity 的区别 ( 详细解析 )
- 问题2:既然接口 interface 是一组常量和抽象方法的集合,不能被实例化,为什么在主方法中却可以 new 一个实例化对象
问题2解决方案:其实并不是对接口本身进行实例化,而是声明一个对象引用变量指向实现该接口的类的对象。
代码调试中的问题和解决过程
- 问题:Android Studio 编译时报错“ No resource found that matches the given name (at 'title' with value '@string/action_settings').”
- 问题解决方案:在 value 文件夹下的 string.xml 文件中添加
<string name="action_settings"> </string>
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
上周未进行考试,故没有错题
结对及互评
点评:
- 博客中值得学习的或问题:
- 图文并茂,有参考资料
- markdown 格式运用较为熟练
- 代码中值得学习的或问题:
- 代码格式规范,合理使用空白,便于阅读
- 基于评分标准,我给本博客打分:14分。得分情况如下:
- 1、正确使用Markdown语法(加1分)
- 2、模板中的要素齐全(加1分)
- 3、教材学习中的问题和解决过程(2分)
- 4、代码调试中的问题和解决过程(1分)
- 5、本周有效代码超过300分行的(加2分)
- 6、其他加分:
- 感想,体会不假大空的加1分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
- 参考示例
点评过的同学博客和代码
- 本周结对学习情况
- 结对学习内容
- 学习处理异常的基本方法
- 捕获异常,学习try-catch语句,还有finally的特点。
- 异常传播现象和异常的层次。
- throw、throws语句和异常的免检、必检。
- IO异常,以及文件的输入输出。
- 多态的运用,继承的多态。
- 接口和多态接口的使用,还有接口的层次。
其他(感悟、思考等,可选)
面向对象三要素是封装、继承、多态,在面向对象程序设计中这三个要素尤其重要,需要着重学习;异常的捕获与处理也是日常编写程序中值得注意的地方。总的来说近期的 Java 学习不管是对于当前的学习还是日后的程序设计都是十分有帮助的。
学习进度条
目标 | 10000行 | 30篇 | 400小时 | |
第一周 | 109/109 | 2/2 | 28/28 | 学习了Java的基本语法格式,熟练使用 Linux Bash 命令 |
第二周 | 550/659 | 1/3 | 23/51 | 学习掌握JDB调试命令 |
第三周 | 1028/1687 | 2/5 | 30/81 | 学习类的编写与使用 |
第四周 | 542/2229 | 2/7 | 22/103 | 学习方法重载,类的继承、聚合等 |
第五周 | 1197/3426 | 2/9 | 15/118 | 学习 Java Socket ,了解加密算法 |
第六周 | 1344/4770 | 1/10 | 22/140 | 学习多态与异常处理 |
第七周 | 1344/4770 | 1/10 | 30/170 | 学习Android |
计划学习时间:20小时
实际学习时间:30小时
改进情况:
(有空多看看现代软件工程 课件 软件工程师能力自我评价表)