第一单元作业总结要求
前言:
本次博客是对本学期Java前三次作业做一次总结,作为新开的课程初期掌握不够,完成作业的难度较大,作业得分不够理想尤其是第三次,经常出现错误。但经过三次作业的锻炼,有了对java跟多的认知与了解,收获了许多作业过程总结:
作业总结:
1.第一次作业主要考察循环语句以及基本数据类型和分子结构的用法而第二次就是这些方法的灵活运用比第一次难一点都是Java学习的基础。到了第三次作业就很困难了花费的时间很长得分也很低,这次考察类的运用已经进路面对对象的额范畴,是我很模糊的部分。
2.前两次作业是面向过程的写法,第三次就是面向对象。从各种基础类型到了方法,从方法到类的学习。前两次 作业中逐渐熟练掌握面向过程的操作,而第三次开始首次转变为面向对象。
3.
在第一次作业中遇到的问题:
在编写第一题代码时出现了编译器路径的问题,不过经过我多次调试后还是纠正了。在第三题中我遇到了不会灵活使用char类型和String类型的问题,在我修改多次后选择了使用Char类型。但此时又出现了大小写不会调换的情况,我便去网上搜集资料,最终学会了运用这个toLowerCase().charAt(0)来将大写字母来调换成效写字母的方法。在第四题中出现了不会令数字不进行近似值运算的问题,在多次询问后最终得到了解决。最后一题中没有读懂题目,以为要进行动态分配内存,在多次试编程后发现只需要令出现0时使函数停止输入即可。
第二次作业中遇到的问题
第一题出现了数组使用不灵活的情况,不会讲数组作为参数传入方法中。第二题遇到了逻辑思维上的难题:不知道如何计算某一天距离公元0001年01月01日的天数。在长时间的考虑后,意识到我应该先计算这一天到0001年有多少年,得到的年数乘365,再利用布尔类型的方法判断闰年,计算其中有多少个闰年。得到的天数加上闰年数即可。现在得到的天数再加上已经过的月份,但要注意闰二月的存在。再将得到的天数除7然后取余数,余数便为周几,但余数为0时取周日。在第三题中我遇到了代码过长的问题,我便将代码多次修改,删掉了大量冗杂而又没什么用处的语句,将代码尽可能得缩短。然后中间又出现了if语句中有一个月份重复忘记删除的情况,为了修改这个错误我多次设置断点。第四题我数学思维出现了一些问题,我进行了多次运算才终于找到了如何得到n天前后的方法,但仅局限于10天内。
第三次作业
第一题中我不会调用其他类中的参数,但在向同学咨询并且网上学习后终于掌握了如何调用其他类的参数的办法。第二题中我认为再使用之前写的代码太冗杂,我便使用二维数组重新写了一个方法,大幅缩小了运算的时间。
4.
第一次作业我大概使用了四个小时,而第二次使用了七个小时。第三次作业使用了两天时间
5.
编程中我出现了许多问题,导致我无法得到全对。但这些问题都极其不引人注目,也特别小,在运行结果也没有任何问题,但答案就是不对,其实这几次作业我都早就已经写完了,但是由于这些细小的错误找不到,导致我又耗费了大量的时间和精力。
心得
1.
面向过程更像是用了机器的思维,而面对对象更类似于人类的思维,使程序员们的的开发更加简便。
2.
单一职责原则:对于一个类,应该只能有一个能够引起它变化的原因。也就是说这可以使代码更见简洁,像数学中的一个自变量只对应一个因变量一样,适合人类思想。
里氏替换原则:需要在不知道子类的情况下即可调用父类。
开-闭原则:可以在不修改原有模块的情况下便修扩展其功能。这一点极大的方便了程序员编程的过程。使得他们可以仅仅是添加一段代码便可以添加一盒功能,而不需要对主模块进行修改。
迪米特原则:每一个软件都尽可能地与其他软件减少关系。可以使各模块之间的联系减少,从而使每个模块都更加地独立。
接口分隔原则:不能强迫用户去依赖他们不使用的接口。也就是说接口之类的要尽量的缩小,不可以太过冗杂,接口中的方法要尽量小。
组合/聚合复用原则:要尽量不使用类继承。
依赖倒置原则:高层不应该依赖于底层的模块。
3.
oo的编程思维类似于人类思维,利用类和对象这两个概念编程。就像是把大象关进冰箱一样,先定义大象这个对象,再定义自己走进冰箱这个属性。它就会自己进去。是以“对象”为中心的编程思想。
测试的理解与实践
1.
如果不多多进行测试的话,就会在提交时出现各种奇怪的错误,而导致浪费了大量的时间。在编写的过程中进行测试的话便可以保证自己写的代码的质量。
收获
我在这四周以来学会了基础的java的操作以及Java面向对象的概念。使我不仅巩固了之前关于分支结构和循环,基本数据类型,方法的知识。还掌握了新的概念,使我可以更加方便的编写程序。并且我还自己编写了一些解方程的程序来帮助我来进行一些数学上的运。
浙公网安备 33010602011771号