A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MoonWarrior 初级黑马   /  2019-3-14 08:49  /  1413 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 MoonWarrior 于 2019-3-14 08:51 编辑

学习了一学期的Java课程,觉得是该总结自己的心得体会了。开始学习任何一门课(包括java),兴趣最重要。
还记得我编写的第一个经典程序“Hello Word”。从那时起我已开始走进Java的世界。
当时自己不是很理解为什么main方法一定要这样来定义public static void main(String[] args),能不能不这样写?
问了好多同学,他们告诉我的答案是一样的“java本身要求就是这样子的”。但我自己不甘心,就进行了下面的好多操作:
把main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;
把main的public取掉,在试试看,报什么错误;static去掉还能不能运行;
不知道main方法是否一定要传一个String[]数组的,把String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成别的名字,看看运行结果如何。
结果把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么了main方法是这样定义的了。
接着在以后的学习中我也采用这样的方法解决问题,却发现自己的速度比别人慢了好多,我就把自己的课余时间也分一部分给了java。
因为基础是最重要的,只有基础牢固才有可能对后面的学习有更加深刻的认识!
同时,对一个最简单的程序也应该多去调试,多想想如果改动一下会出现什么结果?为什么必须那样写?多去想想这些问题然后去操作,会让你有更多的收获。这样反复地思考是很有用的。
在学习Java的语法时,Java的语法是类似c语言的,所以学习的比较轻松。唯一需要注意的是有几个不容易搞清楚的关键字的用法,public,protected,private,static,什么时候用,为什么要用,怎么用,和同学一起讨论了好久才得以解决。
在学习Java的面向对象的编程语言的特性。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java的异常处理机制。
对于一个没有面向对象语言背景的人来说,我觉得这个过程需要花很长很长时间,因为学习Java之前没有C++的经验,只有C语言的经验,花了很长时间,才彻底把这些概念都搞清楚,把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了很多遍,才彻底领悟了。
开始熟悉Java的类库。基础类库里面的类非常非常多。据说有3000多个。但是我真正使用的只有几个,比如说 java.io.*; java.util.*; java.sql.*;等。
此外,我对于static,public,private,Exception,try{ },catch { },finally{ }等等一开始都不是很懂,都是把书上面的例子运行成功,然后就开始破坏它,不断的根据自己心里面的疑问来重新改写程序,看看能不能运行,运行出来是个什么样子,是否可以得到预期的结果。
这样虽然比较费时间,不过一个例子程序这样反复破坏几次之后。我就对这个相关的知识彻底学通了。
有时候甚至故意写一些错误的代码来运行,看看能否得到预期的运行错误。这样对于编程的掌握是及其深刻的。
在学习Java的过程中我得出这样的结论:
1.学习中,要养成良好的习惯(写括号时要成对,字母大小写要区分,单词拼写要准确)。
2.在学习的过程中,最好不是仅仅停留在java表层,不是抄书上的例子运行出结果就可以。要注意,即便对一个简单的例子也要有耐心去琢磨、调试、改动。
3.在学习的过程中一定要动手做、试着写代码,而不是抱一本书看看就行。很多东西和体会必须自己动手才能真正属于自己。
4.在Java的学习过程中,可能会遇到形形色色的问题不容易解决,应多去专业论坛了解相关的知识,书本上的知识有限。要会从网上搜索有用的信息 加以整理,促进学习的深入和知识水平的提高。
说学到一定程度要尝试着自己做东西,但觉得自己仅仅经过一学期的学习,还远远不够,希望自己在以后学习中继续努力,能够真真正正拥有一门编程语言!学完java基础,对java面向对象的思想有更加深刻的认识了,从学习java语言概述到最后网络编程IDE的使用,时间用了1个月零9天,上课时间28天,回首感觉快又感觉漫长,学的东西确实挺多的,很多知识也感觉比较抽象,特别是面向思想编程,面向对象三条线 ,第一条类及类的成员,第二条三大特性(封装,继承,多态),第三条关键字。学完面向对象就学习集合,泛型,枚举和注解,IO流,多线程,java常用类,java反射机制,网络编程,IDE的使用,做了四个小项目。

我感到很幸运,遇到一个好老师,就是我们的宋老师,感觉他上课很有逻辑性。开学的时候就为我们准备了很多资料,包括很多课外的资料,上课也慢慢摸清规律了,今天学的内容第二天就会考试,接着帮我们评讲考试题,总结昨天的笔记,每天都能知道自己的学习状态,上课老师会突出那些是重点,那些一定要掌握的。学习任务重,必须要有轻重之分,把力用在刀刃上,有一段时间老师找到我谈话,说我几次都考得不理想,问我是什么原因,我说感觉时间不够用,接受不过来,老师就会帮我分析我时间用在那里了,还跟我说了一句话,不要为失败找借口,要为成功找办法,你每天找两三个问题来问我吧,要逼自己一把,你才知道自己的潜力有多大,我真的很感动。

学习的过程中确实遇到了很多的困难,开始学习的时候遇到很多新手学习都会遇到的问题,括号标点符号等的错误,对着代码抄写都都抄错,确实很郁闷,后来练多了,慢慢也进步很多了,学会了运用很多工具,比如有道,API文档,学习新的知识点重点在于这个知识点在代码里面是怎么实现的,学习的过程中,听完一天课,很多代码自己是没办法写出来的,只能挑重点先抄它一遍,然后自己摸索写一遍,写不下去了,又看看老师怎么写的,第三遍自己写,能写出来就基本掌握了,对所有学习的知识点都用这个方法,这也是老师教的学习方法,感觉真的很实用。也是检验学习效果的好方法。

在做一些小项目的时候,开始确实感觉挺痛苦的,现在回想起来也感觉没那么难了,或许被虐得多进步了一点点吧,java语言中分为逻辑性代码和功能性代码,逻辑性代码就是一个方法里面套一个方法,再套一个方法,这个方法调用另外一个方法,套来套去,很多人开玩笑说城市套路深,我感觉java语言的套路才深呢,入了套路,总要解套吧,心中慢慢摸索出了些心得,从哪里来到哪里去,就是这个方法是那里来的,一个个方法跟踪,找到它的源头,这个方法是干什么用的,不停地问为什么,它实现了什么功能,一路问下来,思路自然就清晰了,有时候是少不了查API文档,和源代码的。

学习的过程也非常感谢同学老师对自己的解惑,让自己不断地进步,我感觉这段时间的学习是痛苦并快乐着的,每天的日子都感觉很充实,我相信未来的我一定会感谢现在拼搏的自己。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马