2017-2018-2 《程序设计与数据结构》第7周学习总结
20172312 2017-2018-2 《程序设计与数据结构》第7周学习总结
教材学习内容总结
第九章感觉难度并没有想象中的大,不就是一个extends么= =
当然一些emmm细小的知识点,好吧果然还是难一些。
总结:
1.继承就是由现有类派生新类的过程。
2.继承的目的之一就是复用现有软件。
3.在继承中,子类“是”父类,但父类“不是”子类。
4.所有的java类都直接或者间接地由Object类产生。
5.继承的概念可以应用到接口。
6.不能实例化抽象类,子类将基于抽象类定义方法。
7.final可以用于限制继承。
教材学习中的问题和解决过程
- 问题1:9.3.3中的接口层次结构。
- 问题1解决方案:别说了,这种没例题的最难看懂,算了不重要,我还是老老实实百度吧。https://www.cnblogs.com/fuhengheng/p/7998141.html不好意思我只搜到了这个,还是有点看不懂啊,好吧等老师讲。
代码调试中的问题和解决过程
- 问题1:在一开始做实验的时候,出现了比较时用了各种方法却总是出现各种反正看不懂的错误,在请教了于欣月同学之后,她也遇到了这样的问题,好了解决了。
- 问题1解决方案:因为在complex中将getRealPart的结果定义为了string型变量,将其都转化为字符串就可以解决了。当然也可以将complex中的方法改为double...改为double...为double...double...IDEA你是在针对我,你这样做会失去本宝宝的。所以,为啥啊?!
-
问题2:讲道理这周代码还是蛮简单的,唯一一个大概长一点的就是pp9-1里面的那个coin,然后他还是第五章例题。
代码托管
上周考试错题总结
- 1.Q.与数组相关的“off-by-one”错误是因为。the first array index is 0 and programmers may start at index 1, or may use a loop that goes one index too far
- A.数组初始化为=新类型[x],其中x是数组的大小。然而,数组的合法索引为0到X- 1,所以程序员经常是一个接一个的,因为程序员将编写代码来尝试访问索引1到X。
- 2.Q.假设BankAccount是预定义类,并且声明BankAccount[ ] firstEmpireBank已经被执行。然后,下面的指令保留内存空间 firstEmpireBank = new BankAccount[1000];
- A.The declaration BankAccount[ ] firstEmpireBank; reserves memory space for firstEmpireBank, which itself is a reference variable that points to the BankAccount[ ] object. The statement firstEmpireBank = new BankAccount[1000]; instantiates the BankAccount[ ] object to be 1000 BankAccount objects. This means that firstEmpireBank[0] and firstEmpireBank[1] and firstEmpireBank[999] are all now legal references, each of which is a reference variable since each references a BankAccount object. So, the statement reserves memory space for 1000 reference variables. Note that none of the 1000 BankAccount objects are yet instantiated, so no memory has been set aside yet for any of the actual BankAccount objects.
- 3.Q.If a and b are both int arrays, then a = b; will 创建别名
- A.“=”是赋值运算符。如果这两个变量是基元,则左边变量得到右手变量的拷贝(如果A和B是int值,B=5,那么A将变成5)。然而,由于A和B是数组,所以参考变量A被设置为参考变量B,导致A和B都在存储器中引用相同的数组,或者它们现在是彼此的别名。
- 4.Q.数组有一个内置的ToString方法,它将数组中的所有元素作为一个字符串插入到每个元素之间插入“\n”。false
- A.数组是对象,因此它们是从对象类继承的。对象类有一个ToStand方法。但是,对象的toStand方法不返回存储在对象中的值,而是返回引用变量的值。因此,数组上使用的ToStin将不会返回数组中存储的值,而是返回一个无意义的字符集。
- 5.Q.一个java方法主要采用参数(string []变量)使得用户可以运行程序和供应“命令行参数。但是,由于参数是字符串数组,用户不必提供任何参数。true
- A.在程序员希望允许用户提供命令行参数的情况下,主方法需要参数。任何进入命令行的java命令后将接受命令行参数。如果是由空格分隔的几个单词,则每个单词作为单独的字符串数组元素存储。例如,“java foo.class你好”会把“嗨”变[ 0 ]和“那里”的程序可能使用变量[ 1 ]。
- 6.Q.实例化时,数组的大小是固定的,但是当添加新元素时,数组列表可以动态地改变大小。true
- A.数组的缺点是它的固定大小。一旦实例化,它就固定在大小,因此,如果程序试图添加更多的元素而不是数组的大小,则会导致异常被抛出。ARAYLIST是一个使用数组并自动创建较大数组的类,将旧数组复制到新数组中,以便根据需要可以更大。虽然这会解决抛出异常的问题,但它确实会导致性能较差,因为每次增加数组大小时都必须从一个数组复制到另一个数组。
- 7.Q.粗略数组是一个多维数组,其初始索引并不都是零开始。false
- A.粗糙数组是一个多维数组,其长度不是全部相等的。java中的所有阵列的初始指标必须从零开始。
-
结对及互评
评分标准
- 正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
- 模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
-
教材学习中的问题和解决过程, 一个问题加1分
-
代码调试中的问题和解决过程, 一个问题加1分
- 本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
- 其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
- 扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
- 博客中值得学习的或问题:
- 图很多,我本人出错的时候总是忘了截图,到最后用打字来表示错题
- 问题还有翻译,不过翻译质量不咋地
- 代码中值得学习的或问题:
- pp8.5输入end停止是个很新奇的想法
- 基于评分标准,我给本博客打分:11分。
点评过的同学博客和代码
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第五周 | 347/2019 | 1/10 | 26/153 | |
第六周 | 728/2747 | 1/11 | 31/184 |