Java語言是一種新型的網絡編程語言,其卓越的功能和特性為無數開發人員所推崇,越來越多的應用開發采用了基于Java技術的解決方案。Java語言也是一種真正面向對象的編程語言,它提升了應用程序的編程概念和開發思維。Java語言提供了豐富的開發類庫,為用戶編程提供了極大的支持和方便。
目前最新的Java標準開發環境是J2SE 7.0,它在1.4版本的基礎上增加了自動裝箱和拆箱、泛型編程、枚舉類型、可變長參數、靜態導入等功能,使編寫程序更加方便;強化了1.4版本中的線程編程,可以很方便地進行多線程編程。
為了幫助更多的Java開發人員提高開發技巧,掌握最新的Java特性,筆者精心編著了本書。本書以實例為主,Java的基本理論部分介紹相對較少,編程技巧和方法介紹很多,讀者在閱讀完本書后可以提高自身的編程技巧,并掌握J2SE 7.0的新特性。
本書在內容編排和目錄組織上都十分講究,爭取讓讀者能夠快速掌握實例的實現方法。統一按照實例功能來為章節命名,讓讀者明確知道每一節將實現什么實例。具體講解實例時,分為4個步驟,首先介紹實例的功能,然后介紹實現實例時的關鍵技術點,接著介紹實例的實現代碼和運行效果,最后對程序的關鍵部分進行解讀。本書的代碼具備良好的編程風格和詳盡的注釋,使讀者很容易理解程序代碼,并養成良好的編程風格。
本書特色
1.實例經典,內容豐富
本書實例豐富,共有19章169個實例,每個實例都緊貼實際應用,如用Servlet生成圖形驗證碼,具有很強的示范性和實用價值,讀者可以直接使用書中的實例解決實際問題。
2.側重編程技巧
本書所有的實例在Java的基本理論方面介紹不多,重點是講述常用、實用的編程技術。采用了多種設計模式,如Singleton、Adapter、MVC等模式,同時在實例中強調應避免的不良編程習慣。
3.以J2SE 7.0為開發環境
目前介紹J2SE 7.0新特性的書籍很少,很多開發人員對這些新特性不了解,在實際的項目開發中也很少使用這些新特性。本書用一章專門介紹J2SE 7.0的新特性,精心準備了19個實例,通過這些實例可以幫助讀者輕松掌握這些新特性的特點,并實際應用于項目開發中。讀者會發現,J2SE 7.0的新特性的確有利于提高開發效率。
4.層次清晰,主次分明
全書分為19個章節,包括Java技術的方方面面,章節之間的先后順序很重要。本書在章節安排上采用了由淺入深的策略:先介紹基本技術,為后面章節打好基礎;再介紹高級技術,并在實例中使用前面章節中介紹的技術,起到鞏固的作用。
在講解實例時,首先介紹實例的目標,讓讀者了解該實例要做什么,在腦海中形成一個實現思路;然后介紹實例中使用的關鍵技術點,幫助讀者解決實現思路中的問題;最后對代碼的關鍵部分進行解讀,幫助讀者掌握關鍵技術點。
5.編程風格良好,注釋詳細
每個實例的程序都是經過精心設計的,在實現實例功能的同時,注重程序運行的效率。程序代碼具備良好的編程風格,結構清晰,注釋非常詳細,能幫助讀者輕松地掌握實例的實現過程。
學習Java的心得體會
1.熟練掌握Java的基本語法
如果讀者會C編程,那么學習Java將會非常容易,學習基本語法時,重點理解各關鍵字的功能與用法,以及功能相似的關鍵字之間的區別,如continue和break。
2.理解Java面向對象的相關概念
面向對象是當今最成熟的程序設計方法,它有3個非常重要的特性:繼承、封裝和多態。Java是一種面向對象的程序設計語言,在Java中,一切都是對象,體現了面向對象的封裝性;Java類之間允許單重繼承,體現了繼承性;多態性主要體現在允許定義接口類、抽象類,子類能夠覆蓋和隱藏父類的變量和方法,也屬于多態性。讀者要理解面向對象的概念,掌握如何在Java中進行面向對象編程。
3.善于使用JDK自帶的幫助文檔
Java提供了非常豐富的類庫,要想掌握常用類的用法,最好的方法是查閱JDK自帶的幫助文檔,盡量看英文原版的,不要依賴于中文版的幫助文檔或API參考書籍。
4.多動手寫Java程序
學習Java的最終目標就是為了寫程序,解決問題。掌握了Java的基本語法、面向對象的概念,能夠讀懂簡單的例子后,接下來就要親手寫程序。第一步,把書上的例子在本機上運行通過;第二步,敢于修改書上的程序;第三步,合上書本,獨立編寫程序,即使程序的功能與書上的例子一樣。
5.多閱讀開源項目的源代碼
要想具備良好的編程風格,掌握好的編程技術、閱讀優秀的源代碼是一條捷徑。當前很多開源項目的源代碼都值得學習(如Apache組織的項目,以及JDK的源代碼)。在閱讀源代碼時,要注意兩點:第一,學習項目的整體框架,結合項目文檔,一步步地調試程序是最常用的手段;第二,學習代碼中的技巧、算法,這是一個積累的過程。
6.理解Java虛擬機的運行機理
Java之所以能夠跨平臺,主要是因為存在Java虛擬機。Java虛擬機運行在操作系統中,不同操作系統下的Java虛擬機不同。將Java類編譯成字節碼,在Java虛擬機中運行字節碼,使Java程序獨立于操作系統,具備跨平臺的能力。為了更好地理解Java程序的運行機理,編寫出更優秀、更高效的程序,讀者需要理解Java虛擬機的類加載機制和垃圾回收機制等。
本書包括的內容
第1章介紹Java基礎知識,實例包括:Java的基本數據類型、Java的各種運算符、Java程序的流程控制,以及如何在Java程序中使用命令行參數。
第2章介紹如何用Java進行面向對象的程序設計,實例包括:類的設計、對象的克隆、類的繼承、抽象類、變量和方法的覆蓋與隱藏、Java的參數傳遞、類的加載順序、接口的設計,以及程序設計中常用的設計模式,如單例模式、工廠模式和適配器模式。
第3章介紹Java中的數字,實例包括:數字的封裝類、數字的舍入、格式化數字、數字進制的轉換、生成隨機數,以及大數字的處理。
第4章介紹Java中的數組和集合,實例包括:使用Arrays類操作數組、利用數組求質數、動態調整數組的大小、利用二維數組實現矩陣、Java中各種List實現類的區別、結合Random和List實現一個不重復的隨機數序列、利用LinkedList實現一個先進先出的隊列、對List中的元素進行排序、Java中各種Set實現類的區別、集合與數組的相互轉化、Java中各種Map實現類的區別、對Map中的元素進行排序,以及常用于解析配置文件的Properties類。
第5章介紹Java的字符串操作,實例包括:判斷一個字符串是否是合法的Java標識符、18位身份證號碼格式的驗證、實現一個簡單的表達式解析器、對密碼進行加密和驗證、制作命令行程序,以及使用正則表達式驗證電話號碼的格式。
第6章介紹Java的異常處理,實例包括:用于聲明和拋出異常的throws和throw語句的用法、用于捕獲處理異常的try、catch和finally語句的用法、自定義異常類,以及使用異常的幾個原則。
第7章介紹Java的輸入輸出流,重點介紹文件輸入輸出流的處理,實例包括:獲取文件的描述信息、操作文件和目錄、讀寫文件、搜索文件、序列化和反序列化對象、壓縮和解壓縮文件、處理Excel和PDF文件,以及一個自定義的寫日志文件的類。
第8章介紹Java的線程,實例包括:線程的定義、線程的啟動與停止、線程的同步、線程join、線程的優先級、守護線程、線程的死鎖、定時器、用線程實現生產者和消費者例子,以及一個簡單的線程池。
第9章介紹利用Java的AWT和Swing工具包生成圖形用戶界面(GUI),實例包括:實現圖形日歷、開窗戶小游戲、標準型計算器、更改組件的外觀、自定義對話框、制作程序的歡迎畫面、一個簡單的文本編輯器,以及Swing控件的Drag和Drop。
第10章介紹Java的圖形處理,實例包括:實現一個圓形按鈕、捕捉屏幕、縮放圖片、畫2D和3D圖形,以及實現一個圓形的時鐘。
第11章介紹用Java處理多媒體,包括動畫、音頻和視頻的處理。實例包括:滾動的消息、三維彈球和貪吃蛇游戲、3種播放音頻的方法,以及實現一個媒體播放器。
第12章介紹Java的反射機制,實例包括:使用instanceof操作符判斷對象的類型、通過類名查看類的各種信息(如類聲明的屬性、構造方法、公有方法等),以及動態調用類的方法。
第13章介紹Java的網絡編程,實例包括:從URL中提取信息、Web瀏覽器、獲取IP地址和域名、訪問HTTP服務器的客戶端、實現HTTP服務器、基本的Socket編程、一個支持多線程的服務器框架、基于服務器框架的代理服務、訪問Telnet服務的客戶端、UDP編程、聊天室服務器和客戶端,以及訪問FTP站點的客戶端。
第14章介紹Java的數據庫編程,實例包括:連接各種數據庫、獲得數據庫和數據表的元數據、查詢和更新數據庫、SQL語句的批處理、事務的提交和回滾、使用PreparedStatement執行SQL語句、讀寫二進制數據到數據庫、讀寫Blob數據到數據庫、使用ResultSet更新數據庫、使用RowSet操作數據庫、調用存儲過程,以及實現一個數據庫連接池。
第15章介紹Applet編程,實例包括:實現一個Applet時鐘、在Applet中處理鍵盤和鼠標事件、英文打字游戲、兩個Applet間的通信,以及用Applet實現一個漢諾塔的游戲。
第16章介紹用Java 操作XML文檔,實例包括:用DOM處理XML文檔、用SAX處理XML文檔、用XSLT轉換XML,以及XML文檔與對象之間的相互轉換。
第17章介紹用Java收發郵件,實例包括:用SMTP協議發送簡單郵件、發送帶附件的郵件、發送郵件給多人,以及用POP3協議接收郵件。
第18章介紹JSP(Java Server Page)和Servlet技術,實例包括:獲取訪問JSP頁面的客戶端的真實IP地址、在JSP中讀取和設置Cookie、無刷新的JSP聊天室、在JSP中上傳文件、用Servlet生成圖形驗證碼,以及用Servlet實現分頁查看數據庫。
第19章介紹J2SE 7.0版本對Java語法更新的關鍵技術點,實例包括:Switch處理字符串變量,用二進制形式表示整數,Catch可以捕獲多個異常,JDK可以自動關閉相關資源,以及新版本JDBC的功能演示。
適合閱讀本書的讀者
本書由韓雪、郭天嬌編寫,其中河北工業大學廊坊分校的韓雪老師負責編寫第1~10章,吉林工程技術師范學院的郭天嬌老師負責編寫第11~19章,本書具有知識全面、實例精彩、指導性強的特點,力求以全面的知識性及豐富的實例來指導讀者透徹學習Java各方面的技術。本書可以幫助Java初級、中級開發人員提高開發技能,掌握J2SE 7.0的新特性,書中的實例對高級開發人員也有一定的啟發意義。