JAVA第一次blog总结

JAVA第一次blog总结

0.前言  

  大一下学期我们开展了OPP这门课程,这也是我们第一次接触到JAVA。与上学期我们在学校里学C语言不同的是,这学期由于疫情原因我们是以网课的方式在学习。在学习中我发现难度最大的部分在于编程思想和方法的改变,而C语言和JAVA的不同,也就是面向过程程序设计和面向对象程序设计的不同。这篇blogOOP学习以来第一次阶段性的总结,在这篇blog中将对本阶段学习中各个方面出现的问题和心得进行总结。

 

 1.作业过程总结

  刚刚接触JAVA却还是以c语言的方式在编程,现在回看这几次作业,发现最开始的时候我写的程序里虽然是使用的JAVA编程的用法,但是丝毫看不到对象,方法,属性,类的痕迹,甚至我的脑子里都根本没用那个概念,虽然写出来的程序也能达到题里的要求,但至少一味的输入输出,程序可读性很差,也根本没有复用性。就像老师常说的那句话一样,要是稍微改了改题里的要求,这程序里的东西全都要彻底改动,很繁琐。但是经过这几次的作业,和平时的学习,我也慢慢的感觉到OPP的含义,慢慢感悟到面向过程程序设计和面向对象程序设计的本质区别。在后面的作业中,明显能够看出编程方法的不同,思维在改变,思想也在改变。

  第一次的作业是一些JAVA的简单应用,熟悉main函数,基本类型和运算符,还有选择和循环结构,虽然这些东西和C语言的差不多但还是有所区别的。第二次作业就是在考查类与对象的知识,甚至在这个时候你还是可以偷懒,还是能用面向过程的思想去写。但到了第三次作业,就都是在第二次作业的基础上进行功能的增加和改进,而且继承,封装,组成的应用。这个时候我就发现,之前写的东西复用性太低,根本没办法进行改进,所以重新花了大量的时间,重新去看回放,看视频重新写了一遍。这次虽然对我是一个教训,但是他非常有意义,这让我真正认识到了面向对象程序设计的思想和意义。

  值得一说的是,我的粗心问题。编程是严谨性非常强的,虽然平时的错误在eclipse里都能检查出来,甚至有改进方案,但是那些检查不出来的问题才会产生大麻烦。在做闰年判断及应用的那道题时,因为我循环结构里的括号漏了一对,导致本应一起反复循环的过程分开了,然后就有一个测试点死活过不去,检查的时候还感觉没有问题,浪费了很多时间。最后经过别人的提醒,采用分步执行并检验的方法一步一步检查下来才发现问题所在。

 

2.OOP设计心得

  先说一下我对面向过程程序设计和面向对象程序设计的理解。面向过程程序设计是指利用函数的定义和调用去编写程序执行操作,好处是突出的是从上到下整体运行的过程。面向对象程序设计是利用类的定义和使用,对象的属性和方法,互相联系和发送“命令”和“消息”,好处是复用性高,便于更改,就像上文说的不会出现改变一个细微的要求或者功能导致全盘重来的问题。

      对于面向过程程序设计来说虽然易于理解容易编写,但是一旦系统庞大功能繁多的之后,就不利于更改,控制和重用。而面向对象程序设计则是一种通过类似建模的方式和思维去达到目标,对象之间互相联系,发送“命令”与“消息”,同时传递给主程序进行判断与执行,通过类和对象的反复使用达到复用性,灵活性,扩展性。看了百度百科里的一句话感觉总结的非常好OOP=对象++继承+多态+消息,其中核心概念是类和对象。

  老师之前讲了JAVA的很多特性,例如:简单,分布式,解释性,健壮,安全,结构中立,可移植,高性能,多线程,动态,但我觉得OPP才是JAVA最特别的特性。OPP的思维方法首先考虑的不是解决问题,而是将所有东西想象成一个框架,再利用框架去思考问题,最后解决问题。

 

 3.测试的理解与实践

  对于一个新编写好的程序,首要工作就是测试,因为哪怕是最厉害的程序员也不敢保证自己编写的程序没有bug,如果没有测试谁也不敢保证程序的实用性和正确性。任正非任老爷子说:我们要从最基础的编码质量做起,视高质量代码为尊严和个人声誉。测试是保证编码质量的最主要也是最有效的方法,由此可见测试的重要性。

  测试是非常有门道的,也有好多种类单元测试,冒烟测试,集成测试,灰盒测试,白盒测试黑盒测试,还有很多书《谷歌测试之道》,《微软测试之道》,《测试驱动开发》,《自动化测试》。虽然我不懂这些,但是经过现阶段的学习,以及观察PTA里的测试点,我觉得测试用例应该主要从边界值,特殊值,错误输入值这三方面来检验。

 

4.课程收获

之前上面谈了很多,在这里简要总结一下

明白OOPOPP的区别

解决问题的背后要学会学习方法,学到东西远比解决问题本身更有收获

发现问题的同时要学会总结教训,明白错在哪里下次才能避免犯错

注意严谨性,避免粗心而导致逻辑上的错误

利用好测试以及测试点保证代码的正确性

在学习和编写JAVA的时候要用OOP的思维去解决问题

再补充一点独立和自信

  解释一下这里的独立和自信,不是盲目的相信自己和闭门造车不向他人学习。而是在遇到问题的时候不要害怕,不能一味地求助别人,要有勇气自己独立得解决问题才能收获更多。在这里我也要自我检讨一下,之前说过在判断闰年及其功能的那道题里,因为我循环结构里的括号漏了一对而导致错误但我自己却检查不出来,然后自己开始烦躁不想去再看了,就让别人帮忙检查,但还是检查不出来,我就索性问别人关于这一段这一部分的写法,听懂之后就采用了他的思路和方法,而把自己原本的方法否定掉了。这就是不自信,我那时自己的思路和方法是错误的,其实不然,只是我自己没有完全理解。后来作业结束之后知道了可以分步调试的方法我就重新检查了自己原本的方法,发现思路没有错误,只是粗心和不严谨。所以以后碰到问题还是要独立解决问题,不能不自信。

 

 5.对课程的建议

  作为刚刚接触编程的小白来说,理解这些东西还是比较困难的,特别是这个逻辑思维很是晦涩难懂,而且上学期刚弄懂OPP现在突然接受OOP还是非常不习惯我明白自己的感悟和练习很重要但是还是需要新手保护的,希望老师在讲解一下抽象的概念理解时慢一点,有的时候这个词还没听懂呢,下个词就又出来了非常崩溃。而且对于eclipse里的好多实用常用功能都不会使用,希望老师有时间可以讲解一下。

 

posted on 2020-04-05 19:39  TMZK  阅读(149)  评论(0)    收藏  举报