Java第三阶段的总结
Java第三阶段的总结
- 0. 前言
本次第三阶段主要是对于几次大作业的练习。包括第九次作业雨刷器,第十次作业统计源代码关键字,第十一次作业java的四则运算。总的来说这几次pta难度在之前的基础上又有所上升,雨刷器可以顺利解决,但是后两次作业都是有一两个测试点无法顺利通过,导致写的很难受。可以说这几次作业都是对前面学习的知识的一个融合考察,很考验一个人的编程能力,毅力。
- 1. 作业过程总结
雨刷器看起来貌似很复杂,但是理解清楚抽象类与多态等关系,然后想好结构我觉得就很简单了。而后面的两次作业可就没这么简单了,统计源代码关键字的那题,一开始的话毫无思路,在老师提醒用键值对,然后我苦思良久,终于想到了解决问题的方法,那就是吧单词用一些手段提取出来,一个一个检测,至于怎么提取,又回到了之前学习的正则表达式。然后是按字母顺序输出,treemap用迭代器输出,自带了排序功能,所以顺利解决,虽然有一个点苦苦过不去,但还是让我很开心。
最后一次pta编程作业对我来说可谓是地狱模式,两大难点,前缀转后缀的正则部分,前缀转后缀的的入栈出栈运算。自己自学自写了出栈入栈运算,写了2天左右,到最后确卡了两个运算点,如果要彻底通过测试点,那意味着我的代码几乎要重构一遍,纠结过后,还是放弃了。只能说可谓是难受可言。
2.OO设计心得
①面向过程与面向对象的比较
关于面向对象和面向过程的比较:面向过程:把完成某一个需求的所有步骤从头到尾逐步实现根据开发需求,将某些功能独立的代码封装成一个又一个的函数.最后完成的代码,就是顺序地调用不同的函数。而面向对象:面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。总的来说一个是为了结果,一个是描述过程。
②面向对象设计的基本原则理解
单一职责原则:我认为这其实就是把类做多,把功能分开几个行为,单一职责顾名思义,一个类只做一种事情,一方面可以让设计简单,另外如果发现有什么地方有问题也可以更好修改。
开-闭原则:按照定义来说是对扩展开放,对修改关闭在我感觉就是在实现对象动作的时候,把它交给某个类的方法去干,比如说数字相加,把加运算弄成一个类的方法,这样如果要算减法,就在该类增加一个减方法,然后把加方法换成减方法即可,加方法也还在,以后要用其他的功能也类似。也就是对功能扩展依赖于类方法增加。这就是我对开-闭原则理解。
③OO编程思维的理解:我对于面向对象编程思维的理解:面向对象编程,主要是进行对事物行为的描述,把一个过程所有出现的事物的行为描述清楚,要是改变一些行为,就在相应的类里面加上新的行为方法,要是要改变对象,那就构造新的对象类。这就是我对oo编程思维的理解。
3.测试的理解与实践
①测试对于编码质量的重要性
合格的测试可以对代码的优化起着促进作用,优化代码的架构,所以我觉得测试对于编码质量还是挺重要的。
②假如让你设计测试用例,你会如何做
对于一些边界值,和普通点加大,防止试点行为。
4.课程收获
说长不长,说短不短,本学期的Java课程就到此为止了,关于我对课程的收获来说,我感觉有很大的收获。虽然因为疫情的原因,上课的学习效率有所降低,导致我本人来说对于java的理解还是不够深入,总感觉只学到一些皮毛。然后就是写了这么久的pta我感觉最重要的就是搭框架,如果某次作业你急哄哄地去写,往往写到一半又得重新回来看题目要求,之前急匆匆写的代码一般也是无用代码,最重要就是理清楚uml’图,搭好框架,尤其是前几次pta比如水文,对形状的排序特别要求这一点,沉下心来往往更有收获。然
收获如下:
1.面向对象的思想有收获。
2.掌握了一门编程语言,虽然只是基础。
3.正则表达式。我认为正则表达式对于编码人员来说挺有用的,而且在生活中也可以用到,比如说屏蔽一些弹幕时,可以正则处理。
4.疫情期间的学习还一定程度锻炼了我的自学能力,许多知识老师在课堂上只能粗略地讲讲,要想处理pta问题许多都要去自己搜集资料自学。
5.对课程的建议
我对课程的建议:不知不觉课程走到末尾,虽然来说java学习的过程中挺辛苦的,要求也很严格,但是我认为这样的方式也很好,有难度的pta在你刚写的时候或许会很难受,思考的时候很痛苦,但是当你历尽痛苦搭好框架,写好代码,顺利通过所有测试点的时候,你就会感觉一切都没有白费,成就感很大。这种类似赶鸭子上架的模式,被pta驱动式学习虽然很难受,但是也能让我们学到更多的知识,我感觉挺好的。
建议:
1.关于pta查重,希望能在系统判断已重复基础上让老师最后检查一下两人代码是否属于抄袭,因为对于有一些简单题和原代码复用高的题目,思路容易重复,即使两人没有互相抄袭。
2.创建一个pta题目集100道题左右,时长为一个学期,里面都是贯穿java知识点的简单题和中等题(花点时间就可以做出来的那种),让学生自主刷题,可以提高自信,并且让同学自学。期末总分可以占5%等小部分(反正不至于不刷完就容易挂科),一方面不至于让同学们感到非做不可的紧张,一方面可以促进自学。
3.pta作业中输入输出样例多一些,但是这些样例可以不在测试点里,单纯就是让同学自查代码bug。
浙公网安备 33010602011771号