20172322 2017-2018-2 《程序设计与数据结构》第五周学习总结
教材学习内容总结
- 学会了使用if-else语句来实现条件判断,了解了
if
是可以在没有else
条件下单独使用的,而每个else
前必须要一个if
语句。 - 学会了使用
while
来实现条件判断的循环,在while
后的括号里放上布尔条件,先判断如果值为ture则继续进行,在进行完一次循环后再次判断,由此往复。 - 学会了使用
switch
在多个条件中选择执行,具体使用case
来实现,并且如果在case
没有break
会导致条件一直向下执行。 - 学会了使用
for
语句来简化在某些方面使用if
时导致的繁杂,尽管他不如后者那么容易辨认。在if
的括号里第一部分用于赋值,第二部分用于判断布尔条件,如果输出为ture则执行第三部分的内容。 - 学会了使用
do
语句来让之前使用while
的循环至少被执行一次,do
的其他部分与while
类似。
教材学习中的问题和解决过程
- 问题1:在敲入例题5.9的时候对其中的一个语句
anthor.equalsIgnorCase(y/n)
不清楚其意思。 - 问题1解决方案:在例5.9的后面解释了
equals
的用法,它是为了比较两个字符串是否相等,而IgnorCase
是为了忽视大小写。 - 问题2:对
continue
方法的使用不理解。 - 问题2解决方案:经过王老师的指点,王老师给了我一个非常厉害的指点:“在一个循环中如果出现
continue
立即终止当前的循环,跳到条件判断语句再次开始一个新的循环。”
代码调试中的问题和解决过程
- 问题1:在初期接触
while
的时候语句块的边界使用一直不清晰,许多时候出现了提前使用了}
而导致一系列错误,例如循环不正确等。 - 问题1解决方案:在做中学,认真进行修改以找到正确的使用方式,到了现在已经可以基本正确的使用
while
来实现我所想要实现的内容。 - 问题2:在做PP5.7的时候再次遇到了在第二周遇到的问题,如图,在使用
Scanner
来让用户输入时直接跳过了。 - 问题2解决方案:删除了
nextLine
中的Line就解决了问题,问题出现在它的输入是隐形的 - 问题3:在做PP6.6时将引用放在了循环外,导致在循环中实用的变量时固定的。
- 问题3解决方案:经过了张旭升学长的指点,将条件引用放入循环内解决了问题。如图:
代码托管
上周考试错题总结
- 错题1及原因:对实例化数据的概念不清晰
- 错题1理解情况:保留字“new”用于实例化一个对象,即创建一个类的实例。
- 错题2及原因:对实例数据和变量的概念不清晰。
- 错题2理解情况:局部变量是那些对它们已经声明的方法是“local”的变量,也就是说,它们只能在该方法内访问。全局变量是可以从任何地方访问的变量,而参数是传递给方法的变量。实例数据可以被认为是整个对象的全局变量。
- 错题3及原因:对于构造函数的功能不清晰。
- 错题3理解情况:构造函数应该用于“construct(构造)”对象,即设置实例数据的初始值。
- 错题4及原因:对方法重载的概念不清晰。
- 错题4理解情况:当方法共享相同的名称时称为方法重载。
- 错题5及原因:对参数是否可以为空不了解。
- 错题5理解情况:在这个方法中参数不能为空。
- 错题6及原因:对可见性修饰符的概念不清晰。
- 错题6理解情况:可见性修饰符只有“public, private, protected”三类。
- 错题7及原因:没有看清类构造函数。
- 错题7理解情况:在类构造函数中不能使用void。
- 错题8及原因:对
continue
的使用方法不清楚。 - 错题8理解情况:
continue
用于退出当前循环并再次判断条件。 - 错题9及原因:对相关概念不清晰。
- 错题9理解情况:Java允许在没有构造函数的情况下定义类,但是在这种情况下使用了默认的构造函数。
- 错题10及原因:没有认真看书,理解书上的内容。
- 错题10理解情况:书上原话是“软件需求指定了程序必须完成的功能,指明了程序应当执行的任务。”
- 错题11及原因:对于静态方法的引用范围不清晰。
- 错题11理解情况:由于静态方法是共享的,因为所有非静态实例数据都是特定于实例化对象的,所以它不能访问非静态实例数据。静态方法可以访问静态实例数据,因为像该方法一样,实例数据在类的所有对象之间共享。静态方法也可以访问传递给它的参数。
- 错题12及原因:对软件测试的目标不清楚。
- 错题12理解情况:软件测试的目标是发现逻辑和运行时错误。
- 错题13及原因:对类的拓展理解不够。
- 错题13理解情况:所有的类都可以实现拓展无论它是接口还是它在实现接口。
- 错题14及原因:
- 错题14理解情况:大多数类没有实现Comparable。
其他(感悟、思考等,可选)
- 感悟:这周的内容虽然也是两章,但是再经过了上一周的铺垫之后觉得这周的任务不难,学习也相对轻松,也更加激发了我学习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 | 难度的减小激发了学习动力 |
-
计划学习时间:30小时
-
实际学习时间:30小时
-
改进情况:上一周博客中学长指出的不足已经更正,上一周的错题也已经理解。