20172322 《程序设计与数据结构》第七周学习总结

20172322 2017-2018-2 《程序设计与数据结构》第七周学习总结

教材学习内容总结

  • 学会了使用UML图来表示各类间关系,UML也可以使得编程的思路变得清晰。例如#代表可继承,+代表public-代表private
  • 学会了使用super引用父类的构造方法,因为父类的构造方法不会继承给子类,但如果子类需要继承父类的构造方法需要使用super
  • 了解到当子类和父类有相同的方法名和签名时,子类方发将重写父类方法,例如书上例9.7、9.8,它的存在允许两个有继承关系的对象按照同名规则使用同名方法,当然final修饰符可以使得父类方法无法被重写。
  • 了解到影子变量是父类与子类相同名称的变量,这种方法虽然合法但不提倡。
  • 同一个父类的两个子类被称为同胞(siblings
  • Object类是几乎所有类的父类!
  • 类的继承和接口的继承不可以重叠,接口不能用于派生新类,类不能用于派生接口。
  • 父类的私有方法在子类中可以被间接引用,例如例9.10、9.11、9.12。

教材学习中的问题和解决过程

  • 本周教材学习问题不多。
  • 问题1:在书上有两句话“父类的私有方法或变量不能在子类中访问,或通过子类对象访问”和“所有的方法和变量(即使声明为private可见性)都将由子类继承”。开始没有看懂。
  • 问题1解决方案:开始时是对访问和继承的概念不清晰,在仔细看书之后发现了区别,就像上一部分所提及的,被继承的方法可以被间接引用,第一句话所说的是直接引用。

代码调试中的问题和解决过程

  • 问题1:在做作业PP9.1时遇到了两个问题,首先是在使用b.setNum()调用时导致面值被固定。
  • 问题1解决方案:之后发现好像b.flip()是现成的为啥不用。 ??
  • 问题2:还是PP9.1,解决上一个问题后满心欢喜,突然定睛一看怎么没有计数!!!!!,恐怖至极!
  • 问题2解决方案:仔细检查代码,发现有一处return face貌似有点倪端,赶紧将其改为return numbigo瞬间解决问题 ??

代码托管

上周考试错题总结

  • 错题1及原因:平时看到的错误抛出总是A并没有遇到过B.C选项,便下意识选择了A。

  • 理解情况:ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException,用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。

    也就是说角标异常!可能的原因是使用的角标大于等于数组的长度或为负数!

  • 错题2及原因:对将一个数组中的所有元素复制到另一个数组中的方法不了解。
  • 理解情况:书上的例8.8给出了方法,即a[x] = b[x]类似,为啥不好好看书T T。看了就27了T T

结对及互评

点评模板:

  • 博客中值得学习的或问题:

    • 范雯琪同学的博客课本上的学习内容总结部分写得十分详细,一看就知道十分认真的学习了书本上的内容。
    • 错题部分虽然比较明了,但是使用非图片方法我觉得会浪费一些时间,直接以图片形式放上去或许可以有更多时间放在问题的理解上。
  • 代码中值得学习的或问题:
    • commit提交的解释清晰明了,比我的要简洁一些,但是意思的表达上实际差不多,我觉得我应该学习,以节约时间。
    • 本周的课本上的代码和实验的代码并没有分开文件夹放置,导致今后找代码时存在些许困难,建议她分开放置。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20172303
    • 结对学习内容
      • 教会范雯琪同学使用UML图。
      • 在范雯琪同学在我编写PP9.1遇到困难时积极想我伸出了援手,使得我对本章我觉得一些难点豁然贯通!
      • 帮助范雯琪同学完成实验二的节点4。

其他

  • 感悟:时间逐渐放宽,利用更多的时间去理解JAVA的乐趣所在

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 242/242 1/4 13/13 增加了对Java的兴趣
第二周 297/539 1/5 15/28 发现目标并没有想象中那么难
第三周 315/854 2/7 18/46 突然发觉JAVA的难度不小
第四周 1269/2123 1/8 50/96 Java难到哭,但是有信心击败他!
第五周 737/2860 1/9 30/126 难度的减小激发了学习动力
第六周 542/3402 2/11 20/146 不能说难度变小!!!又难了T T
第七周 956/4357 1/12 35/181 平平淡淡才是真
  • 计划学习时间:20小时
  • 实际学习时间:35小时
  • 改进情况:commit的要求继续实施。

参考资料

原文地址:https://www.cnblogs.com/zhangyeye233/p/8910368.html

时间: 2024-10-06 22:49:38

20172322 《程序设计与数据结构》第七周学习总结的相关文章

20172322 2017-2018-2 《程序设计与数据结构》第二周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第二周学习总结 教材学习内容总结 了解了print与println的区别 了解了字符串的拼接可以用+来完成 了解了转义字符的使用 学会了使用赋值 学会使用部分算术运算符 学会了使用Scanner来实现交互性 教材学习中的问题和解决过程 问题1:在最初接触赋值时对foalt和double的赋值范围不了解 问题1解决方案:使用万能的度娘后看到一个高赞答案后有了了解 问题2:在提前预习时看到2.7图形后敲入的代码无法执行 问题2解决方案

20172322 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172322 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常 学会了使用try-catch来实现未捕获的异常的处理.可以使得异常被捕获进而不导致程序出现错误退出.使用try写入可能产生异常的语句,使用catch来编写在捕获异常后继续执行的代码(可以为空). "未捕获的异常"指在编译过程中不会被编译软件显示异常但是在运行时会出现异常导致程序直接退出,例如:"ArithmeticException"."In

20172322 《程序设计与数据结构》第一周学习总结

20172322 <程序设计与数据结构>第一周学习总结 教材学习内容总结 本周是新学期的第一周,也只有一节课,课上老师结合教材给我们讲了一堂课,主要内容如下: 高质量软件的主要特征:正确性.可靠性.健壮性.可用性.可维护性.可重用性.可移植性.运行效率.质量问题. 阶次O的计算法:忽略该算法的增长函数中的常量和其他次要项,只保留主项而得出的. 处理器运算速度的大幅度提升和大量廉价储存器的涌现也不代表我们能忽略算法分析,而恰恰相反,处理器速度和存储器并不能弥补算法效率的差异. 在嵌套循环中的复杂

学号20172328《程序设计与数据结构》第九周学习总结

学号20172328<程序设计与数据结构>第九周学习总结 教材学习内容总结(异常和递归) 第11章:异常 1.[异常处理]: 一个异常:是一个定义非正式情况或错误的对象,由程序或者运行时环境抛出,可以根据需要捕获和处理. 错误:错误类似于异常,但是错误代表不可恢复的问题并且必须捕获处理. 2.[处理异常的三种方法]:①根本不处理异常②当异常发生时处理异常③在程序的某个位置集中处理异常. 3.[未捕获的异常]:如果程序中不处理异常,则程序将非正常的终止运行,并产生关于描述在何处发生什么异常的信息

20172326 《程序设计与数据结构》第九周学习总结

学号 20172326 <程序设计与数据结构>第九周学习总结 教材学习内容总结 异常(exception):定义非正常情况下或错误的情况的对象,由程序或运行时环境抛出,可根据需要进行相应的捕获处理. 异常与错误的区别:错误代表不可恢复的问题并且必须捕获处理.而异常可以忽视,或者使用try语句处理,或调用更高级的方法. 可检测异常与不可检测异常:可检测异常必须由方法捕获,或者必须在可能抛出或传递异常方法的throws子句中列出来.在方法定义的声明头中追加一条throws子句.不可检测异常不需要使

20172311 2017-2018-2 《程序设计与数据结构》第九周学习总结

20172311 2017-2018-2 <程序设计与数据结构>第九周学习总结 教材学习内容总结 本周对异常和递归进行了学习 异常的处理方式有两种:一种是直接抛出,并从异常处终止程序:另一种是捕获并处理异常,从而使程序继续运行. 捕获和处理异常主要运用try-catch语句. 通过继承Exception类可以自定义一个新的异常 处理IO异常的常用方法是抛出异常. 对于某些问题,递归是最精炼和适当的解法,但对于其他问题,递归则不如迭代方法直接. 教材学习中的问题和解决过程 问题:什么是IO操作

20172327 2018-2019-1 《程序设计与数据结构》第九周学习总结

20172327 2018-2019-1 <程序设计与数据结构>第九周学习总结 教材学习内容总结 第十五章 图 无向图 1.图的概念(非线性结构):允许树中每个结点与多个结点相连,不分父子结点. 2.图由顶点和边组成. 顶点由名字或标号来表示,如:A.B.C.D: 边由连接的定点对来表示,如:(A,B),(C,D),表示两顶点之间有一条边. 3.无向图:顶点之间无序连接. 如:边(A,B)意味着A与B之间的连接是双向的,与(B,A)的含义一样. 4.邻接(邻居):两个顶点之间有边连接. 5.自

《程序设计与数据结构》第九周学习总结

学号 20172326 <程序设计与数据结构>第九周学习总结 教材学习内容总结 图:图(Graph)是一种复杂的非线性结构,在图结构中,每个元素都可以有零个或多个前驱,也可以有零个或多个后继,也就是说,元素之间的关系是任意的.与树的区别在于树中的一个结点只有一个前驱,也就是说只有一个父结点.但图中的顶点(结点)是没有这种限制关系的. 无向图:边为无需结点对的图.也就是说,现有两个顶点A.B.(A,B)与(B,A)效果相同.当两个顶点之间有边连接,也就是说这两个顶点是邻接的,也称作邻居.一个顶点

20172333 2018-2019-1 《程序设计与数据结构》第九周学习总结

20172333 2018-2019-1 <程序设计与数据结构>第九周学习总结 教材学习内容总结 <Java软件结构与数据结构>第十五章-图 一.无向图 ①无向图的定义 图是由结点与结点相连接构成的,与树类似.这些结点被常常称作顶点(vertice),这些顶点的连接叫做边(edge). 无向图(undirected graph)是一种边为无序结点对的图. 两个顶点之间有一条连通边的顶点,我们称作它们为领接的(adjacent).这两个顶点也叫作邻居(neighbor),自己是自己的

2017-2018-20172309 《程序设计与数据结构》第九周学习总结

2017-2018-20172309 <程序设计与数据结构>第九周学习总结 一.教材学习内容总结 一些概念: 图: 是一种复杂的非线性数据结构. 图的二元组定义: 图 G 由两个集合 V 和 E 组成,记为: G=(V, E) 其中: V 是顶点的有穷非空集合, E 是 V 中顶点偶对(称为边)的有穷集. 通常,也将图 G 的顶点集和边集分别记为 V(G) 和 E(G) . E(G) 可以是空集.若 E(G) 为空,则图 G 只有顶点而没有边. 有向图: 若图 G中的每条边都是有方向的,则称