Java第一阶段总结
前言:本次博客主要针对第一阶段Java作业中出现的问题和在解决这些问题后的体会和收获,对Java面向对象思想的自己理解和体会,以及对Java这门课程的一些建议。
1.作业总结情况:
①:这三次作业就是一个从简单到略复杂的过程,而且每一次作业之间都是以迭代的关系进行,能够让我们一步步的提升自己的能力。第一次作业难度其实和上学期学习的c语言差不多,没有什么很很难的地方,而且作业内容也是比较简单的对日期的简单求法和处理。第二次作业则是在第一次作业的基础上对难度进行了一定量的增加,但这两次作业的内容上却存在着相互递进的关系,可以说第一次作业是在为第二次作业做一个基础。第一次作业的内容是求上一天和下一天,以及当前日期距离01年1月1号的日期差。而第二次作业就是在第一次的作业上进行了难度上的增加,但思想上却并没有太多的改变,比如第二次作业是求的上n天和下n天,这个就是在第一次作业求上一天和下一天上进行了一点提升,第一次是第二次的基础。然而第三次作业又是在第二次作业的基础上,进行了提升。第三次作业相对于第二次作业而言,就是在第二次作业的基础上添加了面向对象的思想和方法。这三次作业有着很强的迭代关系,作业难度在一点点增加,作业所涉及的知识点也是在原先基础上一点点的增多。
②:第二次作业到第三次作业,就正式从面向过程到了面向对象。这两次作业的核心算法并没有改变,就只是从面向过程变成了面向对象,这样通过迭代的方式来增加知识点,有利于我们理解。
③:因为在对日期进行计算时,情况有很多种,要根据不同的情况来进行不同的处理,所以有时对一些情况的讨论没有很精确,以至于在处理一些特殊数据时,就会出现问题。所以我一般会用这个出问题的数据进行debug来找出错误的地方。还有一个就是,刚开始对面向对象的方法不太熟练,很多对类的处理和一些对象的引用就会出现问题,我一般会在网上搜索相关知识或询问同学。
④:第一次作业用时比较短,然后每次作业用时都在增加,尤其是第三次作业,因为对类不熟悉,所以会花费比较多的时间。
⑤:经过这几次的作业,我深刻认识到了逻辑严谨性的重要性。因为这几次作业都是有很多的不同情况,然后根据不同的情况进行不同的处理。因为逻辑的严谨性不够,导致有很多一些比较特殊的情况就没有能够进行讨论,导致最后结果出问题,然后就需要通过debug来找到问题所在,就会花费很多很多时间。通过这两次作业,我深刻体会了逻辑严谨性的重要性,逻辑严谨了,就会为自己节省很多时间,不需要做很多无用功,同时对自己代码进行优化或改正也会变得很容易,所以逻辑严谨对编程而言很重要。
2.OO设计心得:
①:面向过程就相当于和c语言差不多,在写短代码时,会很简单很方便,但是在很长的代码、逻辑性很强的代码时,面对过程就会暴露出他的缺点,就是代码之间的联系性很强,代码就不太稳定,容易变化。而面对对象就很好的解决了这一点,他有效的降低了代码之间的关系
②面向对象设计的基本原则就是单一职责原则;就是指各自类只负责各自类里面的内容,不去参与影响其他类。单一职责的好处就是修改一个类时,不会使其他类发生改变,提高了类的可读性,提高了系统的可维护性和代码的稳定性。
③OO编程思维的理解
面向对象思维就是把一个个问题映射在一个个物体上,这一个个物体有着自己的属性、功能和状态,通过这些一个个的物体来解决这一个个问题
3.测试的理解与实践:
①:设计好的测试,能够对代码的质量进行很好的检测,避免了代码部分情况没有考虑的情况。好的测试能够很好的反应出代码的质量问题。
②:会根据写代码时的思维图来进行设计测试用例,对于一些特殊情况的用例和一些数据比较大的用例,应该被用作测试用例。因为特殊的数据能够判断你的代码是否对不同情况进行了完整且详细的考虑,数据较大的用例则可以判断你代码的优化情况和代码的时间和空间复杂度。
4.课程收获:
在这四周里,学到了很多以前没有接触到的东西。明白了面向对象的思想,从面向过程到面向对象,跨越了一座沟壑,比较艰难但也学到了很多的东西。从对面向对象的一无所知到现在能够编一些简单的面向对象的代码,我觉得收获很大。当然在这个过程中,也获得了一些教训,尤其是逻辑不严谨给我带来了很大的教训。因为思路逻辑没有过于严谨,导致对一些情况的考虑没有很到位,有一些情况没能分类讨论,以至于代码在测试时,总会有测试点不能通过,于是就得通过debug来找出这些错误的地方,于是就花费了很多很长的时间,做了很多无用功。如果代码设计得比较严谨的话,就会极大程度上的减少这种情况的出现,能够为自己节省很多时间,提高效率。所以在以后写代码之前,要先完成思维导图,进行一步步的分析,让自己的思维逻辑更严谨,提高代码效率。
5.对课程的建议:
①:希望老师在上课时,能够利用eclipse为我们多讲解一些例子,这样的话会比在记事本上为我们讲解容易理解些,因为这样我们就能知道哪些写法是可以的,在eclipse上不会报错。
②:希望老师能够在每个阶段之后,能把作业选择几题为我们详细讲解。因为我们的代码提交虽然测试点都通过了,但不一定代码的质量就高或是一定正确,希望老师能够为我们讲解讲解,让我们能够查漏补缺。

浙公网安备 33010602011771号