第一做业周期(前四周)总结

0.前言
编程

  应老师要求,开通博客,对前四周的学习内容进行一次总结。
函数

1.做业过程总结
性能

  ①总结三次做业之间的知识迭代关系:前三次的做业之间的迭代关系是有的,第一次的做业主要是入门级别的Java代码编写,在掌握了一些基础的Java输入输出后,能够利用大部分的C语言知识进行程序编写,问题不会太大;第二次做业则须要更为进一步的Java理论知识后才能完成代码的编写,最主要的一部分是掌握了类这样一个在Java中的属性,但主体与第一次做业没有太大的区别;第三次做业则是给出了主函数,和相关的类要咱们去填写类里面的具体程序,这次做业较为复杂,可是当你掌握了类与类之间的关系后,能够利用前两次做业积累下来的经验来完成,同时此次做业也为咱们更进一步的学习面向对象打下良好的基础。
学习

  ②如何经过做业逐步从面向过程过渡到面向对象:这三次做业有着一次次递进的关系,这种关系就是由面向过程到面向对象的过分。第一次的做业其实在咱们学习C语言的时候就作过相相似的题目,此次的Java编程其实大致上与C语言没什么区别,是面向对象的,是Java中最为基础的;到了第二次做业就有点面向对象的意思了,其实这些题目我在学习C语言的时候就有触及,我所写的代码核心与C语言也没有太多的差别,题目中要求咱们所使用的Main类中必须有的方法其实就是面向对象到面向过程的衔接;第三次做业则更好的诠释了面向对象是怎么一回事,题目中给出的设计类图很好地代表了类与方法相互影响这一关系,一个问题用两种不一样的方法来解就是由面向过程到面向对象,方法之间互相影响的关系让人印象深入。
测试

  ③做业过程当中遇到的问题及解决方法:随着做业难度的加大,遇到的问题也有小变大。第一次做业中遇到的是一些小问题,好比在计算税率这一题中我傻乎乎的算出每一个阶段应该交的钱再加上多出来的部分,可是这样的结果老是出错,因此我只好将代码换成一些公式这样才不会出错。在判断三角形类型是老是不能判断出等腰直角三角形,在询问了同窗以后知道运用(a==b&&a*a+b*b-c*c<0.001&&a*a+b*b-c*c>-0.001)||(a==c&&a*a+c*c-b*b<0.001&&a*a+c*c-b*b>-0.001)||(c==b&&b*b+b*b-a*a<0.001&&b*b+b*b-a*a>-0.001)来判断;在第二次做业中,常常遇到的问题就是边界错误,当我输入2020 12 31后显示Wrong Format,正确的答案应该输出Next date is:2021-1-1,为解决这一问题我花费好长的时间去修改个人代码,最终只好将这一状况做为特殊的例子进行处理。在求前N天这一题中,我对平年2月29日老是错误测试,后来我也只好将这一一天单独拿出来;在第三次做业中,面对有点陌生的设计类图每每不能准确的明白这其中想要表达的意思,一系列的类和方法成为我是否成功编写成功的绊脚石,到了我写下这篇博客的一天也没法完成,可是经过不间断的学习我总会学会的。编码

  ④每次做业花费的时间比例:第一次做业每题花费的时间在一个小时左右;第二次做业总共花费了大概两天的时间;第三次做业花费的时间最久。
spa

  ⑤对编程过程的严谨性的认识及教训:以前学习过的C语言我就对编程的严谨性有着深入的认知,现在的Java更是让我对编程过程的严谨性有了更新一步的认知。在编程的过程当中,常常会犯一些在语法上的小错误,在看似正确的状况下却得不出想要的答案,就是这样的一些小错误却要花费大量的时间来查找,这样的时间每每比编写程序的时间都要长,这无疑是浪费时间的,加入咱们在编写程序的时候想得更为完整,思考的更为精密,或许就不会出现这样的问题,随着咱们知识的掌握,这种问题会愈来愈少。
设计

2.OO设计心得
orm

  ①面向过程与面向对象的比较:面向过程的优势为性能比面向对象高,由于类调用时须要实例化,开销比较大,比较消耗资源;好比单片机、嵌入式开发、 Linux/Unix等通常采用面向过程开发,性能是最重要的因素。缺点是没有面向对象易维护、易复用、易扩展;面向对象的优势是易维护、易复用、易扩展,因为面向对象有封装、继承、多态性的特性,能够设计出低耦合的系统,使系统 更加灵活、更加易于维护。缺点是性能比面向过程低。
对象

  ②面向对象设计的基本原则:单一职责原则、开放封闭原则、Liskov替换原则、依赖倒置原则、接口隔离原则。:

  ③OO编程思惟的理解:面向对象将事物都当作对象,将具备相同特征的实物看做类。经过对类与对象的继承,封装,多态的实现,完成模拟现实从而决绝问题。

3.测试的理解与实践

  ①测试对于编码质量的重要性:一个好的编码必需要通过不断的测试才可以使用,假如一个编码经不起屡次的测试,纯在诸多的bug,这必然是一个不合格的代码,这种编码是不能用在系统上的,这会引发诸多的问题。

  ②假如让你设计测试用例,你会如何作:选择一些较为特殊的例子进行测试和用一些例子反复测试多变。

4.课程收获

  明白了面向对象与面向过程的一些本质的区别,对面向对象有了一些基本的了解,会使用简单的Java语言去解决一些相对简单的问题。要认真的对待每一次做业,思考老师上课讲的主要问题,及时完成课堂上老师留下来的课堂做业。

5.对课程的建议

  没有太多的建议,一切良好,本身须要不断努力。