Java第一阶段学习总结

前言:本次博客主要针对第一阶段学习中三次作业中出现的问题的一次小结,是一次从面向过程到面向对象的初步转变,对面向对象设计的思维有了初步的了解,下面将从几个方面经行分析与讨论。

一、作业过程总结

  1.第一次作业主要是从基础进行考察,包括一般的输入输出、简单的if-else判断、简单数组的使用以及switch的用法等等,这些基本和C的语法相似,都属于非常基础的知识;第二次作业较第一次作业在难度上有了些许提升,主要增加了如何控制输出数字的位数,以及增加了问题的复杂度,如应多方面考虑代码的质量问题(长度,运行时间以及更多的检测点);而第三次作业在难度上又有了提升,而且首次引入了面向对象的思维,如在第二和第三第四题中,我们既可以用两个类来解决问题,也可以把问题细分,把有相似的对象与方法放在一个类中。

  2.在第一次和第二次作业中,均用一个Main类解决问题,与面向过程思维相似,在第三次作业的题目中,面向对象的思维才得以提现,它们都用了多个类的设计来解决问题,我认为从第三次作业中我对面向对象的理解是可以把问题中具有相似性的总结在一个类中,然后再去处理类与类之间的关系,这样不仅便于对问题本质的分析,也便于日后的查看与维护。

  3.第一次作业由于比较简单,除了一些概念性的问题,在完成时基本没有遇到什么问题,而在第二次作业中就遇到了一些检测点难以通过的情况,在经过较长时间的思考与不断的测试中,我发现代码的逻辑在某些地方存在着问题,比如在取特殊值时无法通过检测,没有考虑代码适用的范围等等,在第三次作业中,问题主要出在对面向对象的设计思维不适应,总是以着面向过程的思维去看待问题,就会导致无法理解一些题目的要求,最后也是慢慢地适应,一点一点地理解,才对这种思维有了初步的了解。

  4.第一次作业花费的时间较少,后面两次的时间逐步增加,第二次主要花在看待问题的严谨上,第三次主要花在了思维的转变上。

  5.通过三次的作业,我对代码的严谨性有了新的认识,也许自己在刚写完时信心满满,提交后测试点倒没通过几个,这其实就是严谨性的问题,可能只考虑了一部分,而忽略了其他同等重要的部分,这就大大地降低了代码的质量,因此在今后的学习中,在遇到一个问题时不是直接上手去写代码,而是首先应去分析它的结构组成,以多方位的角度去看待这个问题,然后给出一个最优的解决方案,最后再用代码去实现。

二、OO设计心得

  1.再面向过程编程中,就是主要把分析一个问题的过程写出来,通过一系列的函数去实现,在面向对象编程中,会把问题分成多个具有相似性的模块,再一个模块一个模块去实现。

  2.就我目前对面向对象的原则还理解甚少,只对单一职责有一些了解,即相应的代码做相应的事,实现好各自区域的功能,这样就不会显得代码毫无逻辑,也便于日后的维护。

  3.就我目前对面向对象的理解是:从多个角度出发看待问题,把它们分成不同的模块,每个模块为一个类,它们也有自己的属性和方法,并通过类与类之间的关系进行关联,我觉得这样的好处是不仅便于理解,而且还能在今后的维护中不用牵一发而动全身,只要对相应的类进行修改即可,这大大地提高了代码维护与更新的效率。就比如第三次作业的DateUtil类、Month类、Year类、Day类以及Main类,这样不仅方便编写与阅读,还方便今后的修改。

三、测试的理解与实践

  1.测试对于代码质量的重要性不言而喻,就相当于高考对于高中三年学习的检测一样必不可少,我想,通不过任何检测的代码根本没有其存在的价值,因为它无法为任何人服务,如PTA的测试点一样,你通过不了测试,你就拿不到满分,这段代码就存在着瑕疵,也许你没有发现,但如果长时间使用就会发现其存在的bug,这也从反面印证了测试对于代码质量的重要性。

  2.如果让我设计测试用例,我会从这几个方面进行测试:大量的一般情况,所有的特殊值,一些非法输入以及所有边界值的检测,我想,这些检测基本能检测出代码出现的所有的问题。

四、课程收获

  1.教训:有全局的设计观与严密的逻辑思维才能创造出优质的代码。

  2.收获:通过这三次的作业与四周的学习,我对面向对象的思维渐渐有了初步的了解,对Java的语法也了解了一些,清楚了利用Java解决问题时的基本思路与解题步骤,对于一个问题的看法相比于过去可能有了新的理解(如会重点关注逻辑的严密),总的来说,我对这门课有了初步的认识。我想,我通过这门课将收获的绝不仅仅是做题的方法,而是一种新的思维,这种思维在今后的的学习与生活中也一定会给我带来很多的益处。

五、对课程的建议

  1.老师在讲课的内容上很好,这是无可挑剔的,只是希望能多次讲解一些重难点的知识。

  2.能多谈谈这门语言未来的发展趋势以及从事的相关职业对于语言能力的要求。

  

 

  

posted on 2020-04-05 01:00  Max'  阅读(194)  评论(0)    收藏  举报