第一单元作业总结
前言
本次博客是对前四周第一单元的作业进行总结。第一次作业主要考察流程控制,运用条件语句if、循环语句、循环控制while、for解决问题。第二次作业主要考察学会利用类中的方法,自定义并调用类中的方法来解决问题。第三次作业考察类的定义,用类解决问题,理解类的聚合关系。
作业过程总结
①第一次作业主要运用的知识是流程控制语句的使用,使用这些语句解决一些基本的问题如计算税率问题、电话键盘数字字母转换,都要用到最基本的if、switch条件语句来解决,这次作业解决的问题都只要在类中的主函数里编写程序即可,而第二次作业需要将解决问题的代码都放到一个方法中,当需要执行某一功能的时候就需要调用这些方法,第二次作业其实就是把第一次作业中用到的流程控制语句实现某种功能全部都放进方法体中,然后通过调用方法来达到相同的效果。第三次作业需要定义多个类,这些类中都有属于自己的特有的成员变量,方法,当需要实现某种功能时,就需要实例化一个对象,通过对象来实现特定的功能,第三次作业将第一、二次的知识都结合在一起,从基本的语句到方法再到类
②从第一次作业到第三次作业,逐步从面向过程过渡到面向对象。第一次作业解决问题时,只需要通过在类的主函数中使用基本的流程控制语句如if、switch、for循环等就可以解决问题,都是以什么正在发生、需要什么为主要目标进行编程,即是一种以过程为中心的编程思想,实现的功能都是通过步骤一步步实现的。第二次作业开始使用方法,即将实现某一功能方法的代码都放到函数中去,当需要实现某一种功能的时候就调用这个方法,方法的编写也是一步一步来实现的,而第三次作业需要定义不同的类,这些类封装了一些特有的属性成员、方法,具体功能的实现是通过实例化对象来实现的,我们知道对象具有的属性功能通过对象来实现功能,如作业中的日期问题,就可以把日期的所有相关的属性功能都封装成一个日期类,当需要某一属性或实现某一功能是,就可以实例化日期对象,告诉对象做什么事就可以达成目的,这些过程和思想都是面向对象的思想。
③第一次作业遇到的问题主要有对Java语言的不熟悉,经常出现一些基本的知识不牢固导致错误的发生,总体的编程过程并无太大的问题。第二次作业时计算日期问题的时候对于具体算法的实现思考了很久,需要格式化的时候一直没有搞明白,最终通过百度查找相关资料解决问题。第三次作业在写类的构造方法的时候出了问题,通过书本上的例子解决了问题,最终提交代码的时候求下n天的最大整型值的测试点一直没通过,找了很久也无法发现具体原因出在哪。
④第一次作业花费的时间:每道题大概15分钟。第二次作业花费时间:第一题所用时间大概20分钟,后三道题每一道题编写调试都花了了近一个小时。第三次作业花费时间:第三次作业第一道题花了十分钟,日期类题目每一道都花了一个小时作业。
⑤编程的过程每一个步骤都需要很严谨不允许有任何一个小错误的出现,往往一个小小的不起眼的错误就会导致整个程序最终的答案错误,有些错误很难发现,几乎要从头到尾看个两三遍才能找到错误,因此,在编写程序的时候一定要做到严谨仔细,对于一些基本的用法使用起来一定要严谨不能出错。
OO设计心得
①面向过程是着重分析解决问题的每一个步骤,强调的是解决问题的过程比如C语言定义一个个函数来解决问题,每一个函数都需要一步一步的去实现具体需要的功能。面向对象是把问题分解成多个对象,强调关注的是对象的行为表现,用类和对象的方法来定义解决问题的功能。
②类可以继承、单一原则,一个类有且只有一个对应的职责、有接口
③面向对象是将所有预处理的问题抽象为对象,同时了解这些对象具有的属性以及行为,用来解决这些对象面临的一些实际的问题,面向对象程序设计的思想要以对象来思考问题。
测试的理解与实践
①测试能够找出编码过程中出现的错误,能够提高程序的可行性,能够判断程序对应的功能否正常的实现,能否达到预期所希望的要求。
②我会寻找最合适的用例来用来测试,用例能够基本上反应所有的问题,能够体现程序所要达到的功能。
课程收获
通过这三次作业学会了Java语言的基本的运用,理解了面向对象的思想,能够使用面向对象的思想去解决一些基本的问题,但也犯了很多错误,对于一些知识的理解程度还是不够深。
对课程的建议
希望能够有更多的相对应的练习来提高我们的能力。

浙公网安备 33010602011771号