Java课程学习感想

  Java课程学习感想

0前言:

  从开学到现在,学习Java已经有三个月了。由于疫情的原因,我们的课程学习是在线上进行的。而这几个月Java的学习也快要结束了,对于Java的学习还是有一些自己的心得的,现在,我想就这个话题发表一下自己的看法。

1学习过程总结:

  学习Java的第一步正是将JDK安装好,接着就是配置环境了,这两个过程稍微有点麻烦。在我刚开始这两个过程的时候,花费了很久的时间,本以为配置好了,但却在后来的实验中发现没弄好。结果老师的指点,终于完全弄好了。Java学习的第一个接触的代码正是“Hello world!”,并且网课上有一个问题,当时自己不是很理解为什么main方法一定要这样来定义public static void main(String[] args),能不能不这样写?上网查了很多,网上的答案都是一样的,这是java本身要求。我把main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;static去掉还能不能运行;不知道main方法是否一定要传一个String[]数组的,把String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成别的名字,看看运行结果如何。这样弄了几遍,才逐渐理解了答案。  

  接着就开始了对Java语法的学习,其实Java的语法和C语言也差不多,比较简单易懂,就比方说private,protected,public等等,这些都是Java的基本语法,学会了这些,才能进入Java的下一个学习步骤,所以基本的东西还是得掌握牢固。如何用,在哪里用,我们得认真思考,并且将新的问题都解决,才能算上掌握了。面向过程与面对对象于是就开始进入了新的学习,简单来说,面向过程就是将编程当成一件事,要按步骤完成,每一步就是一个过程。比如某个人要打扫房间这件事,需要先取扫帚,然后仔仔细细打扫每一处,最后将扫帚放回原地;而面向对象是将编程当成是一个事物(相当于一个整体的东西),对外界来说,事物是直接使用的,不用去管他内部的情况。而编程就是设置事物能够做什么事。其实有点像是将面向过程给放到事物内部了。仍然举打扫房间为例,其实面向过程就好像自己去打扫房间,所以要讲究步骤,而面向对象就好像你只要通知扫地机器人打扫房间,即发一个消息就可以了,至于机器人怎样打扫,是不用知道的。这个就是它们之间的区别,其实也比较好区别与认识。面对对象细分还是有点复杂的,里面包含了三个基本特性,封装、多态、继承,还需要我们理解抽象类接口,重载等等概念,这些知识点十分重要。这也使得Java程序变得易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护,当相对于面向过程来说,其性能也比面向过程低很多。Java也有五个原则需要我们注意,它们分别是开放封闭原则、单一责任原则、里氏替换原则、接口分离原则以及依赖反转原则。这五个原则正规定了我们对于类的学习与如何使用,这也是十分基础的Java学习。

  对于Java最深刻的学习应该就是pta平台上的作业编程练习吧。从第一次作业开始,编程思维也逐渐产生,第一次的作业比较简单,但是后面的作业正是一次一次增加难度,逐渐地代码的测试也变得十分重要,因为很多次我们检测不到什么错误,但是总有些测试点过去,这时候我们就需要对代码进行测试了,这个老师上课也讲过,不过也需要我们去课后多加强学习,那些不好过的测试点也会被我们找到。正如三角形问题,我认为得考虑问题的极端值,例如拿三角形问题来说它有三条边,输入的三个数据判断三角形的结构,当两条边相等时,它为等腰三角形,但是当其中两条边平方和等于第三条边平方和的时候,它又为等腰直角三角形,当不满足三角形基本定理时,它又不为三角形,以及正三角形直角三角形钝角三角形等等。这些地方都需要我们去考虑,也就能用这些极端值来测试代码的正确与错误,尤其是边界值的测试,我认为这是代码测试最基本的地方。又拿日期问题来说,代码便可在平年闰年中的特殊时间设置,要求其星期几或者前后的时间,这个测试点就按闰年的某个时间测试,还得考虑每月的最后一天,这样才可能全面。中间的一个记忆深刻的题目就是正则表达式了,那时候我们开始接触到了正则表达式的概念,并且第四次作业正是对正则表达式的使用。第一道题是水文数据校验及处理,这道题把许多同学都难住由于里面的判断较多,表达式也很容易就弄错了,而且也是刚学习那会,可能对这个理解不太到位,所以觉得十分难处理,对于我来说,我也觉得有点难处理,但是多试一些,基本能够达到及格水平,这次花费时间较多,难度较大。后来的作业基本就是对三大特性的理解,对象的封装性就是将对象的成员隐藏起来,不让其直接在类的外部访问,要通过一定的方法对封装起来的成员进行访问控制,面向对象的封装特性并不是不让成员被访问,而是要对其进行访问控制。至于为什么要对对象进行封装,我认为正是为了结构清晰,方便扩展也较容易找出程序中的错误。这个特性在每次作业中均要使用,正如Circle、Rectangle及Triangle的类的创建那道题,封装性就完美的体现出来了,对其使用较简单。对象的继承是当父类中有私有的属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接调用罢了。这道题中的circle,rectangle等类就是继承的体现,作业中理解较简单,但是还得深入了解其意义,掌握这一性质。而所谓的“多态”,简单的理解就是对象在不同情况下的不同表现,具体体现在定义和功能两个方面,总结一下,多态可以用“三个定义和两个方法”来总结。三个定义分别是父类定义子类构建、接口定义实现类构建和抽象类定义实体类构建,而两个方法分别是方法重载和方法重写。正如第五次作业第一题我们采用的是抽象类定义、实体类构建的方式。即 Shape 为抽象类,Circle、Rectangle 及 Triangle为实体类。

2面对对象学习心得:

  Java是一种面向对象的操作语言,必须要明白这点,才能从总体上把握java。学习编程,首先要从分析别人的代码开始,明白他们的思路,认真分析,在学习的过程中一定要动手做、写代码,九比如说老师布置的试验作业,一定要自己做,不能抄同学的,首先不是为了应付老师,而是要让自己真正懂得java,这样慢慢的,以后的试验自己就又实力去做。学习java不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己,实践失最重要的。而且还可以从实验中,体会到编程的乐趣,感受到自己做好一个程序,然后运行出结果,失很有成就感的!

  在学习Java的过程中,我同样也知道几点必须要求。

  1、Java学习过程中,必须要养成良好的学习习惯,基础的错误一定不能犯。

  2、在学习的过程中,最好不是仅仅停留在java表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。

  3、在 Java 的学习过程中,可能会遇到形形色色的问题不容易解决,应多去专业论坛了解相关的知识,书本上的知识有限。要会从网上搜索有用的信息 加以整理,促进学习的深入和知识水平的提高。

  4、学习Java一定要多多思考问题,将问题解决好,不留下任何疑问,可能就会对以后的学习产生影响。

  5、当在Java学习过程中,遇到不能解决的,应该去上网多多查阅资料,去专业网站了解知识,将有用的知识收集好整理,促进对知识的理解与思考。

  6、多敲代码,多多编程,多多了解课外知识。

  总的来说吧,学习Java和学习C语言、高数等等一样,也会遇到很困难的时候。但是,当遇到这个时间,我们不能放弃,一刻也不能放松,我们要尽我们自己的努力去将困难克服,自己有将该门课的困难克服,才能够将这门学科学好,以后的使用也更加简单易懂。

3课程收获:

  学习Java这么久了,我觉得收获较大的就是新课程代码的学习以及博客的正确书写,老师布置了好几次博客,在以前确实没写过。通过写着几次博客,不仅仅是新的锻炼,还帮助了自己去总结问题,思考问题,解决问题,这对于一门学科的学习十分重要,就算以后没有布置,我认为也要去总结自己,这样能够极大地提升自己的能力,这样会觉得很充实。并且,还学会了代码的测试,这对于代码的质量十分重要。

4对课程的建议:

  1、希望老师能够在重点难点的地方多停留一下,给多一些思考的时间,以便我们能够更好理解重要知识点。

  2、对某个问题多多讲解实例,以便对知识点更好吸收。

  3、老师多多调节课堂气氛,调动课堂积极性。

  4、课后多多讨论问题。

 

posted @ 2020-06-06 20:58  土豆丝丶Areil  阅读(245)  评论(0)    收藏  举报