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 |