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

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

教材学习内容总结

  • 条件语句和循环语句可用于改变控制流,使程序不按线性方式运行。
  • 在条件语句和循环语句中使用相等性运算符而不是使用=,相等性运算符比算术运算符优先级低。
  • !为非,&&为与,||为或。
  • 语句块必须使用括号
  • if的嵌套可使程序在得到前一个判断结果之后再进行另一个判断
  • 浮点数二进制数位都相等时,这两个浮点数才相等
  • 字符也可以比较大小
  • 比较对象可以使用equals方法
  • 迭代器可用于一次处理某个集合
  • switch中最好加上break和default子句
  • 条件运算符可代替if-else语句

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

  • 问题1:不太了解字符比较
  • 问题1解决方案:查阅百度。 参考资料
  • 问题2:对于迭代器了解不深刻
  • 问题2解决方案:同样是询问百度~参考资料
  • 问题3:对于ArrayList类了解不深刻
  • 问题3解决:反复阅读教材及例5.11后查阅了资料

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

  • 问题1:习惯性的忘记在语句结束后加上“;”

  • 问题1解决方案:强迫自己在写完一个语句后检查应不应该加上“;”

  • 问题2:经常在条件和循环语句的条件中把=与==弄混

  • 问题2解决方案:仔细看教材上的定义,知道了=与==是有很大区别的

  • 问题3:写pp5.7时发现用例5.9的方法使这个程序继续运行直到用户退出发现程序直接就退出了

  • 问题3解决:仔细检查代码和跟同学讨论之后发现是要定义2个Scanner方法才能实现用户主动退出程序

代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1及原因,理解情况
    In order to preserve encapsulation of an object, we would do all of the following except for which one?
    A . Make the instance data private
    B . Define the methods in the class to access and manipulate the instance data
    C . Make the methods of the class public
    D . Make the class final
    E . All of the above preserve encapsulation
    封装意味着类包含操作数据所需的数据和方法。 为了正确地保护封装,不应该从类的外部直接访问实例数据,因此实例数据将变为专用,并定义方法来访问和操作实例数据。 此外,访问和操作实例数据的方法已公开,其他类可以使用该对象。 保留字“final”用于控制继承,与封装无关。
  • 错题2及原因,理解情况
    Consider a sequence of method invocations as follows: main calls m1, m1 calls m2, m2 calls m3 and then m2 calls m4, m3 calls m5. If m4 has just terminated, what method will resume execution?
    A . m1
    B . m2
    C . m3
    D . m5
    E . main
    正确答案: B
    你的答案: D
    一旦方法终止,控制就会继续使用调用该方法的方法。 在这种情况下,m2调用m4,以便当m4终止时,m2被恢复。
  • 错题3及原因,理解情况
    Java methods can return more than one item if they are modified with the reserved word continue, as in public continue int foo( ) { ... }
    A . true
    B . false
    正确答案: B
    你的答案: A
    所有的Java方法都会返回一个单独的项目,无论它是基本数据类型还是void。 保留字continue用于退出循环的其余部分并再次测试条件。
  • 错题4及原因,理解情况
    Defining formal parameters requires including each parameters type.
    A . true
    B . false
    正确答案: A
    你的答案: B
    为了使编译器检查方法调用是否正确,编译器需要知道传递参数的类型。 因此,所有形式参数(在方法头中定义的)必须包含它们的类型。 这是使Java成为强类型语言的一个元素。
  • 错题5及原因,理解情况
    Every class definition must include a constructor.
    A . true
    B . false
    正确答案: B
    你的答案: A
    Java允许在没有构造函数的情况下定义类,但是,在这种情况下使用了默认的构造函数。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 287/481 2/4 18/38
第三周 320/801 3/7 22/60
第四周 900/1600 2/9 30/90
第五周 807/2407 2/11 40/130

参考资料

posted @ 2018-04-10 21:50  大雪将烬  阅读(241)  评论(11编辑  收藏  举报