作业分析

1.作业过程总结

1)在三次作业中,第一次作业主要通过与生活相关联的经典题型初步引入了Java的编程思想,但主要的编程思想和之前面向过程的学习中大体一致。通过第一次作业,可以初步认识到Java的编程语言与之前所学的C语言的不同之处,有助于接下来的Java的学习。第二次作业依旧是通过引入经典题型来加深对Java的理解,但是明显可以发觉第二次作业的难度是第一次作业的升华,更确切地说,第二次作业是面向过程的编程思想到面向对象的编程思想的一个过渡,通过对题型的思考与探究,可以渐渐将思想转向面向对象中去。第三次作业完全是面向对象设计的思想了,像第一题通过对第二次作业题型的灵活改变,引出Java中类的概念和应用,为之后的题目的处理埋下伏笔,而最后两题通过引入聚合的概念,加深了学生对于聚合的理解巩固了近期的知识点。

2)在作业一中,代码的设计完全是参考面向过程的思想来进行编写的,对于类的概念掌握的很模糊,对于对象的理解更是一头雾水。但是到了第二次作业,面向对象的思想渐渐浮出水面,通过建立类,再new一个对象这个过程变得容易理解,并且可以应用。第三次作业中几乎完全是面向对象的思想了,聚合这种单向关联形式的引入使得我们对Java的认识更近一步。

3)从初次接触Java有关的作业,到已经完成了三次作业,这中间的过程肯定不是一帆风顺的,尤其是写第一次作业的第一题时,当时连基本的格式都不会。记得有一个问题是关于eclipse的红字问题,在运行时出现红字的错误让我茫然了,最后还是上网搜索多个网页才明白具体的错误。还有是关于保留小数的问题,也是通过在博客园,CSDN等知名编程网站上才知道引入DecimalFormat类来处理。我主要在遇到问题时,首先是自己翻翻之前老师讲过的笔记,如果还是茫然,就上网搜索相关问题的解释,最后,才会想到询问同学老师寻求帮助。

4)第一次作业因为首次编写Java的代码,加上第一次在PTA上提交Java代码,所占时间比例大约0.5,第二次作业有第一次作业的前例,占用时间大约0.3,最后一次作业因为不是很懂,检查错误也检查不出,所以大概占0.2的时间比例。

5)编写代码是充满逻辑的一项工作,通过三次作业,尤其是在处理有关日期的题型中,有时候甚至一个符号写错都会影响整个程序的结果,例如在计算前N天中,我将负号计算的内容与正号计算的内容搞混了,导致最后结果出错。从这三次作业中,我真实地认识到了逻辑严谨的重要性,并尝到了不严谨的教训。

2.设计心得

1)面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步步实现,使用时一个个调用即可,比较容易思考到。而面向对象是把构成问题的事物分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。面向过程性能比高但面向对象易维护。

(2)面向对象设计的基本原则有5个。单一职责原则:就一个类因该有引起它变化的原因。开放封闭原则:类,方法等可以拓展,但不能修改。依赖倒转原则:针对接口编程,不对实现编程。里氏代换原则:子类必须能替换它们的父类。迪米特法则:类与类之间的耦合。

(3)Java的编程思维是面向对象的思维方式,它不需要思考具体的步骤,而是需要思考编程对象的属性,例如这个思想可以应用于多人同时处理一件物品的情形。

3.测试的理解与实践

1)通过测试可以查找出代码中出现的错误,也可以查出代码的不足之处,通过测试,可以不断地优化代码,从而最终得到一个既使用又节约内存的代码结果。

2)通过对最终代码的分析,找出其特殊值情况,再应用等价类划分等方法,设计测试用例。

4.课程收获

在这四周中,我从一个Java门外汉变成了一个Java初学者。通过听老师的讲课,再结合PTA上的练习,我不仅可以学习到新知识,还可以将所学的知识加以应用,在巩固了知识的同时,又提高了学习Java的兴趣,对于面向对象也逐步理解。从题目中,我也吸取了许多教训,例如要小心每一个符号,要清楚类之间的关系,要利用eclipse多多测试优化代码。

5.对课程的建议

老师有自己的一套教学方法,我也认为老师上课也很精彩,就是希望老师能在讲完每个知识点时给我们一些思考的时间。

posted @ 2020-04-04 22:10  边翼  阅读(477)  评论(0)    收藏  举报