JavaOO第一次总结
1. 第一阶段的学习中有三次作业,难度呈阶梯状逐渐上升。不同作业对知识的要求也不相同。第一次作业中要求我们使用Java的基础知识完成一些基础题目
7-1 计算税率 7-2 判断坐标点所在范围
7-3 电话键盘字母数字转换 7-4 判断三角形类型 7-5 统计最大数出现次数
第一次作业从难度上来讲非常小,只要学习一定java基础知识,知道c语言代码怎么大,便可以很轻松的完成任务。即使这次作业难度不大,但依然给我带来了巨大的麻烦,
例如在7-1 计算税率题中:

因为要按照纳税人的类型的不同以及single的多少决定最终的tax是多少。面对如此繁琐的数据在其中的操作过程难免会出现问题。然后就出现了一个很经典的问题,打代码用了半小时,找BUG用了1小时(此时还不会测试)。编程过程中,逻辑严谨性十分重要,因为一个好的算法往往是成功编程的第一步。但除此之外,在编程过程中对每行代码认真严谨的对待同样重要。这不仅能节省时间,还能提高代码质量。
第一次作业并不是面向对象的程序设计,它是一种从C语言向java的一个过渡,实际上还是面向过程的。在第二次作业中,难度上升,题目要求编程求前N天以及是否是闰年,同样是面向过程的程序设计,但在第一次作业的基础上增加了难度,同时要求使用有需求的函数。
面向对象的程序设计则是从第三次作业开始,第三作业即使第二题的拓展,同样也是面向过程向面向过程的转变。简单的说便是,相同的题目,前者用面向过程编程设计,后者用面向对象编程设计。三次作业难度循序递进,相互之间存在关联。
具体关系为:
第一次作业 -> 第二次作业 -> 第三次作业
面向过程基础设计 -> 面向过程设计进阶-> 面对对象编程设计
Java基础语法 -> 选择,循环,函数构建 -> 类和类之间的关系
2. 作业过程中遇到的问题及解决方法
作业过程中遇到的问题及解决方法:在第一次作业当中除了一些基本算法以及小bug之外,主要是对java的一些输入操作还不熟悉,后面百度了才知道要调用scanner这个类进行输入,该类在jdk当中写好了,这在后面加深了我对类的调用的理解。
在第二次作业当中,第一题是一元二次方程,忘记考虑了二次项系数不为0的情况;第二题是在非法日期上面存在问题,就是闰年2月不大于29,平年2月大于28;第三题第四题还是在于求下一天、下n天算法上面存在一些问题,就是少算了几天多算了几天,闰年平年的考虑,这方面的解决方法无需多提,就是考虑周全就好。
第三次作业主要问题集中在第三题,由于除了课堂作业外第一次做这种面向对象题目还有些生疏,主要问题在于类与类之间的关系没有整理好,调用方法以及返回值的问题,还有第二次作业的日期判断bug没有被测到,把算法搬过来之后在第三次作业第三题被测到。关于类与类之间的关系以及方法的调用问题是询问了同学之后基本上理解了,就比如我不知道如何在第三题month类,day类当中调用year的方法,后面理解了是根据类之间的关系结构来调用,这要先理清关系才能做
3. 每次作业花费的时间:
第一次作业:48h
第二次作业: 60h
第三次作业:72h
4. 对编程过程的严谨性的认识及教训:
对于编程的严谨在于敲代码之前构思好框架,对于一些特殊情况的考虑,就好比我的第三次作业主要修改程序的时间花在了日期判断上面,因为搬用之前第二次作业的这个日期判断的代码,第二次没被测出bug,导致后面做第三次作业花费大量时间寻找修改,虽说是小bug,并非硬核技术错误,但是确实花了最多时间去找去修改,真的是小错误浪费大时间,编程心态也受到影响,所以对于这次的教训是刻骨铭心,实现算法要先仔细地周全地考虑一些特殊情况。
5. OO设计心得
1.面向过程与面向对象的比较:通过这三次作业,从面向过程过渡到了面向对象的思想,面向过程主要是在于考虑思考如何去实现这个算法,以过程为中心,更加侧重与算法实现方面的问题;面向对象在于考虑对象问题,把每个对象分开考虑,考虑每个对象所应有的属性和方法。
2.面向对象设计的基本原则理解:把每个类分开考虑,考虑这个类应该是什么,具有什么属性方法,不需要考虑这个类之外的事情,做好分内之事即可。
3.oo编程思维的理解:编程之前考虑应该能分成几个类,每个类应该负责什么,每个类所处的层次问题以及它们之间的关系。
6 .测试的理解与实践
①测试对于编码质量的重要性
测试有助于提高代码的质量。在测试过程中,通过输入不同情况的数据可以找到代码缺陷以及一些隐晦的错误,从而改进代码,提高代码的健壮性。
②假如让你设计测试用例,你会如何做
1.设计正常值 2.设计错误值 3.设计极限值 4.设计特殊值 5.设置边界值
7 .总结这四周来在oo方面的教训及收获:
教训是对于每个类里面的命名要规范正确,做第三次作业在命名方面的错误也居多,写完之后再修改工作量实在大。收获是对于oo编程思想有了更好的理解,从当初学习c语言的面向过程思想转变到了面向对象的思想。
8. 课堂建议:
现在的模式很好,建议课堂侧重一下讲解知识点与举例的比重,个人觉得可以更加侧重于举例与实际操作;其次是课间10分钟时间可以安排一下,长时间听课效果不是很好,在讲解的时候还应该对知识点进行简要的概括。
浙公网安备 33010602011771号