作业总结

                                                                                关于三次Java作业的总结

一、前言

     这前四周的作业由于自己未能及时做完,导致有些未完成,超过了截止时间。忘记在截止时间之前完成规定作业,有两次次都是未提交,但是自己还是有做,虽然没有了分数,但还是要进一步巩固自己所学的。这三次作业是从最基础的认代码,了解Java开始,然后是Java的注意事项,基础知识。第三次是关于Java的特殊性——面向对象,这个进一步帮助我们了解Java,认识Java,使用Java。

 

二、作业过程总结

1、第一次作业是关于搭建JDK和Eclipse环境,完成一个程序编写、运行和调试的过程,这个是帮助我们正确使用Java的相关程序以及设置。这是最基础的,要是有一步出错了,后面都是步步错,甚至无法运行。第二次作业就是开始正式的使用Java,用以解决一些数学问题,应用问题等等。第二次作业又分两个部分,第一个部分是对着题目进行问题回答,编写代码,进行运行,得出结果。而第二次作业是关于随机这一类的,正确的设置相关变量以及使用正确的方法(且可称之为数学方法),得到随机的结果,并进行输出。这次的作业就要在第一次作业的基础上才能使用。第三次作业是就不是看问题、写代码了,主要是让我们了解Java的一些运算顺序、正确的表达形式以及编译是否有错,根据程序的顺序判断其中变量在哪个阶段的值,最后得出的结果是否正确。更多的应该是侧重于Java的知识点,比如Java的变量类型:int、double、char等,是否定义的正确,以及对他们在内存的占据空间。

      这几次作业都会用到课上讲的Java格式,比如类的定义,输入输出的正确写法等等。

2、从面向过程过渡到面向对象

      首先,我们要了解什么是面向对象和面向过程。

      面向过程,这是我们在C语言是用的方法的总称。我们要分析出解决所给问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 也即是   由一个主函数和多个其他函数组成。

      面向对象,Java的主旨就是这个。把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

      所以在这三次作业里,我们会逐渐了解什么是面向对象,并于面向过程区别开。在作业中,我明白面向过程实质是对这个所给问题进行分析,先写出解决的步骤,在根据步骤来写一个个的函数。比如我们要写一个产生10个随机数,并取最大数的方法。第一个步骤:写出随机数产生的函数

       第二个步骤:写出比较的函数

       第三个步骤:返回最大的数并进行输出

       也就是先写了一个主函数,输入个数,返回随机数。在通过函数1产生相应的随机数个数,再将数传给函数2,选出最大的数进行返回,最后在输出。

        而Java则不大一样。它是要把问题分成几个部分,比如输入的对象,产生的随机数对象,以及最后输出的最大数对象。而函数自然而然就绑定到相应的对象身上去了。这个过程需要我们进行不一样的思考,要有不一样的角度去分析问题,将同一类的功能、函数、数据放在同一个对象上去。

         在作业里,我通过大量的题目进行分析,改变思路。

 

3、作业过程遇到的问题以及解决方法

问题1:在开始学习的时候,对于Java的既定格式有些不清楚,比如:System的用法、含义。在开始的输入以及最后的输出,和以前的c语言格式不一样,多了一些符号字母,总是会写错。但是Java有一点我觉得很好,就是在你输入的格式它检测出来存在问题时,它会有提示哪里出错,怎么改,你只需点击进行更改即可。这也方便了像我这一类在格式上经常出错的人进行快速的改正,不用费心神在这方面。当然,写多了你就不会格式经常出错了。

问题2:在编译时,搞不清楚类的定义,还有就是在补充函数时,函数的位置写错了。函数应该写在对应类里,也就是说每个类中可以定义多个方法,但是main方法只能有一个。还有包,这也是Java一个的重点。

问题3:不了解每次编译出错的时候,在提示栏会有一些关于错误的一些说明,我们可以查看进行更改。但是我不知道它提示的是什么意思,是哪里出错了,需要每次上网去查。当然,解决方法就是尽量不要出错,以及出错后能记住错误的原因。

问题4:忘记为程序中使用的类加上相应的import声明,这个就是很明显的语法错误,导致编译出错。

 

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

开头我已经说明,我有两次作业超过了截止时间,但是做过

第一次作业比较轻松,在半个小时内还是可以完成,时间主要用于写代码,以及查错误。

第二次相比第一次要提升了等级,自己有些地方没搞懂,做出来的有问题。时间在半小时以上。

第三次就比较综合性了,时间在一个小时左右,主要是查相关的资料花费了一部分时间。

 

5、对编程过程的逻辑严谨性的认识及教训

     这个真的是记忆尤新。在自己写一个代码,写到后面时,发现自己写着写着就搞混了变量的返回值、逻辑不够严谨(变量的值的变化情况没写完),没有考虑完全,导致最后的代码运行成功,但是结果出错,或者是某些情况下会超出了运算范围,运行出错。最后需要把那一部分的代码全部重新写,重新思考。

 

三、设计心得

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

      举个列子:假如我们需要写一个关于五子棋的游戏代码

      面向过程:我们会把这个游戏分成几个步骤:开始游戏——白棋落子——判断输赢——黑棋落子——判断输赢——结束游戏,然后再一一通过函数来实现每一个步骤的功能,最后在设计相关变量、主函数(进行各函数的调用)。

      面向对象:把这个游戏分成几个部分:棋子(黑棋和白棋)、棋盘的演化、判断输赢和落子的规则。整个游戏从开始的棋子对象,到棋盘对象,最后是规则对象。

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

     面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

3、编程思维的理解

     用特定的编程方法,对问题的解答。

 

四、测试的理解与实践

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

     测试是对所编代码的正确性的保证,既可以检测代码出错地方,又可以一一进行变量值的查看,更快锁定出错地方。既方便你查看别人的代码,也方便别人看你的代码。

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

     查看已有的测试用例,要看懂,最后自己设计其中的基本事件、备选事件和异常事件。

 

五、课程收获

       首先是关于Java的基础知识,知道了什么是Java,以及Java的用处。

       然后是Java中各字符串的意义,比如 包import 、类class等等

       还有一些Java的特殊方法,比如随机数的产生。

六、对课程的建议

     在课堂上能有更多的互动。还有就是作业,希望慕课上的能提醒一下,有时会忘记。

     每一个知识点都能有几个对应的案例,能加深印象,并使用。

 

posted @ 2020-04-04 20:53  SamuelWu  阅读(172)  评论(0)    收藏  举报