Java Learn Steps

我個人的經驗,學習java應分以下幾個階段:

java的語法學習

面向對象觀念的建立

java基本類庫的學習

學習設計模式

應用設計模式

經過大量的實踐,可以設計模式

以上六個階段,其中前三個階段是針對java的,但java中,在很多設計模式的應用,同時有很多功能都支持設計模式,所以不懂設計模式的人是不會很好的應用java做開發的。第4、5個階段的學習在前三個階段的基礎上,學習、應用成功的經驗。從而進入第六個階段,在軟件設計這個領域盡情發揮。本人受能力所限,還處在第4個階段的學習過程,所以會對前四個階段說明。第五、六個階段只是我根據我自己的知識做的推斷,還沒有經驗無法說明。

在對這些學習階段進行闡述之前,我先說一下我的學習方法。在學習新的知識時我通常是按以下三個階段學的理論學習。通過對理論的學習,儘量瞭解新知識的概念;學習之後只是粗略的瞭解概念,不能和實際很好的結合。

演繹階段。根據理論學習的知識,考慮在什麼場合下可以應用這個新知識,哪些地方已經應用了這個概念,建立對新知識的感性認識。

歸納階段。從一個更深的層次理解理論。

以下根據java的六個學習階段闡述我的體會,而每個階段將按照理論學習、演繹和歸納三個小階段討論。

java語法的學習

語法學習的理論學習階段是最容易的階段,70%以上的java書主要介紹的就是java語法,隨意買來一本,通讀一下就可以,主要理解以下內容:(1)數據類型,(2)操作符,(3)控制流程,(4)類和類再生,(5)包和接口,(6)異常操作。

在理論學習階段,不必過於注重細節,只要對java的基本語法有一個整體認識,能讀懂示例的源代碼就可以了。

下一步就是演繹階段,應用所學的語法知識,編寫簡單的程序。最好憑自己的記憶,將各語法要點都用一遍(編寫代碼最好用notepad),對自己不熟悉的語法要重新閱讀,用編譯器去檢查語法錯誤。這個階段的目標是脫離書本以及java
API能編寫簡單的程序,閱讀一個java源代碼能說出執行結果。

完成這個階段的學習,參加scjp的考試,應該獲得較高的成績。

在演繹階段的基礎上,根據自己犯過的錯誤,總結一下java的難點。重新閱讀語法書,將一些自己不是很清楚的概念重新整理一下,這時你對java語法的理解比第一次閱讀時更深了。

我在剛開始學java時,只是粗略的看看語法書,就開始編程序了,遇到不懂的就重新閱讀語法書,這樣,完全可以成爲一個合格程序員,但是當我成爲team
leader時,爲了培訓組員java編程,卻發現自己脫離了java語法書和Java
API,竟然會的不多(java集成開發工具有提示功能),爲了培訓,我又重新學了一遍java語法,很有收穫。

其實一個優秀的程序員,不但要能寫出好的程序,更重要的是,對所寫的程序能說的清楚:

(1)說清楚程序的功能(2)說清楚程序的結構。而說清楚程序的結構的基礎是對java的語法要熟悉。想成爲優秀的程序員,一定要在學習語法的基礎上,不斷實踐,不斷總結,最終能脫離語法書,將java語法系統的講解清楚。

曾經面試過一些java程序員,我出的題目是在使用java時,經常用到哪些類,在哪個包裏。很少有人能答好,甚至有人做了2年java程序都沒有回答出,他們會用java,但必須依賴工具(指java集成開工具),我覺得他們可以編寫出程序,但不能編寫出特別好得程序。

我認爲作爲java程序員必須掌握java類庫的兩個包:java.lang和java.util這兩個包。java.lang包提供的是java編程要用到的基本類包,java程序員天天在用,無非是看別人如何用,自己就如何用,但很少有人去總結一下,比如String
和StringBuffer這兩個類有什麼差別,應該有很多java程序員說不出來。另外Vector和HashMap這兩個類大家都在用,有多少人能說清楚Vector和HashMap繼承了哪些類,實現了哪些接口呢。

理論學習。認真閱讀java
API的以下內容:java.lang包中的String ,StringBuffer,Number,Double,Float,Byte,Short,Integer,Long,Character,Boolean,Process,Runtime,System,Object,Cloneable,Class,ClassLoader,Thread,ThreadGroup,Runnable,Package類或接口。java.util包中的Collection,list,Set,ArrayList,LinkedList,Hashset,TreeSet,Iterator,Map,SortedMap,HashMap,TreeMap,Comparator,Arrays,Enumeration,Vector,Stack,Dictionary,Hashtable,Properties,StringTokenizer,BitSet,Date,Calendar,Locale,Random,Observer,Observable類和接口。主要理清楚這些類或接口的繼承關係、主要功能。

演繹階段。通過閱讀代碼,練習編程,學習並應用這些類和接口。其實這些類的大部分是經常用的,無非對這些類和接口說不清楚。在這些類中,對java.lang和java.util包中的類,最好將各個方法練習使用一次。而對java.util包中Collections
framework中的類,最好理清楚各個類和接口之間的關係。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章