- Java從入門到精通(第2版)
- 龍馬高新教育策劃 魔樂科技(MLDN)軟件實訓中心編著 張玉宏主編
- 882字
- 2019-01-02 04:58:30
前言
“從入門到精通”系列是專為初學者量身打造的一套編程學習用書,由知名計算機圖書策劃機構“龍馬高新教育”精心策劃而成。
本書主要面向Java 初學者和愛好者,旨在幫助讀者掌握Java基礎知識、了解開發技巧并積累一定的項目實戰經驗。當讀者系統地學習完本書內容之后,就可以驕傲地宣布—“我是一名真正的Java程序員了!”。
為什么要寫這樣一本書
荀子曰:不聞不若聞之,聞之不若見之,見之不若知之,知之不若行之。
實踐對于學習的重要性由此可見一斑。縱觀當前編程圖書市場,理論知識與實踐經驗的脫節,是很多Java 圖書的寫照。為了杜絕這一現象,本書立足于實戰,從項目開發的實際需求入手,將理論知識與實際應用相結合。目標就是讓初學者能夠快速成長為初級程序員,并擁有一定的項目開發經驗,從而在職場中擁有一個高起點。
Java的最佳學習路線
本書總結了作者多年的教學實踐經驗,為讀者設計了最佳的學習路線。

本書特色
? 零基礎、入門級的講解
無論讀者是否從事計算機相關行業,是否接觸過Java,是否使用Java開發過項目,都能從本書中找到最佳起點。
? 超多、實用、專業的范例和項目
本書結合實際工作中的范例,逐一講解Java的各種知識和技術。最后,還以實際開發項目來總結本書所學內容,幫助讀者在實戰中掌握知識,輕松擁有項目經驗。
? 隨時檢測自己的學習成果
每章首頁羅列了“本章要點”,以便讀者明確學習方向。每章最后的“實戰練習”則根據所在章的知識點精心設計而成,讀者可以隨時自我檢測,鞏固所學知識。
? 細致入微、貼心提示
本書在講解過程中使用了“提示”、“注意”、 “技巧”等小欄目,幫助讀者在學習過程中更清楚地理解基本概念、掌握相關操作,并輕松獲取實戰技巧。
超值光盤
? 45小時全程同步教學錄像
涵蓋本書所有知識點,詳細講解每個范例及項目的開發過程及關鍵點。幫助讀者更輕松地掌握書中所有的Java程序設計知識。
? 超多王牌資源大放送
贈送大量超值資源,包括48小時Java項目實戰教學錄像 、 14小時Oracle項目實戰教學錄像、857頁Java SE類庫查詢手冊、Eclipse常用快捷鍵說明文檔、Eclipse提示與技巧電子書、50個Java常見面試題及解析電子書、21個Java常見錯誤及解決方案電子書、25個Java高效編程技巧、Java程序員職業規劃、Java程序員面試技巧等。
讀者對象
? 沒有任何Java基礎的初學者
? 有一定的Java基礎,想精通Java 的人員
? 有一定的Java 基礎,缺乏Java 實戰經驗的人員
? 大專院校及培訓學校的老師和學生
光盤使用說明
01. 光盤運行后首先播放片頭動畫,之后進入光盤的主界面。其中包括【課堂再現】、【Java和Oracle項目實戰教學錄像】、【Java培訓】三個學習通道,和【范例源碼】、【實戰練習答案】、【贈送資源】、【幫助文件】、【退出光盤】五個功能按鈕。

02. 單擊【課堂再現】按鈕,進入多媒體同步教學錄像界面。在左側的章號按鈕上單擊鼠標左鍵,在彈出的快捷菜單上單擊要播放的節名,即可開始播放相應的教學錄像。

03. 單擊【Java和Oracle項目實戰教學錄像】按鈕,打開教學錄像文件夾,在其子文件夾中選擇要播放的視頻文件,即可播放錄像。

04.單擊【范例源碼】按鈕,可打開本書范例源碼文件夾。
05. 單擊【實戰練習答案】按鈕,可在打開的文件夾中看到實戰練習答案。
06. 單擊【贈送資源】按鈕可以查看隨本書贈送的資源。
07. 單擊【幫助文件】按鈕,可以打開“光盤使用說明.pdf”文檔,該說明文檔詳細介紹了光盤在電腦上的運行環境及運行方法等。
08. 單擊【退出光盤】按鈕,即可退出本光盤系統。
網站支持
更多學習資料,請訪問www.51pcbook.cn。
創作團隊
本書由龍馬高新教育策劃,河南工業大學張玉宏博士任主編(負責第0~12章及第19~20章),王云俠老師(負責第13~18章)、國家開放大學郝智紅博士(負責第21~24章)和魏蔚博士(負責第25~29章)任副主編,參加資料整理的人員有王凱旋、蔡耀、李冰凱、李瑜、高澤民、宋文舉、靳浩東、梁成浩、孔萬里、李震、趙源源、喬娜、周奎奎、王果、陳小杰、左琨、鄧艷麗、崔姝怡、侯蕾、左花蘋、劉錦源、普寧、王常吉、師鳴若、鐘宏偉、陳川、劉子威、徐永俊、朱濤和張允等。
在編寫過程中,我們竭盡所能地將最準確的Java理解和感悟呈現給讀者,但也難免有疏漏和不妥之處,敬請不吝指正。若您在學習過程中遇到困難或疑問,或有任何建議,可發送電子郵件至zhangyi@ptpress.com.cn。
編者
第0章Java 學習指南
本章視頻教學錄像:1 小時30 分鐘
Java語言是一門優秀的編程語言,它的優點是與平臺無關,可以實現“一次編寫,到處運行”。Java是一門面向對象的計算機語言,它簡潔高效,具有高度的可移植性。本章介紹Java的來源、基本思想、技術體系、應用領域和前景以及學習Java的技術路線。
本章要點(已掌握的在方框中打鉤)
□ 了解Java的來源
□ 了解Java 的基本思想
□ 了解Java 的技術體系、應用前景
0.1 Java的來源
Java源自Sun公司的一個叫Green的項目,其原先的目的是為家用電子消費產品開發一個分布式代碼系統,這樣就可以將通信和控制信息發給電冰箱、電視機、烤面包機等家用電器,對它們進行控制和信息交流。最初Green項目的工程師們準備采用C++,但C++比較復雜,最后經過裁剪、優化和創新,1990年,由Sun公司的James Gosling(詹姆斯·高斯林)領導的小組基于C++開發了一種與平臺無關的新語言Oak(Java的前身)。Oak的取名緣于Gosling辦公室外有一棵枝繁葉茂的橡樹,這在硅谷是一種很常見的樹。
Oak主要用于為各種家用電器編寫程序,Sun公司曾以Oak語言投標一個交互式電視項目,但結果被SGI(硅圖公司——1982年成立于美國)打敗。由于這些智能化家電的市場需求沒有預期的高, Sun公司放棄了該項計劃,Oak幾乎面臨夭折,恰巧這時Mark Ardreesen(美國軟件工程師,曾創辦網景通訊公司)開發的Mosaic瀏覽器(互聯網歷史上第一個獲普遍使用且能夠顯示圖片的網頁瀏覽器)和Netscape瀏覽器(網頁瀏覽器——市占率曾位居主導地位)啟發了Oak項目組成員,讓他們看見了Oak在互聯網上應用的前景,于是他們改造了Oak。

Java主要設計者JamesGosling

Java標志

Java吉祥物Duke
1995年1月,Oak被改名為Java,這是因為Oak是一家顯卡制造商已注冊的商標。Oak若想發展壯大,法律層面上的改名勢在必行。Java是印度尼西亞“爪哇(注:Java的音譯)”島的英文名稱,該島因盛產咖啡而聞名。這就是Java的官方商標是一杯濃郁的咖啡的原因。Sun隨后開發了HotJava瀏覽器,得到了Sun公司時任首席執行官Scott McNealy的支持,觸發了Java進軍Internet。
Java技術是由美國Sun公司倡導和推出的,它包括Java語言和Java Media APIs、Security APIs、Management APIs、Java Applet、Java RMI、JavaBean、JavaOS、Java Servlet、JavaServer Page以及JDBC等。Java技術的發展重要歷程簡述如下(右圖所示的是Java語言的吉祥物Duke)。
1996年2月,Sun公司發布Java芯片系列,包括PicoJava、MicroJava和UltraJava,并推出Java數據庫連接范式JDBC(Java DataDase Connectivity),并給出對應的API(應用程序接口)。
1996年4月,Microsoft公司、SCO公司、Apple公司(蘋果電腦公司)、NE C公司等獲得Java的許可證。Sun公司宣布允許HP、Apple、日立、IBM、Microsoft、Novell、SGI、Tamdem、SCO等多家大型信息公司將Java平臺嵌入到其操作系統中。
1996年5月,Sun公司在舊金山(San Francisco)舉行了第一屆JavaOne世界Java開發者大會。Sun公司在大會上推出諸如CommerceAPIs等一系列Java平臺新技術及新的HotJava開發環境等。
1996年6月,Sun公司發布JSP 1.0,這里的JSP(JavaServer Pages)是由Sun 公司倡導、眾多公司協同參與一起建立的一種動態網頁技術標準。Sun公司同期還推出JDK(Java開發工具包)1.3和Java Web Server 2.0。
提示
由Java源代碼編譯出的二進制文件叫.class文件,如果使用十六進制編輯器(如UltraEdit)打開這個.class文件,你會發現該文件最前面的32位將顯示為CA FE BA BE,連接起來也就是詞組“CAFE BABE ”(咖啡寶貝),如下圖所示。諸如James Gosling等這類編程天才都是在這些不經意的地方“雁過留聲,人過留名”。

文件中的“咖啡寶貝”Java class。
1996年9月,Addison-Wesley和Sun公司推出Java虛擬機規范和Java類庫。
1997年4月,第二屆JavaOne世界大會召開,參與者逾一萬人,創當時全球同類會議規模紀錄。Java已深得業界認可。
1998年12月,Java2企業平臺J2EE發布。
1999年6月,Sun公司針對不同用戶群,發布了Java的三個版本:標準版(J2SE)、企業版(J2EE)和微型版(J2ME)。
2000年9月,Sun公司發布JSP1.2和Java Servlet 2.3 API。
2001年9月,J2EE1.3發布。
2002年2月,J2SE1.4發布,自此Java的計算能力有大幅提升。
2004年9月,J2SE1.5發布,成為Java語言發展史上的又一個里程碑。為了表示該版本的重要性, J2SE1.5更名為Java SE 5.0。
2005年6月,JavaOne大會召開,Sun公司公開Java SE 6。此時,Java的各種版本已經更名,取消了其中的數字“2”:J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME。
2006年12月,Sun公司發布JRE 6.0。
2009年4月,Oracle (甲骨文)公司以總額74億美金收購Sun公司,Java版權歸Oracle公司所有。
2009年12月,Sun公司發布企業版升級版Java EE 6。
2011年7月28日,Oracle公司發布Java SE 7。
0.2 Java的基本思想
在過去,大多數程序在移植到不同的操作系統平臺(如UNIX、Linux和Windows等)上時,程序員通常不得不重新調試與編譯這些程序,有時甚至需要重寫。Java最大的優點就是在設計之初就秉承了“一次編寫,到處運行”思想(Write Once, Run Everywhere,簡稱WORE,有時也寫成“Write Once, Run Anywhere”,簡稱WORA),它是Sun 公司為宣傳Java語言的跨平臺特性而提出的口號。
Java的跨平臺性是指在一種平臺下用Java語言編寫的程序可以在編譯后不用經過任何更改,就能在其他平臺上運行。比如,一個在Windows下開發出來的程序,在運行時可以無縫地部署到Linux、UNIX或Mac OS(蘋果操作系統)環境之下。反之亦然,在Linux下開發的Java程序,同樣可在Windows等其他平臺上運行。Java是如何實現跨平臺性的呢?我們可用下面的圖來比擬說明。

比如說,中國人(一個平臺)說的一句問候的話語:“你好,世界!”,美國人、法國人、德國人及日本人(其他平臺)都能理解中國人的“問候”。之所以能這樣,這得益于英文、法語、德語及日語翻譯們的翻譯。Java語言聰明之處在于,它用一個名為Java虛擬機(JVM—Java Virtual Machine)的機制屏蔽了這些“翻譯”的細節。各國人盡管盡情地表達(編寫Java代碼),JVM在背后默默地幫他們干了“翻譯溝通”的活。正是因為有JVM的存在,Java程序員才可以做到“一次編寫,到處運行”——這正是Java的靈魂所在。JVM的思想將在1.6節給予更為詳細的說明。
0.3 Java的技術體系
僅從傳統意義上來看, Java技術體系包括以下幾個組成部分:
●Java編程語言
●class文件格式
●Java API類庫
●開源社區及商業機構的第三方Java類庫
●各種平臺上的Java虛擬機
什么是JDK?什么又是JRE?兩者有什么區別與聯系?
JDK:我們把Java編程語言、Java API類庫和Java虛擬機這三部分統稱為JDK(Java Development Kit,Java 開發工具包)(注:JDK包括JRE,Java基本類庫,Java開發工具,如編輯器,調試器等)。JDK是用于支持Java程序開發的最小環境。有時為了方便起見,會以JDK來代替整個Java技術體系。
JRE: 我們把Java API類庫中的Java SE API子集和Java虛擬機這兩部分統稱為JRE(Java Runtime Environment,Java運行時環境),JRE是支持Java程序運行的標準環境。
二者區別與聯系:在Java技術體系上, JDK范圍涵蓋JRE,JRE是JDK的子集。如果僅僅是運行Java程序,用戶計算機只需配置JRE環境;如果用戶還想自己開發Java程序,則需要用戶安裝配置JDK環境。
按照Java技術關注的重點業務領域來劃分,Java技術體系可以分為4個平臺,如下圖所示。

⑴ Java SE(Standard Edition,標準版):支持面向桌面級應用(如Windows下的應用程序)的Java平臺,提供了完整的Java核心API,這個版本2005年以前稱為J2SE。
⑵ Java EE(Enterprise Edition,企業版):以Java SE為基礎,往外延伸,增加了許多支持企業內部使用的擴充類,支持使用多層架構的企業應用(如ERP—企業資源計劃系統、CRM—客戶關系管理系統的應用)的Java平臺,除了提供Java SE API外,還對其做了大量的擴充并提供了相關的部署支持。這個版本2005年以前稱為J2EE。
⑶ Java ME(Micro Edition,微型版):Java ME同樣以Java SE為基礎,但向內精簡。它所支持的只有核心類的子集合,它支持Java程序運行在移動終端(手機、PDA—掌上電腦)上的平臺,加入了針對移動終端的支持。這個版本2005年以前稱為J2ME。Java的微型版主要是進行嵌入式開發,目前漸漸被Android開發所替代。
⑷ Java Card(智能卡版):由于服務對象定位更加明確化,Java Card版本比Java ME(微型版)更加精簡。它支持一些Java小程序(Applets)運行在小內存設備(如容量小于64K的智能卡)的平臺上。
但是,不管Java的技術平臺如何劃分,都是以Java SE為核心的,所以掌握Java SE最為重要,這也是本書的主要講解范圍。如果要想進行Java EE的開發,Java SE是其中必要的組成部分,這也就是為什么在學習Java EE之前要讀者一定要有扎實的Java SE基礎了。
0.4 Java無處不在
Java作為Sun公司推出的新一代面向對象程序設計語言,特別適于互聯網應用程序的開發,但它的平臺無關性直接威脅到了Wintel(即微軟的Windows操作系統與Intel CPU所組成的個人計算機)的壟斷地位,這表現在以下幾個方面。
信息產業的許多國際大公司購買了Java許可證,包括IBM、Apple、DEC、Adobe、SiliconGraphics、HP、TOSHIBA以及Microsoft等。這一點說明,Java已得到了業界的高度認可。
眾多的軟件開發商開始支持Java軟件產品。例如Inprise公司的JBuilder、Oracle公司自己維護的Java開發環境JDK與JRE。
Intranet正在成為企業信息系統最佳的解決方案,而其中Java將發揮不可替代的作用。Intranet的目的是將Internet用于企業內部的信息類型,它的優點是便宜、易于使用和管理。用戶不管使用何種類型的機器和操作系統,界面是統一的Internet瀏覽器,而數據庫、Web頁面、Applet、 Servlet、JSP等則存儲在Web服務器上,無論是開發人員還是管理人員,還是普通用戶都可以受益于該解決方案。
雖然Sun公司被收購了,但Java作為Sun公司的優質資產被母公司Oracle公司高度重視,因此仍然得以繼續“茁壯成長”。根據TIOBE公布的2015年1月份編程語言前10名排行榜(如下表所示), Java與C和Objective-C,名列前三甲。雖然不同的月份,前10名的地位可能有互換,但Java在整個編程領域的前三甲的地位基本是不動搖的。這從側面可以反映,Java的無處不在,其應用領域和前景非常廣闊。

從桌面辦公到網絡數據庫,從PC機到嵌入式移動平臺,從Java小應用程序(Applet)到架構龐大的J2EE企業級解決方案,處處都有Java的身影,就連美國大型太空(NASA)項目當中,也使用了Java來開發控制系統和相關軟件。
Java技術的開放性、安全性和龐大的社會生態鏈以及其跨平臺性,使得Java技術成為智能手機軟件平臺的事實性標準。在未來發展方向上,Java在Web、移動設備以及云計算等方面的應用前景也非常廣闊。雖然面對來自網絡的類似于Ruby on Rails這樣編程平臺的挑戰,但Java依然還是事實上的企業Web開發標準。隨著云計算(Cloud Computing)以及移動領域的擴張,更多的企業考慮將其應用部署在Java平臺上,那么無論是本地主機,還是公共云,Java都是目前最合適的選擇。
Java是目前世界上最流行的編程語言之一,而且也成為了事實上的應用層的開發標準,在很多的開發之中,都會把Java作為一些底層代碼的操作功能的調用工具,如目前面向手機的Android開發。Java應用領域之廣,也勢必促使Java開發者的就業市場呈現欣欣向榮的發展態勢。
學習Java不僅是學習一門計算機語言,更多的是學習一種思想,一種開發模式。對于從事軟件行業的工作人員,掌握了Java語言,可以讓自己日后的事業發展得更加順利。Java語言由于學習相對完整,Java開發人員可以輕松轉入到手機開發、.NET、PHP等語言的開發上,以后也可以更快的跨入到項目經理的行列之中。
目前,Java人才的需求量旺盛,根據IDC(International Data Corporation,國際數據公司)的統計數字,在所有軟件開發類人才的需求中,對Java工程師的需求達倒全部需求量的60%~70%。同時,企業提供的薪水也不菲,通常來說,具有3年以上開發經驗的工程師,年薪10萬元以上是一個很正常的一個薪酬水平。但IT企業卻很難招聘到合格的Java人才。所以讀者朋友如果想讓自己成為合格的受企業歡迎的Java程序員,需要做好自己的職業發展規劃。
首先,要定位自己的目標,然后在有的放矢地進行自我提升。對于Java工程師來說,大致可以從三個大方向來規劃自己的職業藍圖。
(一) 繼續走技術工作之路。從技術發展方向來看,Java工程師則可以由最初的初級軟件工程師即程序員逐漸晉升至中級軟件工程師(高級程序員)、高級軟件工程師及架構師等。走這條路,依然可進入電信、銀行、保險專業軟件開發公司等從事軟件設計和開發工作。在信息時代,越來越多的公司重視信息化,而信息化落實起來離不開軟件開發,而軟件開發中Java當屬挑大梁者。如果選擇這個方法,程序員要腳踏實地,一步一個腳印地練好Java的基本功。對于初(中)級程序員來說首先掌握Java的基本語法(如類與對象、構造方法、引用傳遞、內部類、異常、包、Java常用類庫、Java IO及Java類集等)。當然,如果讀者定位高級程序員以上的目標,那么目標的實現主要依賴三點:一是前期扎實的Java基礎,二是后期對軟件開發持續性熱愛,三是靠程序員個人的領悟。
(二)定位成為技術類管理人員,如產品研發經理、技術經理、項目經理及技術總監職位等。如果選擇管理方向,首先要有一定的“基層“經驗,至少要有幾年的Java開發經驗。否則,即使偶然因素讓你“擢升‘至’管理層”,那么也會因為“外行指導內行”而飽受詬病,所以如果定位管理人員,那么成功的第一步就是至少成為一名中級以上的Java程序員,前面所言的Java基礎也是需要掌握的。想成為技術類管理人員,還要深諳Java設計模式及軟件工程的思想,從而能把控軟件開發的全局。一個好的技術類管理人員,不僅要自身具有很強的技術管理能力,同時,也要有很強的技術體系建設和團隊管理的能力,對自己所處的行業技術發展趨勢和管理現狀具有準確的判斷。統籌全局、集各個層次的技術人員之合力,高質量完成軟件項目,是成為技術類管理人員的挑戰。
(三)在其他領域成就大業。Java軟件開發發展前景好,運用范圍也廣,具備Java基礎的工程師,還可以嘗試著在其他領域成就一番大業。例如,Java工程師可以從事JSP網站開發、移動領域應用開發、電子商務開發等工作。如果從事WEB開發,那么在此之前一定要熟練掌握HTML、JavaScript、XML。在WEB開發中其核心就是進行數據庫的操作,先從JSP(Java Server Pages)學習,并可以使用JSP + JDBC(Java Data Base Connectivity,Java數據庫連接)或者是JSP + ADO(ActiveX Data Objects)完成操作。JSP技術是以Java語言作為腳本語言的。之后再學習MVC設計模式(Model View Controller),它是指軟件工程中的一種軟件架構模式,把軟件系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。如果掌握了MVC設計,讀者也就可以輕松地掌握AJAX(Asynchronous JavaScript and XML)和Struts技術。AJAX 是在不重新加載整個頁面的情況下與服務器交換數據并更新部分網頁的手段。Struts 是Apache軟件基金會(ASF)贊助的一個開源項目。使用Struts機制可以幫助開發人員減少運用MVC設計模型開發Web應用的時間。
之后,再學習Hibernate和Spring等輕量級實體層開發方法等。Hibernate是一個開放源代碼的Java語言下的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可便利地使用對象編程思維來操縱數據庫。Spring Framework是一個開源的Java/Java EE全功能棧,其應用程序框架內包含了一些基于反射機制寫的包,有了它以后程序員便可以將類的實例化寫到一個配置文件里,由相應的Spring包負責實例化。
以上三條與Java相關的職業發展規劃之路,都以夯實Java基礎為根本。每一條路走到頂層,都需要重視基礎,一步一個腳印,做事由淺入深,由簡入繁,循序漸進。《禮記·中庸》有言:“君子之道,辟如行遠必自邇,辟如登高必自卑”。這句話告訴我們,君子行事,就像走遠路一樣,必定要從近處開始;就像登高山一樣,必定要從低處起步。
練就成為一名Java高手的過程可能需經歷多年的時間。一些讀者擔心,自己可能等不到成為高手那一天,就無力開發Java了。其實,Java相關的開發行業也如陳年美酒,越陳越香。想一想,前面提到Java的核心設計者James Gosling,發髯皆白,卻依然意氣風發,時常給比他年輕很多歲的軟件開發精英們講解Java發展之道,那種指點江山的氣勢,是何等地豪邁!Java軟件開發行業職業壽命很長,能提供給從業人員更廣闊的發展方向。如果想在Java開發相關的領域有所建樹,多一份持久的堅持是必須的。
0.5 Java學習經驗談
Java是一門面向對象編程(Object-oriented programming,簡稱OOP)語言,在學習的過程中一定要多從面向對象的角度去考慮問題。在初級入門階段,讀者要以上機實訓為主,多動手,增強自己對Java代碼的感性認識。感性認識積累多了,再配合書籍學好理論,這才能有高層次的理性認知。
學習任何編程語言,親自動手編程實踐是必不可少的。在閱讀完每一個章節后,盡量將書上的實例代碼和課后習題親自編寫一遍。在編寫代碼的過程中,一定要理清代碼思路,發現問題,解決問題。對復雜的代碼要反復揣摩,直至爛熟于心。
有些源代碼已隨書光盤里配備,有些網站上也提供現成的,但作為初學者,務必不能偷懶,直接復制,拿來就用。雖然親自編寫代碼比較麻煩,也容易出錯,但請記住:糾正這些錯誤正是非常好的學習機會!
從一個Java的初學者,升級為一個編程高手,沒有捷徑。其必經的一個成長路線正如下圖所示:(1)編寫代碼 →(2)犯錯(發現問題)→(3)糾錯(解決問題)→(4)自我提升……積累了一定的感性認識后,才會有質的突變,提升至新的境界。總之,想成為一個高水平的Java程序員,一定要多動手練習,多思考。

閱讀Java書籍也要掌握一定的技巧。建議讀者在閱讀時,快速看完某一章的全部內容,在第一遍閱讀期間,可允許在一定程度上“不求甚解”。當讀者掌握了Java的基礎語法,初步理解了面向對象的編程主要特征后,這時應該重新看書——“溫故而知新”,將書中的面向對象內容從頭到尾再看一遍,進行知識的歸類總結。建議在學習過程中記錄心得和感悟,把自己對某一知識點的理解記錄下來。在書本空白處,甚至可在個人的博客(如在CSDN程序員網站等)里紀錄下自己的感悟,這樣一來可加深自己理解,二來也可服務在此知識點困惑的其他讀者,一舉兩得。
學習要循序漸進。在學習的初期,讀者應從基礎語法學起,不要拘泥于細節,耐得住性子,把書讀完,先將容易理解的部分快速學會,再去研究晦澀的部分。當一個知識點實在搞不明白的時候,可以先把它記下來。先從宏觀上對一個知識點有個整體的把握,然后回過頭來再研究細節。一開始“有所舍棄”,之后“重頭再來”,這會提高你的學習效率,讓你養成一個良好的學習習慣。
在學習Java的過程中,可能會遇到許多的問題,下面推薦一些解決問題的途徑。讀者既可使用搜索引擎也可去專業的問答社區進行提問。搜索引擎,如谷歌 (http://www.google.com.hk/)、必應 (http://cn.bing.com/)及百度(http://www.baidu.com)都是讀者朋友在學習過程中的 “好老師”。如果讀者朋友的英語水平比較好,推薦訪問國外知名網站StackOverFlow(http://stackoverflow.com/),這是一個高質量的問答社區,你在學習Java過程中遇到的問題,基本上其他的學習者也都會遇到,而在這里幾乎都能得到高水平的解決方案。
如果本書已不能滿足讀者朋友的需求,那么恭喜你!很高興你已從Java初學者過渡到高手“晉級者”。你所欠缺的是對面向對象編程思想更加深入的理解,是對面向對象的各種特性及其實現細節更加熟練的掌握。建議讀者閱讀偏重工程實踐的書籍,或者諸如《Thinking in Java(Java編程思想)》等偏重理論認知的書籍。這類書籍通常涉及大量工程經驗,討論的議題也更加理論化,讀者需要有充分的Java實戰經驗才能有所感悟和共鳴,因此并不適合作為初學者的閱讀書籍。
0.6 Java學習路線圖
本書主要是面向初學者或中級水平的讀者的。針對本書,Java學習可以大致分為三個階段。
⑴ 初級階段:學習Java基礎語法和類的創建與使用,基礎I/O(輸入/輸出)操作、各種循環控制、運算符、數組的定義、方法定義格式、方法重載等,并熟練使用一種開發工具,如Eclipse等。
⑵ 中級階段:掌握面向對象的封裝、繼承和多態,學習常用對象和工具類,深入I/O(輸入/輸出)操作,異常處理、Java的包管理機制、集合框架等。
⑶ 高級階段:掌握Java的反射機制、泛型、網絡編程、GUI開發、多線程、高級I/O、數據庫編程、Java Applet等。

對于讀者來說,Java學習的路線在整體上需遵循:初級階段 中級階段 高級階段,循序漸進地學習(如上圖所示),不建議讀者一開始就“越級”學習,需知“欲速則不達”。在這三個階段各自內部的知識點,沒有必然的先后次序,讀者可根據自己的實際情況“有的放矢”地學習。不管處于哪個學習階段,讀者都要重視Java的實戰練習,等學習到高級階段還要用一些項目實訓來提升自己。
“羅馬不是一日建成的(Rome was not built in a day)”,編程高手也不是一日能成就的。《荀子·勸學篇》亦有云:“騏驥一躍,不能十步;駑馬十駕,功在不舍。學習Java的途中沒有捷徑,需要進行不斷地理論學習、反復地實戰練習才能將代碼運用靈活,就好像練習武功一樣,只有重視基本功,并持之以恒,才能讓自己的動作收放自如,招式爐火純青。
各位Java愛好者,想成為Java高手嗎?趕快行動吧!