关于学习JAVA四周的总结

                                                                                                                                                      前言

时间转瞬即逝,很快我们已经完成了对于java的四周的学习,也对java拥有了初步的了解,逐渐从大一上半学期中学习的C语言这种属于面向过程的程序设计改变成编程方式为面向对象的程序设计:java。

1.作业过程总结

    起初,我们学习了java的环境搭建:JDK的安装以及Eclipse的安装。类似于C语言的编译器Devc++,但是功能与设计显得更为全面。我相信这也是为何java会成为当今时代最为主要,使用人数最多的编程方式与路径。

    之后,上课期间,老师带我们领略了java中的独到之处:类的设计。通过将人比作类,将人的行为比作属性,让我们初步的,简单的了解了java的中心思想(面向对象的程序设计)与编程方式(头文件的设定,main函数的设定,类的设定,java的输入与输出。。。。)后,院方发布了第一次关于JAVA编程的PTA作业。第一次的作业难度并不是很大,而且很眼熟,没错这不是曾经C语言做过的题目么,我按照学过的内容一点一点将C语言与java结合,途中用到了if条件语句和循环语句以及case语句,尽管内容比较多,但都不是反锁的题目,只需要仔细注意每一个测试点的细节即可,当我满怀自信的提交后,迎接我的却是编译错误,我按照提示挨个检查,发现我所定义的变量只是像曾经的C语言编辑一般,只是简简单单的int a,int b,后来我通过回忆课上内容与查询资料得知我还需要这样一步( import java.util.Scanner);(Scanner input = new scanner (system.in))起初我不太明白其中的含义,后来我通过查资料得知:通过new Class()来创建一个类的实例,这里是实例化一个Scanner,括号里面的System.in是一个参数(系统输入流),Scanner是为了获取控制台输入,然后就可以input.nextLine()方法等待用户输入.这才真正明白并将其投入到我的代码中使用,可是问题依旧存在,这次是编程一直没能够养成的好习惯,忘记了语句后面需要增添分号,以及大括号的前后呼应,原本是一些极为细小的失误,但是却导致代码一直的编译错误,属实是不应该,最后导致这次比较简单的作业效率并不是很高,使用时间也是比较长,大概是两天的时间,所以本次作业的完成也是感觉不尽如人意。

  很快又经过了一周,我们迎来了新的pta作业,这一次的作业我们不光用到了循环语句,if条件语句,还增添了数组的应用以及创建新的函数,并在结题报告中要求到使用String.format(String,Value)方法 ,且注意数组参数的传递。明显感觉比第的作业难度更上了一层楼。并且在本次作业中头一次运用到了定义法boolean,通过了解boolean 数据类型得知 boolean 变量存储为 8 位(1 个字节)的数值形式,但只能是 True 或是 False。当作为一个构造函数(带有运算符new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且最终返回这个值。在本次作业的一题中(求下一天,求前n天,判断闰年以及日期是否合法),都使用了Boolean类型,在这方面判断真假明显感觉到比c语言的简捷与轻松。但是却又遇到了新的问题,由于学习c语言留下的诟病,题目所给的函数我该如何使用便又成了难题。

后来我通过查询资料、询问同学与老师得知java中,函数即为方法,定义函数可以将功能封装并且函数的级别都是同级别的,不能进行函数套用。2.更加的便于对该功能进行重复使用,3,函数是只有被调用才能够执行的,并且函数中只能调用函数,不可以在函数内定义函数。这点在本次作业中已然体现,开始多次的编译错误让我摸不到头脑,后来我发现我没能完成关于main函数中的调用,所以导致后来所定义的函数始终显示error,无法返回调用者,因为所定义的函数并没有与main函数相关联,这算是比较大的一次失误。第四点,函数没有返回值的时候可以用void定义返回值类型,那么返回值在最后一行的代码中可以不使用return。这一点我也忽略掉了,代码中出现的一部分error就是因此,有的函数在定义时我加入了void但是在函数结尾的同时我还是使用了return语句,最终导致编译错误。通过这次的作业让我明白了函数的定义与使用的方法,收货颇多,但同时由于一开始对函数的不理解不清晰,导致本次作业花费时间较长,耗时四天。

最后也是第四周的pta作业,才真正让我们感受到java的真正魅力所在:类的建立。

起初我看到这样的题目,只有一种感觉:手足无措

尽管本次的题目与上一次作业内容相似,但却是上一题的延伸,而这也是头一次真正运用到java中类的设计。我通过查阅资料得知 “类是一种抽象的概念集合,是最基础的组织单位,作为对象的模板、合约或蓝图” 。所以我们可得

对象的状态(特征或属性,即实例变量),由该对象的数据域来表示。通俗一点的话可以这样认为:类是对象的类型,使用一个通用类可以定义同一类型的对象,类中定义对象的数据域是什么以及方法是做什么的。 对象是类的实例,一个类可以拥有多个实例,创建实例的过程也叫做实例化。实例也称为对象,两者说法一致。 例如:一个人可以具有名字、年龄、身高、体重、家庭地址等等属性,这些就是“人这个对象的数据域”。对象的行为(对象执行的动作,即功能),由方法来定义。例如:定义getName()来获取姓名, getHeight()获取身高,setAddress(String addr)修改地址等等等等。这是一张有关一次简单的类的设计(以人为例作为类):

后来通过比对与对面向对象更为深化的认知,成功的完成了对于DateUtil,Year,month,day类的设计并实现了相应功能。由于本次代码难度较大,耗时长达8天。

同时通过这三次作业也让我深刻的认识到编程的严谨性是多么的至关重要。往往因为一个字符的漏写就会导致整串代码不能够得以运行,最终导致作业完成的效率极为低下,这也是日后的学习中所需要注意的细节!

其次测试的重要性也在几次作业中体现的淋漓尽致,就依现在我们的作业中的比较简便的代码都含有较多的测试点,并且这些测试点是否通过直接反应代码的质量好坏。华为董事长任正非说过这样一段话:我们要从最基础的编码质量做起,视高质量代码为尊严和个人声誉。真的很认同这个观点,保证自己代码的质量本是是基本的事,但很多时候我们却保证不了。所以他才把代码质量提到那么高的高度,而代码质量离不开测试。代码质量保证了,功能才能稳定,稳定可靠的功能就是最好的宣传。保证代码质量就是程序员练内功,内功扎实,才能在上面构建更多的可能性。所以作为程序员,测试的重要性也就不言而喻了。假如有一天让我设计测试用例,依我现在所学的知识的话我会做到以下几点:能够代表并覆盖各种合理的和不合理、合法的和非法的、边界的和越界的、以及极限的输入数据、操作和环境设置等。

最后是我对课程的建议,我希望老师日后能将java的知识点讲的更为细致,更为简洁易懂。因为有时候可能较为简单的知识点老师直接略过了,导致后面的内容我作为编程思想不是很全面的学生就掉线了,所以有时会多多少少不太清楚老师讲的内容,当然主要因素还是在我,但为了自己能够拥有全面的编程思想与编程能力,作为起点较低的我会下更多功夫去学习,去参透关于编程的知识。也希望自己能够真正做到配合老师,与老师上课所讲内容有所呼应,有所消化。我相信这是我与老师都希望的。最后也祝老师身体健康,生活幸福。祝自己成为心目中想要成为的那个人。

posted @ 2020-04-04 22:12  九头  阅读(123)  评论(0)    收藏  举报