java第一阶段总结(前四周)
0.前言
pta已经写过三次作业了,第一次作业相对来说难度较小,从第二次作业开始到三次作业感觉难度逐渐在增大,代码长度也在增长,花费的时间就更长,下面我总结一下在这三次作业中的收获与不足。
1.作业过程总结
①总结三次作业之间的知识迭代关系
第一次作业给我的感觉和写C语言差不多,主要是让我们找回写代码的感觉,
第二次作业开始,让我渐渐开始熟悉类里的方法的运用,在一个类里面实现方法的调用、运用。
第三次作业才开始算真正的在运用类,不再是局限在一个类里面的方法的运用,而是好几个类互相联系互相运用,通过好几个类层层迭代、层层运用来实现,这里确确实实是在用面向对象的思维来解决问题,不在是把一堆代码写在一个类或方法里,这与C语言是不同的,我从C语言到Java,是思维的转变,是从面向过程的思维转变成面向对象的转变。
②如何通过作业逐步从面向过程过渡到面向对象
第一次的作业中都是用的面向过程的思维在写代码,后面两次作业逐渐开始转变成面向对象,在面向过程中不会用到太多的方法和类,只是会抱着把代码写完,把功能实现的心思去编程,不方便以后的维护,面向对象不一样,写代码时会用到好几个类每个类里都有很多方法,它有很高的复用性,可读性更强,方便以后的维护。我认为从面向过程过渡到面向对象最主要的是不要把代码写到一起,多运用几个类,类里面每个方法单独写一个函数。第三次作业就是用了好几个类去实现代码功能。
③作业过程中遇到的问题及解决方法
编码遇到的问题大多都是边界问题和特殊情况问题,比如第二次作业求前n天和求后n天,在一些边界和特殊情况上花费了挺长的时间,然后我就通过pta上的测试点的提示测试,通过输入特殊数据测试输出结果,然后一步步完善代码。第三次作业从第二题开始难住了我,再求前n天和求后n天时没有考虑到n的值可以取到很大值,导致测试点通不过,尤其在求前n天的日期时,没想到n取很大值时年份可能变成负值,后来也是通过输入特殊数据来测试输出才改好代码,对我来说第三次作业第三题才是最大的困难,刚开始没什么头绪,因为从这题开始才真正运用多个类来编码,妥妥的面向对象,当时根本就没想到调用另外一个类的方法,层层调用,后来挣扎了很久实在没办法,就问了同学,然后他告诉我方法让我自己去尝试,后来在不断的错误下吸取教训终于完成了,写完了第三题,第四题自然就水到渠成了。
④每次作业花费的时间比例
第一次作业花费的时间是最少的,因为第一次作业不是很复杂,需要考虑的也不多,基本都能直接上手,代码量也不多,所以时间较少,几个小时就搞定了。第二次作业相对于第一次作业难度加大了一点,代码量也多了,比第一次作业多花了点时间。第三次作业写的时间就相对长了,因为第三题刚开始没头绪,想办法,后来得知方法后又要想如何设计代码,如何把这些类串联起来,这里花的时间就比较长,第四题有了第三题的教训,从第三题代码稍作改动就行了,第三次作业花了将近两天时间。
⑤对编程过程的严谨性的认识及教训
编程的严谨性真的特别重要,一定要特别的小心,往往bug就是在思考不周和不严谨中产生的,有时候“;”忘记加了,有时候字母打错了,这些都是不严谨的表现。
2.OO设计心得
①面向过程与面向对象的比较
面向过程就是明确怎么去解决问题,怎样才能解决问题,并且创建函数来解决问题。
面向对象就是通过各个对象来解决问题,使用多个对象,创建多个对象并在对象中使用方法来解决问题。
②面向对象设计的基本原则理解
(1)单一职责:一个类只需要做好一件事
(2)继承原则:子类可以使用父类的方法
③OO编程思维的理解
运用多个对象,每个对象执行每个对象的职责,各自独立完成并实现功能。
3.测试的理解与实践
①测试对于编码质量的重要性
如果不通过测试,自己也不知道代码的bug在哪里,无从修改,通过测试的代码,bug就会容易知道,修改就方便,代码就会更加完善,质量就会提高,更加节省时间。
②假如让你设计测试用例,你会如何做
我会使用一些在边界的数据和一些比较特殊的数据以及常规值,以做到效率高,省时。
4.课程收获
在这一阶段的学习中,学到了很多,让我在面向对象思维上有了更深刻的了解,慢慢形成了面向对象的知识体系,学到了UML图,正则表达式的运用,继承关系,类与类之间的运用等等。在编程过程中也遇到了很多困难,比如一些边界问题,特殊值问题,类与类之间的运用问题等等。在这几次作业中,我也明白了写代码一定要细心,不能马虎。
5.对课程的建议
我希望在pta作业结束后,老师能在课上提一下pta上一些题目的比较好的方法和思路,也可以和我们分享一下编程的经验,方便我们学习到更好的方法并且借鉴一些经验。
6.后阶段的学习计划
多与同学交流,学习别人一些好的方法,要认识自己的不足,从错误中吸取教训,努力!

浙公网安备 33010602011771号