20172320 2017-2018-2 《Java程序设计》第八周学习总结
Posted garolwz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20172320 2017-2018-2 《Java程序设计》第八周学习总结相关的知识,希望对你有一定的参考价值。
20172320 2017-2018-2 《Java程序设计》第八周学习总结
教材学习内容总结
1、绑定多数情况下发生在编译阶段
2、被延迟的请求事件成为后绑定或动态绑定,后绑定的效率低于编译阶段的绑定效率
3、多态性引用:继承方式和接口方式
4、一个引用变量可以指向有继承关系的任何类的任何对象
5、实际将调用的方法版本取决于对象的类型而不是引用变量的类型
6、一个接口引用变量可以指向实现该接口的任何类的任何对象
7、选择法排序通过相继的将各值放在自己的最终位置,插入排序法是不断地将一个新元素插入到已排好的数列子集中,直到整个数列有序排列为止
8、两种排序都是n^2阶算法,但选择排序所执行的交换操作的次数更少,因此选择法优于插入法
9、线性搜索从一个端点开始,以线性方式扫描整个搜索池;二分搜索从有序数列的中点开始搜索
10、若长远的看搜索的效率不是重要问题时,线性搜索则可能是最佳选择
教材学习中的问题和解决过程
- 问题1:两种排序法的比较
- 问题1解决方案:书上说选择排序的交换操作的次数少,所以优于插入法。但既然存在这种排列法,那么就一定有它的优势,在网上搜索了一下,对比了几种排列法,发现了它相对其他几个方法同时具有
稳定,快
的优势,但不适合总量庞大的数据
同时还搜出了这两个排序法效率的比较公式
可以看出序列越有序则插入排序所需比较次数越少;而选择排序比较次数恒为N*(N-1)/2次,从而更进一步说明插入排列法不适合处理庞大杂乱的数据
代码调试中的问题和解决过程
- 问题1:PP10.5无法排序
- 问题1解决方案:刚开始直接把第八章的DVD和movie复制过来在movie里进行修改,结果无法排序,后来根本没用compareTo方法,就在DVD中仿照Contact后面的compareTo进行定义,然后还有如图这个问题
仔细对照发现,DVD中没使用Comparable接口
代码托管
上周考试错题总结
All classes in Java are directly or indirectly subclasses of the ________ class.
A .Wrapper
B .String
C .Reference
D .this
E .Object
分析:Java要求所有类都有父类。如果一个类不扩展另一个类,那么它在默认情况下扩展了对象类。对象类是Java中其他类的父类。In order to determine the type that a polymorphic variable refers to, the decision is made
A .by the programmer at the time the program is written
B .by the compiler at compile time
C .by the operating system when the program is loaded into memory
D .by the Java run-time environment at run time
E .by the user at run time
分析:多态变量可以包含许多不同的类型,但是在程序执行之前,它不知道是哪一种类型。在引用变量时,必须做出决策。这个决策是由运行时环境根据变量的最新分配而做出的。Using the reserved word, super, one can
A .access a parent class‘constructor(s)
B .access a parent class‘methods and instance data
C .access a child class‘constructor(s)
D .access a child class‘methods and instance data
E .none of the above
分析:超级保留字提供了一种机制,用于访问父类的方法和实例数据(不管它们是否隐藏)。此外,可以使用super来访问父类的构造函数。结对及互评
点评过的同学博客和代码
- 本周结对学习情况
20172327
20172317 - 结对学习内容
?教材第10章
?阅读10.1-10.6章节
?完成课后自测题,并参考答案学习
?完成课后练习题
?完成程序设计项目:至少完成PP10.1、PP10.4、PP10.5.
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 67/67 | 1/4 | 20/20 | |
第二周 | 328/395 | 1/5 | 20/40 | |
第三周 | 523/851 | 1/6 | 20/60 | |
第四周 | 1070/1921 | 1/7 | 20/80 | |
第五周 | 608/2529 | 1/8 | 10/90 | |
第六周 | 608/2899 | 1/9 | 20/110 | |
第七周 | 429/3328 | 1/10 | 20/130 | |
第八周 | 804/4131 | 1/11 | 20/150 |
参考资料
以上是关于20172320 2017-2018-2 《Java程序设计》第八周学习总结的主要内容,如果未能解决你的问题,请参考以下文章
20172320 2017-2018-2 《程序设计与数据结构》实验二报告
20172320 2017-2018-2 《Java程序设计》第八周学习总结
20172320 2017-2018-2 《Java程序设计》第十周学习总结
2017-2018-2 1723 『Java程序设计』课程 结对编程练习_四则运算