1. 程式人生 > >Java學習之路_學好基本功JavaSE

Java學習之路_學好基本功JavaSE

提示:閱讀本章前請您先閱讀《旺旺老師Java學習之路》的第一,二部分。

您選擇了Java幫,而且願意與旺旺共同探討Java,那旺旺就要給你Java學習路線圖, 與您分享一些Java學習方法與Java學習心得。所以第三部分我會分為三章來講解:JavaSE學習路線圖,JavaSE學習方法,JavaSE學習心得。

第一章:JavaSE學習路線圖

 我們知道Java有三個方向,JavaSE,JavaME,JavaEE(老程式設計師可能會叫J2EE等,不過SUN已經改名了)。JavaME主要是嵌入式與遊戲開發,旺旺沒有這方面的工作經驗,暫時不談;那我們先看JavaSE,因為只有學好了JavaSE才可以學JavaEE,所以說JavaSE是JavaEE的根基。

治學先治史。Java的歷史當然得了解,但除去與別人討論賣弄工作基本用不到,您可以暫時放放,那天累了調劑學習。旺旺老師,那能知道他的歷史呢?google,baidu搜吧!以後要養成個意識,凡是不瞭解想明白的東西就上google,baidu,不僅僅限於程式設計知識。

下面我們詳細看JavaSE學習路線:

1,Java跨平臺原理,JDK的部署與HelloWorld。您得知道Java跨平臺原理(第二部分中沒說java跨平臺的優勢,感覺地球人都知道,這提下),知道怎麼配置環境變數以及編寫一個HelloWorld程式。(廢話篇:想起一笑話,一程式設計師痴迷書法,遂買來文房四寶,在書房中揮毫潑墨,嚴肅認真的寫下了自己第一個作品後欣然微笑,眾人一看:“HelloWorld”)。

2,程式的基本語法,比如什麼是常量變數流程控制迴圈等任何一門程式語言都必備的知識,再學習下冒泡啊遞迴啊等演算法,然後給陣列排個序,列印個或實心或空心三角形等這些玩意。如果您學過C,C++這會非常輕鬆。

3,學習Java的OOP,這是重點也是難點,旺旺老師上課常對學生說,你們要想聽一遍課就熟練應用這些知識基本是不可能的。一個優秀的老師能把這些給你講清楚就已經非常了不起了,同樣一個優秀的學生能把這些概念背下來在看到類似的程式碼知道原因也非常了不起。至於創造,旺旺建議先別要求那麼高。那旺旺說先把OOP眾多概念背下來,以後JavaEE的學習中,在專案程式碼中再體會理解。所以這部分重點是理解加背概念。

下面給的是旺旺老師的平時講課順序

a)學習類和物件的知識,知道什麼是類與物件以及在java中如何建立類與物件(旺旺老師這部分視訊與電子書已經完成,歡迎下載,登入www.easyitedu.com瞭解詳情)。

b)包的知識

c)java中資料型別的分類(值型別,引用型別)

d)宣告物件與建立物件

e)java中方法引數的兩種傳遞方式。

f)構造方法

g)繼承以及繼承的特點(this與super關鍵字)

h)封裝,包括訪問修飾符

i)抽象類,介面

j)多型(方法過載與方法重寫),知道抽象類介面都是為多型服務

k)static與final關鍵字

l)用以上的知識做一個面向物件的某某管理系統(當然最好老師帶著做)

4,異常包括分類以及五個關鍵字try catch finally throw throws

5,       集合框架

6,到這如果想做個有成就感的程式可以直接學習JDBC,當然這需要您資料庫的知識的支援(比如能建庫建表,會增刪改查的sql語句),然後可以做個控制檯版本的某某管理軟體。當然您這個系統一定要使用vo類,要使用DAO模式,最好能加上介面編寫兩個DAO實現,Statement與PreparedStatement各一個,在此基礎上更深刻的理解OOP程式設計。

7,設計模式的知識這時您也可以學習一些,瞭解工廠,單態這兩種設計模式,然後使用它重構您上面做好的管理系統。

(到這裡,如果您急的找工作就業,也算小有所成,可以做個合格的小師弟了,然後向大師兄努力,學習JavaWeb;如果您不急著就業,可以把基本功練的更紮實些,可以接著學習下面三部分的知識)

8,       多執行緒程式設計

9,       網路程式設計

10,Java中的I/O操作

(以上三部分知識有個共同的特點是相對於前面七點在工作專案程式碼中使用很少,但理論還是相當重要,比如作為程式設計師您總得知道程序執行緒的區別聯絡吧,而且好多工具的底層就用到這些知識,比如JavaWeb部分我們使用的WebServer一定是個多執行緒的容器,它要與客戶端通訊一定需要網路程式設計,要處理使用者的請求資料給客戶端相應資料一定需要流來讀寫,所以這部分知識必須學,只不過您可以先暫時放放以後再學)

11,AWT-SWING/SWT:

前兩天還有同學問我說java是不是不能進行C/S結構程式開發,當然可以了。Java開發C/S 結構程式可以使用兩個技術,一個是AWT/SWING,這個是SUN搞出來的,比如Java以前非常火的一個IDE工具JBuilder就是用它開發的;還有一個是SWT,這個最早是由IBM發明的,用的語言還是JAVA,但API已經與SWING不同了,比如現在非常好用的Eclipse就是用它開發的。旺旺以前一個專案準備使用SWT,所以學了一段時間,但最後也沒用,而使用Biz/Designer(此技術收費產品,富客戶端,非常類似於現在的Flex)。

寫這些內容旺旺從老師的角度心情非常複雜,不知道該不該講這部分知識。因為用java開發C/S程式相對於winform除了能誇平臺並沒有什麼優勢可言,比如複雜的技術,比如沒有很好的開發工具支援快速開發(jb還可以eclipse生成的程式碼太亂了),比如執行超多記憶體的佔用,所以現在使用Java開發C/S程式的少之有少,企業的招聘崗位少之有少,那就不講不學了吧!但您搞軟體開發總得寫過些C/S程式吧,總得知道C/S下如何做許可權,如何共享資料這些基本知識吧,而且AWT/SWING中用到了很多優秀OO設計思想,更高興的是學習完這可以把我們前面做的控制檯版本的管理系統掛上形成一個可給使用者互動使用的系統,所以您有時間,學吧,急著找工作,就別學了(如果找工作順利,那以後估計永遠也不會學了,不信打賭?)。

12,Java的新特性

以前喜歡說JDK1.5的新特性,現在Java7馬上也出來了,也不算啥新特性,這部分知識包括:static import,泛型,註解,可變引數等,比如泛型應該在講解集合框架中說明,這部分也應該學習,但註解建議瞭解,等成大師兄後再詳細學習。

13,     反射

反射的知識也屬於JavaSE的內容,但旺旺也建議暫時不要學習,等到高階階段,自己有一些程式碼經驗積累後再詳細學習,反射的程式碼雖然工作專案程式碼使用較少,但很多框架或者你搞底層開發也一定是用得到的。

總結:上面的學習路線圖旺旺雖然寫了13條,但如果您想速成的話先學習前面七條就可以了,或者從另外一個角度說,掌握了前面七條暫時可以像更高的階段JavaWeb進發了,還是老話,如果您不著急工作,那就都學吧!

第二章:JavaSE學習方法

一,工具篇,工欲善其事必先利其器。旺旺使用印象最深的三個工具是jcreator,jbuilder,eclipse,其他現在偶爾使用的有netbeans。這裡建議使用eclipse,因為它除去書籤的使用沒有jbuilder方便其他都比前者強(個人觀點,如果那位高手對此有異議歡迎交流),而且還是免費的。而且旺旺建議從第二點java基礎語法就開始使用。原因有:第一,可以在編譯階段報出你所犯的錯誤,清晰方便;第二,有現成的能生成程式碼的模板為什麼不直接用呢?難道要一遍遍的手敲for(int i=0;i<=10;i++)這些程式碼才算高階,多浪費時間啊;第三,如果您能學會除錯斷點跟蹤,那找比如執行時錯誤或邏輯錯誤是非常方便的;第四,旺旺個人喜歡,因為自己從eclipse2.1就有的用,自己喜歡的東西像別人推薦是人的天性,旺旺是人,當然推薦(嘔吐中,哈哈,吐啊吐啊就吐習慣了)!還有eclipse與myeclipse的區別與聯絡,第四部分講JavaWeb時再說吧!大家知道現在使用eclipse就可以了。這裡強調下如果您搞SWING開發,那也建議使用下Jbuilder,因為eclipse雖然也有外掛支援快速開發,但並沒有jbuilder支援的好(關於eclipse使用方法,旺旺後續也有相關視訊,歡迎大家關注)。

二,教材篇,有很多同學問我希望我推薦一本Java學習的書籍(鬱悶,多麼希望自己能勤快點把《跟旺旺老師學Java》這本書寫完,旺旺保證,會非常適合初學,希望大家關注,到時自己學習或推薦給朋友,謝謝),這裡給大家說,如果你入門,千萬別買厚的,千萬別買《java程式設計思想》看,旺旺並不是說這本書不好,只是你現在功夫還達不到,等最起碼有三萬行程式碼量後再反過來去看它吧!那買什麼呢?去書店逛,把最薄的那本拿下來,那就是自己最需要的。薄書一般講的淺顯,適合入門;薄書一般看的快,學完有成就感,能增強學習java的信心;薄書作者與出版社不打算用它撈錢,為頁數而拼湊的內容較少。關於書籍,旺旺就說這麼多,希望對大家有所幫助。

,視訊篇,現在網路上有很多Java學習的視訊,我認為,只要是免費的就是好的,而且這位老師敢把視訊放到網路上水平也不會差,那大家也沒時間每個人的都看一遍,旺旺教你個方法,找某個知識點比如執行緒,比如類和物件,把你能收集到的每個視訊都看一遍,然後找自己最喜歡的風格,那就是最適合你的。因為每個老師都有自己的風格,有的嚴謹古板,比較沉悶,有的生動活撥,但有失嚴肅,旺旺不多說,怕一不小心得罪那位老師,大家甄別,然後選最適合自己的。同時旺旺老師已經把上面路線圖一部分視訊錄製完,下次從第一次開始錄,內容與路線圖一致,歡迎大家觀看學習,通過www.easyitedu.com瞭解詳情。

第三章:JavaSE學習心得

在公司工作開發,可能使用各種各樣的框架,有些是現成的如struts,spring,hibernate,有些是再在它們的基礎上封裝一層(雖然底層還是這,但你基本上看不到框架提供的api),有些乾脆是自己編寫的。前三種無論那種方式框架,在你開發的這個專案的第二個模組後就與框架無關了,用的最多的並不是某個框架的知識,還是JavaSE,JavaWeb這些基礎的東西,旺旺這些話您可能還不理解,放心,只要在java這條路上走下去,有一天會理解的,而且會寫出自己的框架。就像練功蹲馬步很重要一樣,這裡JavaSE基礎是很重要的,基礎是根本,所以請您紮好馬步,打好基礎。

題接第一部分,如果您學好這些知識,就可以去江湖小闖一番了,雖然可以打敗偷雞摸狗的社會小混混與打老婆的賭鬼煙鬼之流的人(不如把他們稱為圈外人士),但在江湖中你還處於社會的底層,也就僅僅高於種菜挑水做飯的師傅,大家都叫你小師弟,那怎麼成為大師兄呢?歡迎關注旺旺老師java學習之路的第四部分:我做大師兄之JavaWeb程式設計。

其他:旺旺老師擁有七年軟體開發相關經驗,四年軟體教育經驗。帶過的學生已將近千人,他們當中最多的是大專生,本科生,其次是高中生,最後還有十幾個研究生。說這些並不是想證明旺旺有多麼了不起,想告訴大家旺旺只是根據教育經驗總結了一些學習觀點和方法,希望能給現在學習程式設計的朋友一些參考幫助,如果哪位技術高手看到這篇文章有不同的觀點,歡迎理智留言,謝絕無素質的攻擊謾罵。同時如果您覺得文章不錯,歡迎轉載。也歡迎您訪問旺旺老師個人網站:www.easyitedu.com (簡單it學習網,學習it變簡單),那裡有旺旺老師的教學視訊與電子教程下載。