写给初学JAVA的人
看过请留个言,转载请注明出处,尊重作者劳动成果,谢谢!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
好多初学JAVA的学生朋友都问过我这样的问题:
<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />许老师,我是一名新生。以前没JAVA基础,现在上课我基本能懂,但是叫我写程序做作业我觉得有点力不从心,我很担心,我该怎么办.?
首先要感谢这样的朋友对许老师的信任,这样的朋友真的要放轻松,放轻松。其实每个初学者在起步阶段都有过这样的困惑,但后来坚持下来的都成了程序员或者软件工程师。这里呢,许老师就给朋友们几点粗浅的意见,供大家参考:
(1)强烈的相信自己可以学好,因为人无自信不足以成事。
n 有朋友说,我刚开始学的时候挺有自信的,而且我经常给自己鼓劲,后来遇到太多让人郁闷的问题,就没劲了。其实自信是一种乐观的心态,并不是表现在顺风顺水的时候,恰好是表现在遇到强大挫折和阻拦的时候。如果你有过女朋友,回想一下自己追求她的过程吧,邂逅了她,一见倾心,那时候你表现的是多么神勇。群敌环伺,困难重重,你尚能屡败屡战,一往无前!早上为她送包子,晚上陪她上自习,和她相处的过程中遇到任何困难都会想尽一切办法解决,因为你坚信凭借你不懈的努力一定会赢得她的芳心。所以,最终是苦了过程,甜了结果,你成功了!我相信你在追求的过程中,总有过力不从心的时候,也有过苦不堪言的时候。那是什么力量支撑你到了最后?把这种精神用到学习编程语言上吧!把克服困难当成快感和成就来追寻,你会终生受用。许老师送给大家一句话:困难是生活的必然,但它只是我们脚下的鞋子,不是我们头上的帽子。
(2)培养浓厚的学习兴趣,把心扎进去学
n 程序语言就像恋人,你要真正地懂得欣赏她,疼爱她,她才会和你在一起。你如果整天感觉被逼无奈,苦着个脸,看到她就跟她欠你几百块钱似的,你还学的好吗?我带过的学员中,有高校里的学生,也有企业里面的员工。有的学员在学习过程中总能够保持一种亢奋的心情,每敲出一段好的代码都会握紧拳头,低呼一声:“YEAH!”,每次遇到难题就会积极投入思考,反复思考还是未果就会和其他学员交流探讨,查找相关书籍,搜索网络,问助教,问老师,动用他一切可能帮他解决问题的资源,最后总会大舒一口气:“OK!”。这样的学员,我没见过学的差的。所以,刘德华的一首歌送给大家:<<练习>>。从今天开始,爱上编程语言。
(3)立志坚定,营造好的学习环境,提高自己的学习效率。
n 有好多同学在学校的时候,也曾雄心万丈立志要学好一门编程语言,以后做全球最优秀的软件工程师的。可多数以叹息告终。究其主要原因,就是没有一个好的学习环境。我遇到过太多这样失败的案例:有JAVA的环境变量配置了一个多月最后只写出个“HELLO WORLD!”的;有从图书馆抱回本编程宝典最后看的睡着或者敲不出结果的;有正准备花个晚上研究下数据结构结果惨被失恋的同学拉去喝酒的;有打算心无旁骛跟着一位博导学点真家伙结果发现博导也是个假家伙的;有精心计划一个月泡图书馆博览群书结果就博览了周围的几个PLMM的……唉,最后只见大四的朋友们登上高楼,提着酒瓶子高呼:“壮志难酬啊,MM误我,垃圾学校误我~~~!”。许老师窃以为,学任何东西心志要坚定,学习环境是靠自己营造的。与其叫做环境,还不如称作:心境!你可以找一位师长辈高人,虚心向他请教,平时还可以蹲在他旁边看他敲代码,并且充当他的第一FANS;你可以交一些志同道合的朋友,多和他们交流讨论,甚至争辩,当自己有些功底的时候,多帮一下其他人;你可以以自己的大事为重,委婉地拒绝别人的无理请求;你可以在心头始终萦绕着自己的编程梦想,多动手实践,然后积累一切可以利用的资源。所以的这些,就看你是否用心去做。
(4)要有很强的模仿能力,博采众长才能将自己提升到最高点。
n 还记得我们小时候吗?我们第一次学会骑自行车,第一次学会游泳。我们怎么学会的?模仿。我们学习编程语言也是这样。我们理解意思,但是就是不能写出很流畅的代码,原因何在?我们模仿能力还不够强。一开始就要求初学者能够按照自己的意愿写出漂亮的代码,这就好像直接把一小孩子丢到水里就希望他会自己游泳一样,是不现实的。我们很多同学看到老师写的代码,叹为观止。可自己一下子又写不出来,很着急。现在知道这是没有必要了的吧!我们还没到时候,那怎么办?继续模仿,体会这段代码的精妙处,知道关键所在,写了5遍,10遍,还是不懂。好,隔一段时间凭着记忆再写一下,哦,若有所思。又过来一段时间,等到模仿着写了更多的其他代码后再回头写这段代码,已经觉得轻而易举了。啊,怎么会这样?这段代码没有困难的地方,写出来对我来说好自然。其实,这就像人的成长一样。3岁提不动的重物,4岁就可以了。因为你长力气了。所以,很多东西是需要时间来沉淀的。我们只要每天持续在进步,代码在我们眼中就觉变得越来越简单。知道了模仿的重要性,我们就应该认识到,只要我们模仿的对象越强,我们自身就会变得更强,当我们模仿更多的这样的高手时,我们实际上就是在集众家之所长为我所用,那样,我们就有机会成为大师了。
(5)要有适当的压力和严格的时间观念,制定好的学习计划,培养好的学习习惯。
n 同样的一个上午,有人在做梦,有人在游戏,也有人在学习。假设你有这样的压力:今天上午不能看完一本书,就会被枪毙!你肯定能拼命看完它,并且记的非常熟。关键是,没有人给你这样的压力,你的潜能根本就释放不出来。怎么办?没有人可以帮你,只有你自己。学会给自己施加压力吧,你总有办法的,为了体现自己的价值,不遭人白眼?为了不让憔悴的父母失望?为了自己以后有口饭吃,活的像个人样?等等,这些都可以。这种压力会让你早上六点钟就睡不着觉,会让你更努力地吸收知识,也会让你进步飞快。有了这些压力后,你自然而然的有了严格的时间观念,你就会立刻决定下一秒该做什么,未来一段时间该做什么,你开始有一个详细而周密的学习计划,每天有自己的学习任务,久而久之,你也就养成了一种非常好的学习习惯。一旦这种好的习惯养成,那么,许老师就要恭喜你,你已经是一个合格的人才了。以后你做什么事情都会事半功倍,将来的成就无可限量了。记住,生于忧患,死于安乐,千万不要让自己习惯懈怠和懒散。
(6)掌握好的学习方法,走一条尽可能快捷优美的学习曲线。
n 这里,我要向一句古老的话致敬:学习是要讲究方法的,但是却没有一个人人都适用的方法!人与人之间是有区别的,每个人的特质和天赋都不一样。但是总有一些好的学习方法是适合大部分人的。其实上面说的几点意见都算是好的学习方法。这里另外再说一下:首先是问。学问,学问,学和问自古就不能分家,不懂就问,问一切值得问的人一切值得问的事。这个太重要了,我们要学会站在巨人的肩膀上成长。再就是悟,在学习的过程中,要不断地思考和总结,然后触类旁通,举一反三,并且把自己的理解和心得记录下来。然后就是练,把自己掌握的东西多多练习,实践出来。从最简单的开始,循序渐进,一点一点积累基础,稳打稳扎。还有就是理论和实践不能脱节,编程语言的学习过程中,理论和实践是相互依存相容相长的,千万不要走极端。光看书学理论,只会成为一个没有任何实战经验的学究;光敲代码不思考不充分吸收理论知识,也会沦为一个“代码民工”。我们两边都不能耽搁。最后,咱们要走最直接最实用的一条学习曲线。学习编程语言,不能追求大而全,眉毛胡子一把抓。以前我问学员在学校怎么学习JAVA。有人说还背过JDK的API,这就好像学汉语的人背成语词典,有点过了。那么这条曲线是怎么样子的呢?我在拙作http://blog.csdn.net/lenotang/archive/2008/06/14/2545419.aspx 里面略微阐述了一下。
以上是我给初学的朋友的几点小建议啦,希望对朋友们有些帮助。记住这些词汇吧:坚持,自信,兴趣,环境,模仿,思考,压力,方法……许老师坚信:只要你用心,就没有学不好的东西。相信自己,好好努力吧!