1. 程式人生 > >Java:如何學好 Java

Java:如何學好 Java

JAVA學習路線

3.1.1 基礎語法及JAVA原理:

基礎語法和JAVA原理是地基,地基不牢靠,猶如沙地上建摩天大廈,是相當危險的。學習JAVA也是如此,必須要有紮實的基礎,你才能在J2EE、J2ME領域遊刃有餘。參加SCJP(SUN公司認證的JAVA程式設計師)考試不失為一個好方法,原因之一是為了對得起你交的1200大洋考試費,你會更努力學習,原因之二是SCJP考試能夠讓你把基礎打得很牢靠,它要求你跟JDK一樣熟悉JAVA基礎知識;但是你千萬不要認為考過了SCJP就有多了不起,就能夠獲得軟體公司的青睞,就能夠獲取高薪,這樣的想法也是很危險的。獲得"真正"的SCJP只能證明你的基礎還過得去,但離實際開發還有很長的一段路要走。

3.1.2 OO思想的領悟:

掌握了基礎語法和JAVA程式執行原理後,我們就可以用JAVA語言實現面向物件的思想了。面向物件,是一種方法學;是獨立於語言之外的程式設計思想;是CBD基於元件開發的基礎;屬於強勢技術之一。當以後因工作需要轉到別的面嚮物件語言的時候,你會感到特別的熟悉親切,學起來像喝涼水這麼簡單。

使用面向物件的思想進行開發的基本過程是:

●調查收集需求;

●建立用例模型;

●從用例模型中識別分析類及類與類之間的靜態動態關係,從而建立分析模型;

●細化分析模型到設計模型;

●用具體的技術去實現;

●測試、部署、總結。

3.1.3 基本API的學習:

進行軟體開發的時候,並不是什麼功能都需要我們去實現,也就是經典名言所說的"不需要重新發明輪子"。我們可以利用現成的類、元件、框架來搭建我們的應用,如SUN公司編寫好了眾多類實現一些底層功能,以及我們下載過來的JAR檔案中包含的類,我們可以呼叫類中的方法來完成某些功能或繼承它。那麼這些類中究竟提供了哪些方法給我們使用?方法的引數個數及型別是?類的構造器需不需要引數?總不可能SUN公司的工程師打國際長途甚至飄洋過海來告訴你他編寫的類該如何使用吧。他們只能提供文件給我們檢視,JAVADOC文件(參考文獻4.4)就是這樣的文件,它可以說是程式設計師與程式設計師交流的文件。

基本API指的是實現了一些底層功能的類,通用性較強的API,如字串處理/輸入輸出等等。我們又把它成為類庫。熟悉API的方法一是多查JAVADOC文件(參考文獻4.4),二是使用JBuilder/Eclipse等IDE的程式碼提示功能。

3.1.4 特定API的學習:

JAVA介入的領域很廣泛,不同的領域有不同的API,沒有人熟悉所有的API,對一般人而言只是熟悉工作中要用到的API。如果你做介面開發,那麼你需要學習Swing/AWT/SWT等API;如果你進行網路遊戲開發,你需要深入瞭解網路API/多媒體API/2D3D等;如果你做WEB開發,就需要熟悉Servlet等API啦。總之,需要根據工作的需要或你的興趣發展方向去選擇學習特定的API。

3.1.5 開發工具的用法:

在學習基礎語法與基本的面向物件概念時,從鍛鍊語言熟練程度的角度考慮,我們推薦使用的工具是Editplus/JCreator+JDK,這時候不要急於上手JBuilder/Eclipse等整合開發環境,以免過於關注IDE的強大功能而分散對JAVA技術本身的注意力。過了這一階段你就可以開始熟悉IDE了。

程式設計師日常工作包括很多活動,編輯、編譯及構建、除錯、單元測試、版本控制、維持模型與程式碼同步、文件的更新等等,幾乎每一項活動都有專門的工具,如果獨立使用這些工具的話,你將會很痛苦,你需要在堆滿工具的工作列上不斷的切換,效率很低下,也很容易出錯。在JBuilder、Eclipse等IDE中已經自動整合編輯器、編譯器、偵錯程式、單元測試工具JUnit、自動構建工具ANT、版本控制工具CVS、DOC文件生成與更新等等,甚至可以把UML建模工具也整合進去,又提供了豐富的嚮導幫助生成框架程式碼,讓我們的開發變得更輕鬆。應該說IDE發展的趨勢就是整合軟體開發中要用到的幾乎所有工具。

從開發效率的角度考慮,使用IDE是必經之路,也是從一個學生到一個職業程式設計師轉變的里程碑。

JAVA開發使用的IDE主要有Eclipse、JBuilder、JDeveloper、NetBeans等幾種;而Eclipse、JBuilder佔有的市場份額是最大的。JBuilder在近幾年來一直是JAVA整合開發環境中的霸主,它是由備受程式設計師尊敬的Borland公司開發,在硝煙瀰漫的JAVAIDE大戰中,以其快速的版本更新擊敗IBM的VisualAgeforJAVA等而成就一番偉業。IBM在VisualAgeforJAVA上已經無利可圖之下,乾脆將之貢獻給開源社群,成為Eclipse的前身,真所謂"柳暗花明又一村"。浴火重生的Eclipse以其開放式的外掛擴充套件機制、免費開源獲得廣大程式設計師(包括幾乎所有的骨灰級程式設計師)的青睞,極具發展潛力。

3.1.6 學習軟體工程:

對小型專案而言,你可能認為軟體工程沒太大的必要。隨著專案的複雜性越來越高,軟體工程的必要性才會體現出來。

Java:如何學好 Java

3.2 學習要點:

確立的學習路線之後,我們還需要總結一下JAVA的學習要點,這些要點在前文多多少少提到過,只是Arwin覺得這些地方特別要注意才對它們進行彙總。

3.2.1 勤查API文件:

當程式設計師編寫好某些類,覺得很有成就感,想把它貢獻給各位苦難的同行。這時候你要使用"javadoc"工具(包含在JDK中)生成標準的JAVADOC文件,供同行使用。J2SE/J2EE/J2ME的DOC文件是程式設計師與程式設計師交流的工具,幾乎人手一份,除了菜鳥之外。

對待DOC文件要像毛主席語錄,早上起床念一遍,吃飯睡覺前念一遍。

當需要某項功能的時候,你應該先查相應的DOC文件看看有沒有現成的實現,有的話就不必勞神費心了直接用就可以了,找不到的時候才考慮自己實現。使用步驟一般如下:

●找特定的包,包一般根據功能組織;

●找需要使用類,類命名規範的話我們由類的名字可猜出一二;

●選擇構造器,大多數使用類的方式是建立物件;

●選擇你需要的方法。

3.2.2 查書/google->寫程式碼測試->檢視原始碼->請教別人:

當我們遇到問題的時候該如何解決?

這時候不要急著問別人,太簡單的問題,沒經過思考的問題,別人會因此而瞧不起你。可以先找找書,到google中搜一下看看,絕大部分問題基本就解決了。而像"某些類/方法如何使用的問題",DOC文件就是答案。對某些知識點有疑惑是,寫程式碼測試一下,會給你留下深刻的印象。而有的問題,你可能需要直接看API的原始碼驗證你的想法。萬不得已才去請教別人。

3.2.3 學習開源軟體的設計思想:

JAVA領域有許多原始碼開放的工具、元件、框架,JUnit、ANT、Tomcat、Struts、Spring、Jive論壇、PetStore寵物店等等多如牛毛。這些可是前輩給我們留下的瑰寶呀。入寶山而空手歸,你心甘嗎?對這些工具、框架進行分析,領會其中的設計思想,有朝一日說不定你也能寫一個XXX框架什麼的,風光一把。分析開源軟體其實是你提高技術、提高實戰能力的便捷方法。

3.2.4 規範的重要性:

沒有規矩,不成方圓。這裡的規範有兩層含義。第一層含義是技術規範,多讀規範,這是最權威準確最新的教材。第二層含義是程式設計規範,如果你使用了大量的獨特演算法,富有個性的變數及方法的命名方式;同時,沒給程式作註釋,以顯示你的程式設計功底是多麼的深厚。這樣的程式碼別人看起來像天書,要理解談何容易,更不用說維護了,必然會被無情地掃入垃圾堆。

Java:如何學好 Java

總結:

很不幸,很幸運,要學習的東西還有很多。不幸的是因為要學的東西太多且多變,沒時間陪老婆家人或女朋友,導致身心疲憊,嚴重者甚至導致抑鬱症。幸運的是別人要搶你飯碗絕非易事,他們或她們需要付出很多才能達成心願。

JAVA不要孤立地去學習,需要綜合學習資料結構、OOP、軟體工程、UML、網路程式設計、資料庫技術等知識,用橫向縱向的比較聯想的方式去學習會更有效。如學習JAVA集合的時候找資料結構的書看看;學JDBC的時候複習資料庫技術;採取的依然是"需要的時候再學"的原則。

學習Java的同學注意了!!!

學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入Java學習交流裙678241563