給程序入門者的一點建議
在書場上看到很多有關java的書籍,但這就像進了瓜地里挑瓜挑的眼花,很多人不知道自己到底該選那本書好。很快精通Java可能只有很少一部分人能實現,那就是他曾經精通過 哪門語言,因為程序設計語言很好學,只要你精通一門語言,就可以做到一通百通。因為每種語言都有其共同點,就拿C語言來說,由于C語言出現的比較早,用的人也比較多,所以人們都習慣了它的語法規則和設計流程,假如現在出現了一門新的語言,而它和C語言的語法規則是天壤之隔,那么它的結果肯定是被淘汰的對 象。道理很簡單,這種新語言的語法習慣和人們的編程習慣相差甚遠,所以導致很少有人用,而語言的開發就是為了更多的使用才有其價值,如果沒人使用也就沒有它的價值了。就像Java語言一樣,它的出現要比C語言晚,但無論它再怎么新,它的語法規則和C語言基本相差不遠,所以人們也喜歡用,這樣它才能實現它的實際價值。就像筆者在學習JavaScript一樣,由于對Java的學習比較深入,所以在學習Javascript只需要不到一個星期就做出了像hao123那樣的網頁。
而對于大多人來說,他們如果沒有精通某種語言,剛開始就學Java,這樣連基本的語法規則都沒有積累,怎么可能在短期內精通Java?而本書就克服了這個缺點,無論是對于初學者還是大牛,都有其相對應的適應性。根據筆者自學Java兩年的經驗,筆者在這里毛遂自薦一下,其實精通一門語言很簡單:對于初學者,剛開始需要把基本概念過一遍,而本書開始部分的基本概念都是精簡版,所以這樣就克服了概念吸收慢的缺點。接著就是做后面的程序練習和項目開發。有人可能會問,這樣如果有的概念忘記了怎么辦?很正常,遇到不懂的概念就回去前面查或者查API文檔。就這么簡單,精通的過程就是在不斷地查和練之間形成的;對于已經接觸過一門語言的同學前面的Java概念只需簡單過一遍,畢竟每種語言之間雖然有很多相似之處,但也有很多不同之處,所以主要看不同的地方。接著還 是不斷地練習和做項目,這樣才能不斷提高自己。
我在這里不得不提一下另一種古老的學習方式,那就是中學的學習方式。很多人將中學的學習方式帶到了大學,而大學的學習方式和中學的學習方式是大相徑庭的,無論你學習什么。所以就出現了,很多在中學學習很少拔尖的同學在大學的學習中卻很吃力,甚至付出了很多努力,但最后的成績還是到不得自己預期的水平。在中 學的學習方式是我們花大量的時間來把概念夠透徹,尤其對于數學更是這樣,就拿筆者來說,筆者在高考時把五本數學書仔仔細細翻了三遍,課后習題一個不落的往后做。而在大學,大學就是一個小社會,它會讓你更接近現實,同時進入社會事情肯定也越來越多,怎樣高效地處理這些事情就需要另一種學習方式。就像筆者在上面說過的一樣,在大學的學習中大多是靠自己自學的,在大學靠老師就等于靠一面快要倒了的墻,你是靠不住的,這樣只會耽誤一個學生的前途。所以,我們在學習過程中,怎么高效地吸收書本上的知識,很簡單,就是通過不斷地查和練。
以前在中學時,經常看一些怎樣提高學習效率、怎樣考高分的書,感覺人家說得在情在理,自己當時也看得是激情澎湃。但在大學的圖書館鉆了兩年后筆者才發現看 不看這些其實都是一樣的。因為無論在哪本學習方法的書里面,都是讓你把自己的時間安排的滿滿的來學習一門知識,這很明顯是理想狀態,進入社會的人有多少能整體學習一門知識的,就是學生每天也要學習不同的課程,更何況進入社會的我們。其實,話又說回來了,別人的學習方法也不無道理,人各有志,每個人的情況大 相徑庭。但無論你無論是借鑒別人的學習方法,還是自己的,只有適合自己的才是最好的。
還有一點,學習方法固然重要,但更重要的是自己的心態,如果一個三天打魚兩天曬網,那么,無論多么科學的學習方法對他來說都無濟于事。道理很簡單,就像一個人對他的女朋友用心不專一樣,那么他還希望他的女朋友能和他相處一輩子嗎?
對于初學者來說,筆者建議剛開始練習Java程序的時候用DOS環境來編譯和運行,這樣也可以提高自己的程序調試水平。筆者承認Eclipse功能很強大 用起來也非常方便,但筆者認為這不適合初學者使用,因為里面很多函數、類、方法等不需要自己寫就可以自動生成,這樣反而不利于初學者的學習。這個道理也很簡單,其實,越方便的東西我們越要警惕,這就和天上掉餡餅是一個道理,它有可能不是圈套就是陷阱。
剛開始學習Java不在多,關鍵在精。很多人在學習時有這樣一種誤區,書借了很多,但是都是這本書學一點,那本書學一點,到頭來學的知識沒有一個整體性,最后給自己的感覺就是好像學了很多,但真正用起來卻手足無措。所以,你只需要用一本書把它搞精就OK了。
在這里我們需要明確一個誤區:Java的學習是為了項目開發,而不是為了搞研究。所以,我們在學習的時候關鍵是要知道它怎樣用,而不是要深入地知道它到底 是怎么回事。而筆者只所以要寫這本書,這也是其中一個原因。緣由筆者在剛開始學習Java的時候也借了很多書,但都是理論搞得過于深刻,這樣不但繁瑣難懂,而且最后用起來還是寫不出來。就拿里面的IO流那章來說,很多書都想把它講的很清楚這點沒錯,所以理論搞得非常深厚,但這樣只會讓人看得一頭霧水而不知所云。這樣反而會事倍功半,所以筆者在講這章時,很簡單,主要是搞清楚流的去向,如讀出就是把文件從內存讀出到顯示器,寫入就是通過鍵盤把文件寫入到內存。搞清楚了最基本的道理,后面的各個函數都是圍繞這一點來展開的,學起來就輕而易舉地理解它。這就和練功一樣,先要把內功練深厚,后面的深奧功夫才能很快練就,反之,就只會走火入魔。
在此給大家建議,學習java不必害怕。其實,不管是學習Java還是其它計算機知識都是一樣的,我們只所以覺得計算機知識比較難主要是因為它的抽象性。 因為我們要把現實生活中三位的東西壓縮成二維的傳承下去,所以就出現了理解障礙。但是大家有沒有發現,讀小說似乎不是很抽象并且還很容易理解,這又是為什么呢?小說其實和我們的計算機知識一樣,都是把現實生活中三維的東西壓縮成了二維的概念,但它依然不抽象且容易理解,主要是因為我們在讀小說的時候有的人已經把自己放進小說里面了,好像小說里面的主人公就是他自己一樣,這樣看起來當然是越看越帶勁。不經意間發現這個小技巧,那我們為什么不把它在我們的計算 機知識里面應用一下呢?所以,我在寫這本書的時候盡量舉最貼切實際的例子來吸引大家投入其中,這樣,抽象的概念從此將不再抽象。記得在高三的時候,我們班主任幽默地說了句:大家沒事的時候就把這些課本當小說翻一翻。雖然老師話音剛落,教室就一片嘩然,但我卻不小心記住了這句話并從中得到了不少啟發。為什么我們不把這些抽象的知識同小說一樣對待呢?
接著講一講有關電腦的操作方面,有人說這么簡單的也要講,但我不得不說:越是簡單的東西越要注意。就和我們晚上睡覺一樣,如果讓我們每天晚上12點前睡覺,這個要求聽起來確實很簡單,但試問真正能做到的人又有幾個?電腦操作也一樣,或許大家在這方面可能比筆者厲害百倍,但很多人還是存在這樣或那樣的操作部規范問題。下面簡單介紹一下:
放在電腦里面的文件要以詳細列表形式存放,這樣你的每個文件的信息就一目了然,具體操作:在文件管理器里面進入工具->文件夾選項->查看,點擊“應用到所有文件夾”,這樣以后你文件管理器里面所有的文件都是以詳細列表的形式存在。這樣別人一看,即使你不是高手他也會認為你絕對是高手。
當你保存文件時可以用快捷鍵Ctrl+S,切換窗口用Alt+Tab,截屏用Alt+PRtSc。這些都是最常用的快捷方式,你剛開始用可能不大習慣,但用久了就熟練了。在某些地方很多人很羨慕你這么牛,其實你只是比他們更加專業而已。
編寫Java程序的軟件一般用UltraEdit或者EditPlus,筆者用的是UltraEdit,這個可以根據個人愛好來定。以前用的最多的是記事 本,但現在為什么不用了呢?因為UltraEdit和Editplus里面有各種語言開發的格式,特別適合程序開發,這樣寫出來的程序也一目了然,而記事 本顯然遜色很多。
在這里再啰嗦一下,Java的命名無論是類還是函數都要見名知意,特別是在做項目時,這一點尤其重要,因為你寫的程序不只是為了給自己用的,而是為了給別人用的,這樣才有它的價值,而如果你對類或者函數的命名都不規范,換做你也不愿看這些程序。我們在寫Java程序的時候要有規范的程序格式,這樣不但開發出來的程序好看易懂,同時這也體現一個人的修養問題,至少通過這點可以看出一個人對生活的認真程度。假如你去面試,在老板對你不了解的情況下,他就會從這里來琢磨你做人的態度以及個人修養。
生活其實很簡單,只是很多人把它想復雜了而已!
道可道非常道,名可名非常名。
Java自學之道博大精深,自己只是將理論和實際相結合,進行了簡單總結。
Java自學之道全文可在自己的博客下載:http://my.oschina.net/mkh/blog/340689
原創文章歡迎轉載,轉載時請注明出處。
作者推薦文章:
》Java自學之道
》總結5種比較高效常用的排序算法
》如何獲取系統信息
》如何生成二維碼過程詳解
新聞熱點
疑難解答