天天看點

初學者如何學習java程式設計

JAVA是一種平台,也是一種程式設計語言,如何學好程式設計不僅僅适用于JAVA,對C++等其他程式設計語言也一樣管用。有程式設計高手認為,JAVA也好C也好沒什麼分别,拿來就用。為什麼他們能達到如此境界?我想是因為程式設計語言之間有共通之處,領會了程式設計的精髓,自然能夠做到一通百通。如何學習程式設計理所當然也有許多共通的地方。

  一、 培養興趣

  興趣是能夠讓你堅持下去的動力。如果隻是把寫程式作為謀生的手段的話,你會活的很累,也太對不起自己了。多關心一些行業趣事,多想想蓋茨。不是提倡天天做白日夢,但人要是沒有了夢想,你覺得有味道嗎?可能像許多深圳本地農民一樣,打打麻将,喝喝功夫茶,拜拜财神爺;每個月就有幾萬十幾萬甚至更多的進帳,憑空多出個"食利階層"。你認為,這樣有味道嗎?有空多到一些程式員論壇轉轉,你會發現,他們其實很樂觀幽默,時不時會冒出智慧的火花。

  二、 慎選程式設計語言

  男怕入錯行,女怕嫁錯郎。初學者選擇程式設計語言需要謹慎對待。軟體開發不僅僅是掌握一門程式設計語言了事,它還需要其他很多方面的背景知識。軟體開發也不僅僅局限于某幾個領域,而是已經滲透到了各行各業幾乎每一個角落。

  如果你對硬體比較感興趣,你可以學習C語言/彙編語言,進入硬體開發領域。如果你對電信的行業知識及網絡比較熟悉,你可以在C/C++等之上多花時間,以期進入電信軟體開發領域。如果你對作業系統比較熟悉,你可以學習C/Linux等等,為Linux核心開發/驅動程式開發/嵌入式開發打基礎。

  如果你想介入到應用範圍最廣泛的應用軟體開發(包括電子商務電子政務系統)的話,你可以選擇J2EE或.NET,甚至LAMP組合。每個領域要求的背景知識不一樣。做應用軟體需要對資料庫等很熟悉。總之,你需要根據自己的特點來選擇合适你的程式設計語言。

  三、 要腳踏實地,快餐式的學習不可取

  先分享一個故事。

  有一個小朋友,他很喜歡研究所學生物學,很想知道那些蝴蝶如何從蛹殼裡出來,變成蝴蝶便會飛。有一次,他走到草原上面看見一個蛹,便取了回家,然後看着,過了幾天以後,這個蛹出了一條裂痕,看見裡面的蝴蝶開始掙紮,想抓破蛹殼飛出來。這個過程達數小時之久,蝴蝶在蛹裡面很辛苦地拼命掙紮,怎麼也沒法子走出來。

  這個小孩看着看着不忍心,就想不如讓我幫幫它吧,便随手拿起剪刀在蛹上剪開,使蝴蝶破蛹而出。但蝴蝶出來以後,因為翅膀不夠力,變得很臃腫,飛不起來。

  這個故事給我們的啟示是:欲速則不達。

  浮躁是現代人最普遍的心态,能怪誰?也許是貧窮落後了這麼多年的緣故,就像當年的大躍進一樣,都想大步跨入共産主義社會。現在的軟體公司、客戶、政府、學校、教育訓練機構等等到處彌漫着浮躁之氣。就拿筆者比較熟悉的深圳IT教育訓練行業來說吧,居然有的打廣告宣稱"參加教育訓練,100%就業",居然報名的學生不少,簡直是藐視天下程式員。社會環境如是,我們不能改變,隻能改變自己,鬧市中的安甯,彌足珍貴。

  許多初學者C++/JAVA沒開始學,立馬使用VC/JBuilder,會使用VC/JBuilder開發一個HelloWorld程式,就忙不疊的向世界宣告,"我會軟體開發了",履歷上也大言不慚地寫上"精通VC/JAVA"。結果到軟體公司面試時要麼被三兩下打發走了,要麼被駁的體無完膚,無地自容。到處碰壁之後才知道捧起《C++程式設計思想》《JAVA程式設計思想》仔細鑽研,早知如此何必當初呀。

  "你現在講究簡單友善,你以後的路就長了",好象也是佛經中的勸戒。

  四、多實踐,快實踐

  彭端淑的《為學一首示子侄》中有窮和尚與富和尚的故事。

  從前,四川邊境有兩個和尚,一個貧窮,一個有錢。一天,窮和尚對富和尚說:"我打算去南海朝聖,你看怎麼樣?"富和尚說:"這裡離南海有幾千裡遠,你靠什麼去呢?"窮和尚說:"我隻要一個水缽,一個飯碗就夠了。"富和尚為難地說:"幾年前我就打算買條船去南海,可至今沒去成,你還是别去吧!"一年以後,富和尚還在為租賃船隻籌錢,窮和尚卻已經從南海朝聖回來了。

  這個故事可解讀為:任何事情,一旦考慮好了,就要馬上上路,不要等到準備周全之後,再去幹事情。假如事情準備考慮周全了再上路的話,别人恐怕捷足先登了。軟體開發是一門工程學科,注重的就是實踐,"君子動口不動手"對軟體開發人員來講根本就是錯誤的,他們提倡"動手至上",但别害怕,他們大多溫文爾雅,沒有暴力傾向,雖然有時候蓬頭垢面的一副"比爾蓋茨"樣。

  有前輩高人認為,學習程式設計的秘訣是:程式設計、程式設計、再程式設計,筆者深表贊同。不僅要多實踐,而且要快實踐。我們在看書的時候,不要等到你完全了解了才動手敲代碼,而是應該在看書的同時敲代碼,程式運作的各種情況可以讓你更快更牢固的掌握知識點。

  五、 多參考程式代碼

  程式代碼是軟體開發最重要的成果之一,其中滲透了程式員的思想與靈魂。許多人被《仙劍奇俠傳》中凄美的愛情故事感動,悲劇的結局更有一種缺憾美。為什麼要以悲劇結尾?據說是因為寫《仙劍奇俠傳》的程式員失戀而安排了這樣的結局,他把自己的感覺融入到遊戲中,卻讓衆多的仙劍迷扼腕歎息。

  參考代碼例子,也可以研究一些開源的軟體或架構。

  六、 加強英文閱讀能力

  對學習程式設計來說,不要求英語,但不能一點不會,。最起碼像JAVAAPI文檔(參考文獻[4.4])這些東西還是要能看懂的,連猜帶懵都可以;旁邊再開啟一個"金山詞霸"。

  看多了就會越來越熟練。在學JAVA的同時學習英文,一箭雙雕多好。另外好多軟體需要到英文網站下載下傳,你要能夠找到它們,這些是最基本的要求。英語好對你學習有很大的幫助。口語好的話更有機會進入管理層,進而可以成為剝削程式員的"周扒皮"。

  七、 萬不得已才請教别人

  筆者在ChinaITLab網校的線上輔導系統中解決學生問題時發現,大部分的問題學生稍做思考就可以解決。請教别人之前,你應該先回答如下幾個問題。

  ?你是否在google中搜尋了問題的解決辦法?

  ?你是否檢視了JAVAAPI文檔?

  ?你是否查找過相關書籍?

  ?你是否寫代碼測試過?

  如果回答都是"是"的話,而且還沒有找到解決辦法,再問别人不遲。要知道獨立思考的能力對你很重要。要知道程式員的時間是很寶貴的。

  八、 多讀好書

  書中自有顔如玉。比爾?蓋茨是一個飽讀群書的人。雖然沒有讀完大學,但九歲的時候比爾?蓋茨就已經讀完了所有的百科全書,是以他精通天文、曆史、地理等等各類學科,可以說比爾?蓋茨不僅是當今世界上金錢的首富,而且也可以稱得上是知識的巨富。