跳转到内容


如何学习Java程序设计?


  • 您无法回复此主题
No replies to this topic

#1 easthome

    新手上路

  • 注册用户
  • 点子点子点子
  • 70 帖子数:

发表于 2012/04/23 17:33:29

Java[font=宋体]学习之路:不走弯路,就是捷径,如何学习程序设计?[/font]
JAVA[font=宋体]是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于[/font]JAVA[font=宋体],对[/font]C++[font=宋体]等其他程序设计语言也一样管用。有编程高手认为,[/font]JAVA[font=宋体]也好[/font]C[font=宋体]也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。[/font]
1[font=宋体]培养兴趣[/font]
[font=宋体]兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭空多出个[/font]"[font=宋体]食利阶层[/font]"[font=宋体]。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。[/font]
2[font=宋体]慎选程序设计语言[/font]
[font=宋体]男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。[/font]
[font=宋体]如果你对硬件比较感兴趣,你可以学习[/font]C[font=宋体]语言[/font]/[font=宋体]汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在[/font]C/C++[font=宋体]等之上多花时间,以期进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习[/font]C/Linux[font=宋体]等等[/font],[font=宋体]为[/font]Linux[font=宋体]内核开发[/font]/[font=宋体]驱动程序开发[/font]/[font=宋体]嵌入式开发打基础。如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择[/font]J2EE[font=宋体]或[/font].NET[font=宋体],甚至[/font]LAMP[font=宋体]组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。[/font]
3[font=宋体]要脚踏实地[/font],[font=宋体]快餐式的学习不可取[/font]
[font=宋体]浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入共产主义社会。许多初学者[/font]C++/JAVA[font=宋体]没开始学,立马使用[/font]VC/JBuilder,[font=宋体]会使用[/font]VC/JBuilder[font=宋体]开发一个[/font]HelloWorld[font=宋体]程序,就忙不迭的向世界宣告,[/font]"[font=宋体]我会软件开发了[/font]"[font=宋体],简历上也大言不惭地写上[/font]"[font=宋体]精通[/font]VC/JAVA"[font=宋体]。结果到软件公司面试时要么被三两下打发走了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《[/font]C++[font=宋体]编程思想》《[/font]JAVA[font=宋体]编程思想》仔细钻研,早知如此何必当初呀。[/font]
"[font=宋体]你现在讲究简单方便,你以后的路就长了[/font]"[font=宋体],好象也是佛经中的劝戒。[/font]
4[font=宋体]多实践[/font],[font=宋体]快实践[/font]
[font=宋体]彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。[/font]
[font=宋体]从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:[/font]"[font=宋体]我打算去南海朝圣,你看怎么样?[/font]"[font=宋体]富和尚说:[/font]"[font=宋体]这里离南海有几千里远,你靠什么去呢?[/font]"[font=宋体]穷和尚说:[/font]"[font=宋体]我只要一个水钵,一个饭碗就够了。[/font]"[font=宋体]富和尚为难地说:[/font]"[font=宋体]几年前我就打算买条船去南海,可至今没去成,你还是别去吧![/font]"[font=宋体]一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。[/font]
[font=宋体]这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,[/font]"[font=宋体]君子动口不动手[/font]"[font=宋体]对软件开发人员来讲根本就是错误的,他们提倡[/font]"[font=宋体]动手至上[/font]"[font=宋体],但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副[/font]"[font=宋体]比尔盖茨[/font]"[font=宋体]样。有前辈高人认为,学习编程的秘诀是:编程、编程、再编程,深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。[/font]
5[font=宋体]多参考程序代码[/font]
[font=宋体]程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动[/font],[font=宋体]悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。[/font]
[font=宋体]多多参考代码例子,对[/font]JAVA[font=宋体]而言有参考文献[/font][4.3],[font=宋体]有[/font]API[font=宋体]类的源代码[/font](JDK[font=宋体]安装目录下的[/font]src.zip[font=宋体]文件[/font])[font=宋体],也可以研究一些开源的软件或框架。[/font]
6[font=宋体]加强英文阅读能力[/font]
[font=宋体]对学习编程来说,不要求英语[/font],[font=宋体]但不能一点不会[/font],[font=宋体]。最起码像[/font]JAVAAPI[font=宋体]文档[/font]([font=宋体]参考文献[/font][4.4])[font=宋体]这些东西还是要能看懂的[/font],[font=宋体]连猜带懵都可以;旁边再开启一个[/font]"[font=宋体]金山词霸[/font]"[font=宋体]。看多了就会越来越熟练。在学[/font]JAVA[font=宋体]的同时学习英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的[/font]"[font=宋体]周扒皮[/font]"[font=宋体]。[/font]
7[font=宋体]万不得已才请教别人[/font]
[font=宋体]在[/font]ChinaITLab[font=宋体]网校的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。[/font]
[font=宋体]你是否在[/font]google[font=宋体]中搜索了问题的解决办法?[/font]
[font=宋体]你是否查看了[/font]JAVAAPI[font=宋体]文档?[/font]
[font=宋体]你是否查找过相关书籍?[/font]
[font=宋体]你是否写代码测试过?[/font]
[font=宋体]如果回答都是[/font]"[font=宋体]是[/font]"[font=宋体]的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。[/font]
8[font=宋体]多读好书[/font]
[font=宋体]书中自有颜如玉。比尔[/font]?[font=宋体]盖茨是一个饱读群书的人。虽然没有读完大学,但九岁的时候比尔[/font]?[font=宋体]盖茨就已经读完了所有的百科全书,所以他精通天文、历史、地理等等各类学科,可以说比尔[/font]?[font=宋体]盖茨不仅是当今世界上金钱的首富,而且也可以称得上是知识的巨富。[/font]
9[font=宋体]使用合适的工具[/font]
[font=宋体]工欲善其事必先利其器。软件开发包含各种各样的活动,需求收集分析、建立用例模型、建立分析设计模型、编程实现、调试程序、自动化测试、持续集成等等,没有工具帮忙可以说是寸步难行。工具可以提高开发效率,使软件的质量更高[/font]BUG[font=宋体]更少。组合称手的武器。到飞花摘叶皆可伤人的境界就很高了,无招胜有招,手中无剑心中有剑这样的境界几乎不可企及。[/font]