第一阶段作业总结

前言:这次的博客是针对第一次学习Java面向对象课程的总结与思考,主要是通过作业来体现

一、作业的总结:在学习Java的这段时间内,我完成了三次作业。第一次的作业是选择结构类型的题目,难度并不是很大,第二次的作业是关于设计计算日期的,比如判断输入的日期星期几以及求前n天或后一天,涉及到的知识有选择、循环、方法、数组,较第一次作业难度增加了。第三次作业是关于类与对象以及构造方法和类之间关系的题目。这三次题目具有迭代关系,第一次题目是让我们熟悉在Java中循环的使用,而第二次作业是运用一些方法去解决日期的相关问题,第三次作业是用对象去解决。我觉得这三次作业是由浅到深训练我们的面对对象的思维能力,前两次的作业主要在于算法,而第三次作业是对象以及和算法,可以说是慢慢地将我们引入面向对象编程的大门。

二、问题及解决方法:在完成这几次的作业中,我遇到了许多的问题。

1、最简单的格式问题,往往最简单的出错就会导致整个程序运行的出错,这是我们没有仔细审查题目或者需求导致的,比如说在输出year - month - day的时候,我遗忘了间隔的空格,这很致命。在那次作业的那道题,我花了大量的时间去排查整个程序的执行,所以说在做任何题目前一定要花足够多的时间去弄清楚它到底要求你如何去做。

2、代码的优化:在之前我都没有注意到这个问题,经常写一些长而且复杂的代码,其实都可以进行优化。比如说第三次作业题目中求下n和前n天,开始我是用循环一天一天去计算,但是后面发现运行超时,于是我改为一个月的循环计算。这也算是一种代码的优化吧。

3、花费时间:每次作业所花费时间也许比老师所提供的参考更多,每次写代码之前,我都会看看这个题目要用到什么知识点,然后再反复的去思考。

4、注意题目之间的关系:记得第三次作业中求两个日期相差的天数,我想起在第二次作业中有一个判断星期几的题目,就是输入日期求距离000111日的天数,再除7求余。这启发了我计算两个日期的相差天数的时候可以以000111日作参考,先计算其中一个日期距离000111日相隔的天数,再计算另一个日期相隔的天数,最后两个天数再相减。所以说可以总结之前的东西,节约时间。

5、认识及教训:1)首先是题目的需求要仔细看明白,只有完全看懂了题目的要求才能往下做

2)代码优化以及算法的逻辑性

3)注意作业之间的迭代关系

三、OO设计心得

1、面向过程与面向对象的比较:面向过程是针对某个题目去设计,而面向对象是对于可能对个对象去设计,面向对象设计具有复用性。面向对象设计更加符合人们日益增长的不同需求,减少无谓的工作量。

2、面向对象设计的解释:我认为面向对象设计是为了维护代码的通用性而产生的。生活中对象有无数多个,但是如果没有面向对象设计思维,会导致每更换一个对象就要重新设计,所以为了简化,增加代码的通用性,产生面向对象。

3、OO编程思维:在OO编程当中最为重要的就是类和对象,首先是找到相应的对象,再去设计类,最后分析类与之间的关系和联系。

四、测试的理解和实践:1、对于编程,测试代码是一项非常重要的步骤,它可以检测代码质量。比如说在完成一项需求时,本来可以百来行代码完成的,但如果你硬是写的上千或上万行代码,这无疑是不行的。还有测试功能,一个程序并不是只能运行出某些数值,而是任何满足题目要求的数值,所以测试这一功能是必需的。

2、如果让我来设计测试用例我会多加几个平常的例子,以及涉及到边界的例子。比如测试最大值最小值。

五、课程收获:经过这几次的作业训练,我懂得了对象与类,在之前学过的C语言课程中是完全没有的。在Java中没有指针概念,有的是对象,通过对对象的操作来输出相关的值。还有类的封装性以及构造方法的调用。

六、对课程的建议:我认为这门课应该多讲一些例子,经典的例题,希望讲知识点的时候结合例子实际操作,这样知道怎么在题目中用。我觉得老是讲一些理论没有实际例子理解的快,通过题目去理解是好的办法。

 

 

posted @ 2020-03-29 11:33  可以输但没必要  阅读(137)  评论(0)    收藏  举报