18207118谌星java第一阶段总结

半世苍凉 提交于 2021-02-17 13:51:33

作业要求:

1.作业过程总结

1)总结三次作业之间的知识迭代关系

2)如何通过作业逐步从面向过程过度到面向对象

3)作业过程中遇到的问题及解决方案

4)每次作业花费的时间比例

5)对变成过程的严谨性的认识和教训

1.

答:

1)这三次作业应该是层层递进的关系,难度由简到难。第一次作业中的问题比较简单,只涉及到了一些for循环和if语句,与C语言内容无差别。第二次作业就在第一题的基础上增加了一些难度,比如有一些浮点数的输入输出,还加入了函数的应用。第三次作业中则引入了了‘类’,这与前两次面向过程的思路发生了较大改变,第三次主要都是面向对象的思路方法,而且第三次作业就是用面向对象的思维解决第一次和第二次的作业。

2)第一次和第二次几乎没用有关面向对象的内容,而老师在课堂上已经讲了有关面向对象的内容,于是尝试自己创建类的方法解决第一次和第二次的作业。而且第三次就是用面向对象的思维解决第一次和第二次的作业,然后这样慢慢过渡。

3)第一次作业比较简单,只是重复输入繁琐的数据。

第二次作业就出现一些问题,比如不知道用‘1e-6’代替零,还有不知道取n位小数,后来通过百度解决了这些问题。;还有一个问题就是取小数点后四位小数这个问题,这个涉及到‘format’,这个也是通过百度解决的。

第三次作业就麻烦较多,比如再求下n天的日期时,没有将重新得到的值放到类里面里,导致年月日没有改变,后来增加了一个赋值操作,才使得程序运行正确。

4)第一次用了大概两天时间,第二次用了四天,第三次用了大概10天,比例为1/2/5

5)对于这个问题我有个新认识了,比如在类里面改变参数的话,要想这个数值进入main函数的话,必须把这个值重新赋值到类里面相对应的对象。这也更加加强了数据的正确性

2.设计心得

1)面向过程与面向对象的比较

2)面向对象设计的基本原理理解

3)编程思维的理解

答:

1)面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为

2)面向对象的基本原理,首先他的原理就如他的名字一样,它需要含有多个对象的类,然后这些类都是为main函数而服务的,同时各个类直接也存在这一些联系,它们可以为同一个main函数所用。

3)编程思维的理解,首先我们要知道编程思维的核心,不是编程语言,也不是语法,甚至不是算法或数据结构本身,它指的是一种方法,需要我们分解我们的问题,然后把他映射到我们所学的java中去。

3.测试的理解与实践

1)测试对于编码质量的重要性

2)假如让你设计测试用例,你会如何做

答:

1)测试对于编码质量的重要性不言而喻,只要提交代码,就有犯错的可能。如果对于错误的处理没有一系列完善的措施,就会导致人人都“不求有功,但求无过”的心理。虽然代码写的很恶心,但是基本功能都是被验证的,所以不会想着去优化;虽然代码中有雷,容易导致别人改代码加功能时踩坑,你也不敢去改,毕竟没有完善的环境给你测试。所以,代码从提交后,就基本不会变了,虽然各种不友好。所以这是测试的重要性就体现出来了,你可以取一些常见的值带进去测试自己的代码是否存在逻辑问题然后再优化一下,

2)如果让我设计测试案例,我就会设计一些正常例子,然后再设一些特殊值比如 0来检测代码的正确性。

  1. 课程收获

1)总结这四周来在OO方面的教训及收获

答:通过这四周的学习,我学习到了许多java的新知识。比如初步学习了怎么建立一个类和类里面的对象和方法;如何检测一个类里面的方法是否对不对;还学习了如何应用link类来对链表进行各项操作;初步见识了了面向对象和面向过程的差别;还学会了如何用java进行int类型和double与string类型数据之间的相互转换。

5.对课程的建议

答:希望老师可以把上课讲的那些数据类型转换,检测类方法正确的代码发出来让我们参考,这样也好房间我们课后复习,所以希望老师可以将以后上课讲到的代码发出来。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!