java第三次博客作业
前言:本次博客是对我本学期Java的所有PTA作业做的一个总结,其中有各种我写作业时出现的错误以及我进行编程时突然领悟到的心得体会,我在这里将他们写进这个博客中,希望大家可以在里面得到一些有用的东西。
1、 作业过程总结
(1) 第一次作业主要是考察循环语句以及基本数据类型和分支结构的使用,是Java的基础学习部分。而第二次作业主要考察方法的灵活运用。要比第一次作业稍微进阶一些,不过仍然只是Java学习的基础。第三次作业就比较困难,它考察的是类的使用,也就是已经进入了面对对象的范畴,和我以前学习的c语言已经开始不同了,这也是Java语言的精髓。在第五次作业中,主要考查了类的封装和继承,第六、七次则考察了多态性,并且在第六次中添加了一些类的使用,而在第七次中添加了接口的概念。在第九次作业的雨刷程序功能扩展设计中,考察了类的封装、继承、多态。抽象类,接口。这次作业比较简单。第十次作业运用了List、Set或Map中一种或多种接口,主要考察这三种接口的运用以及正则表达式。第十一次要求使用两个栈(Stack),一个运算符栈,一个操作数栈。
(2) 在第一次作业中学会了使用toLowerCase().charAt(0)方法的使用以及String与char类型的转换。第二次作业中我对数组的掌握更加熟练了,并且可以熟练的使用布尔类型和方法的嵌套以及各种基础语句。在第三次作业中第一题中我不会调用其他类中的参数,但在向同学咨询并且网上学习后终于掌握了如何调用其他类的参数的办法。第二题中我认为再使用之前写的代码太冗杂,我便使用二维数组重新写了一个方法,大幅缩小了运算的时间。第五次作业中我出现了封装以及继承理解不牢固的情况。并且正则表达式的使用不熟练。最终也没有解决这个问题。第六次作业中我对类的继承多态的使用不够熟练,并且不会使用collections接口以及不会使用String Buffer类的使用。第七次作业中,我习惯将主类写的十分复杂,但是这道题却不可以这样完成。于是在经过询问后解决了这一问题。第九次作业中倒是没有什么问题。第十次作业中统计Java程序中关键词的出现次数,本次作业中正则表达式的使用依然是一个难点,其中各种符号以及注释的处理十分麻烦。第十一次作业我我不会使用操作栈等用法,栈还是难度较高的一个点。还有就是逆波兰的方法的使用。
(3) 第一次作业我大概使用了四个小时,而第二次使用了七个小时。第三次作业使用了两天时间。第五次中第一题中了五天,剩下的两题用了两天。第六次作业两道题都花了三到四天。第七次作业前两题花了三四天,最后一道题用了两个小时。、
(4) 编程十分严谨,我经常遇到有的变量取名不谨慎,导致写到最后不明白变量所代表的意义,并且经常出现有时输入输出时不正确原来仅仅是顺序写反,但是PTA仅得了十分,改完之后就是满分。
2、 OO设计心得
(1) 首先三大特性分别为 封装 、 继承 多态 。封装性可以将属性,变量,方法等保护起来,不被外部修改,但同时提供一个可以被外部访问的接口。使Java的设计更加的安全。继承则可以减少代码量,使程序员的工作大幅度减少了。使子类可以调用父类的方法。但多态的使用需要继承以及方法的重写的同时存在。并且需要弗雷对象引用子类对象,这样可以使Java程序的模块间的联系变得更低,使程序中添加或减少代码变得更加方便,不用做太多改动。
(2) <1单一职责原则:对于一个类,应该只能有一个能够引起它变化的原因。也就是说这可以使代码更见简洁,像数学中的一个自变量只对应一个因变量一样,适合人类思想。
<2里氏替换原则:需要在不知道子类的情况下即可调用父类。
<3 开-闭原则:可以在不修改原有模块的情况下便修扩展其功能。这一点极大的方便了程序员编程的过程。使得他们可以仅仅是添加一段代码便可以添加一盒功能,而不需要对主模块进行修改。
<4迪米特原则:每一个软件都尽可能地与其他软件减少关系。可以使各模块之间的联系减少,从而使每个模块都更加地独立。
<5接口分隔原则:不能强迫用户去依赖他们不使用的接口。也就是说接口之类的要尽量的缩小,不可以太过冗杂,接口中的方法要尽量小。
<6组合/聚合复用原则:要尽量不使用类继承。
<7依赖倒置原则:高层不应该依赖于底层的模块。
(3) 面向对象将事物都看成对象,将具有相同特征的实物看作类。通过对类与对象的继承,封装,多态的实现,完成模拟现实从而解决问题。是以人类的解决问题的角度来进行问题的解决的。
3、测试的理解与实践
(1)测试对于编写程序是十分重要的,有甚于编译过程。测试不仅仅是输入几个数据进行修改这样简单的,他还有黑箱,冒烟等各种测试方法。并且代码要在编写时经常进行检查,防止在写了很长时间后发现自己以前写的代码需要重新写一遍。
4、课程收获
(1)在本学期的JAVA学习中,我感觉收获最大的便是面向对象的思维方法。以及继承、多态、范型、异常、文本等。通过这学期的学习,我虽然不能说掌握了这些的使用方法,但也能算是略知一二。最少明白了大致的用法。并且编写代码是一定要醉倒单一原则以及开闭原则。还有就是java这个东西难度远远超过了c语言,光是类这个东西就让我消化了好久。
5、课程建议
希望老师可以将作业梯度稍微改一下,难度不要太高,给我们一个循序渐进的过程。让我们可以消化新知识并巩固,最后才可以熟练使用在作业中,若是直接就写实在不容易。

浙公网安备 33010602011771号