Java Learn Steps

來源:互聯網
上載者:User
我個人的經驗,學習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中的類,最好理清楚各個類和介面之間的關係。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.