本書結合大量具體實例介紹了面向對象的程序設計和Java基礎。本書所介紹的Java語言的基礎內容包括:運算符、表達式、語句,以及帶有類和對象的面向對象程序設計、繼承和動態(tài)方法等。本書還包含對面向對象分析和設計方法應用OOP的概念,并且示范了在集合中組織數(shù)據和應用Java的內置數(shù)學函數(shù)。此外,附錄A中提供了與每章末尾習題相應的答案,以幫助讀者很好地理解該章內容。通過這種方法,讀者可以學習數(shù)百個說明每個概念使用方法的生動實例。本書語言簡明通俗、內容生動翔實,可作為Java開發(fā)人員和非開發(fā)人員的參考書。譯者序Java語言最初是Sun公司為智能家電開發(fā)而設計的語言,由于它具有很強的可移植性、安全性和網絡功能,在Internet發(fā)展和Web普及的信息時代,成為互聯(lián)網應用程序開發(fā)的主流語言。許多著名的計算機公司紛紛花巨資購買Java的使用權,在全世界掀起了Java的學習熱潮。本書全面、系統(tǒng)地介紹了如何使用Sun公司的標準版的SDK1.4來開發(fā)Java2應用程序。作者使用設計精巧的實例,形象生動地說明了每個概念的使用方法。使初學者能夠很快地掌握相關的概念,即使是有經驗的程序員也可以從新的角度來認識這些概念。本書的作者JeffFriesen對Java技術非常著迷,擔任了ITworld.com的Java初學者論壇的主持人,編寫了大量有關Java的技術文章和書籍。本書是作者豐富實踐經驗的總結。作為譯者,我們很高興能將本書翻譯給國內的廣大讀者。參加翻譯工作的人員有鐘萍、張玉峰、吳志英、馬云、王煥剛、李穎、房芳、韓云萍、戴云、趙良葉等,全書由葉喜濤審校。在此感謝所有幫助我們的人。由于時間倉促和譯者水平有限,書中不妥之處,敬請讀者批評指正。作者簡介JeffFriesen對Java技術非常著迷,這點可以從他選擇JavaJeff作為別名看出來。除本書之外,他還與人合作編寫了“SpecialEditionUsingJava2StandardEdition”,并且為JavaWorld和InformIT.com撰寫了大量有關Java的文章[前者包括從國際化、Java插件程序到Java的未來發(fā)展趨勢等內容,后者內容包括從創(chuàng)建自己的媒體播放器到分析Swing的表部件(Swing’stablecomponent)]。他目前正在負責JavaWorld的Java101專欄,該專欄為初學者提供了客戶端的Java課程。過去Jeff曾經給綜合大學的學生講授過Java緒論課程,并且擔任ITworld.com的Java初學者論壇的主持人,在那里他解答過1000多個有關客戶端的Java問題。Jeff具有計算機科學學位,并且開發(fā)了C和C++開發(fā)軟件。要想了解Jeff正在做什么,請訪問其網站(www.javajeff.com)。告訴我們你的想法作為讀者,你是我們最重要的批評者和宣傳者。我們非常重視你的意見,并且想知道我們哪些方面做得好,哪些方面還可以做得更好,你需要我們哪個領域的出版物以及其他想告訴我們的話。作為Que公司的合作發(fā)行人,我非常歡迎你的建議。你可以通過傳真、電子郵件或者直接寫信給我,使我了解你是否喜歡這本書,以及我們如何能把它做得更優(yōu)秀。請注意,我不能幫助你解決與本書有關的技術問題,并且由于我會收到大量的信件,所以不可能一一回復。在給我們寫信時,請務必注明本書的書名、作者和你的名字及電話或者傳真機號。我將仔細考慮你的意見,并與本書的作者和編輯一同處理它們。傳真:317-581-5831E-mail:feedback@quepublishing.com通信地址:DeanMillerQue201West103rdStreetIndianapolis,IN46290USA前言“用實例學編程”系列“用實例學編程”系列怎樣將你變成更出色的程序開發(fā)人員?“用實例學編程”系列用盡可能好的方法講解軟件開法技術。在引入一個概念之后,你會看到一個或多個使用這個概念的實例。正文作為指導者,形象地提醒你所學概念要注意的地方,并且說明新的使用方法。實例的數(shù)量很大;在講解新材料的時候,你會看到一個接一個用來說明如何使用新學概念的實例。本系列的原則很簡單,即講解軟件開發(fā)技術最好的方法是通過實例。向初學者講解一門編程語言,僅僅使用語言特征、語法特征和語言參考(languagereference)還不夠。初學者只有通過閱讀很多實例,其中用到剛學過的新特性,并且實際運行實例程序,才能對這種語言有一種感性的認識。本書的讀者對象本書是針對希望學習Java的開發(fā)人員和非開發(fā)人員編寫的。本書假設讀者具有基本的計算機知識(例如二進制和十六進制),但是要求的知識并不多。為了更好地使用本書,你應該喜歡學習,而且喜歡接受挑戰(zhàn)。使用本書不需要具備其他語言的編程經驗,當然也不需要熟悉Java。但是讀者應該能夠熟練地使用Web瀏覽器瀏覽Internet并下載軟件,因為本書強烈建議讀者下載Sun為讀者所用平臺而提供的Java2標準版SDK的1.4版,本書的例子都是使用1.4版的SDK來編寫和測試的(第1章給出下載和安裝該SDK的說明)。Sun公司的Java2SDK有各種平臺的版本(例如Linux,Windows和Solaris),每個特定平臺的SDK包含用于命令行窗口(例如微軟的MS-DOS命令行窗口)的構造工具。如果你計劃獲得一個Java2SDK(1.4版)的副本,就需要熟悉命令行窗口的操作,需要能夠使用簡單的命令瀏?濫柯?、创建目录、设譀]肪潮淞懇約按用钚性誦諧絳頡4送?,最好熟悉所訍灲台的特殊编辑砌崹例如MS-DOS的EDIT程序)。在安裝好Sun公司Java2SDK的正確版本之后,就可以開始學習Java語言的所有基礎知識了,從基本的數(shù)據類型、表達式、語句到類、對象、異常處理和線程。除了這些核心的Java概念之外,還將學習如何使用幾個有用的應用程序編程界面(或簡稱API)。其中的一些概念對新程序員來說可能有些難度,但是在介紹每個概念的時候,會看到十多個實例。我們特意對這些介紹性的話題進行了強調,目的是確保讀完本書的時候,讀者完全可以像專業(yè)人員一樣開發(fā)Java應用程序。本書的組織結構本書分為15章、4個附錄和1個術語表。全書從前言開始,后面緊接著10章論述Java語言,最后用4章講解各種重要的API。附錄給出了每章末尾所有復習題、練習題和實踐題的答案,方便查找的保留字和運算符的優(yōu)先次序,以及獲得其他資源的信息。最后的術語表給出了書中一些重要術語的定義。如何組織本書是一個細致的問題,作者選擇一種有組織的結構,先引入比較簡單的概念,以后的章節(jié)基于這些概念進一步深入。這個組織方法可以幫助讀者先熟悉簡單的事情,然后再深入到更復雜的事情中去。本書的使用約定本書的幾種約定幫助你更快地找到各種信息和語言的語法。另外,本書包含作者的寫作風格,遵循Sun公司官方的語言規(guī)范——Java語言規(guī)范。實例圖標在本書的每個實例左邊顯示這個圖標。在一些實例中,需要顯示實例的輸出結果,這時該圖標顯示在輸出結果的左邊。說明、提示和注意說明:通過提供其他或者相關的概念來擴充每一章。提示:給出捷徑和公有問題的解決方法。注意:提醒讀者注意在Java使用不當時將出現(xiàn)的陷阱。語法在學習一種新的編程語言時,理解各種將語言特征組織成有意?宓腦創(chuàng)氳姆椒ê苤匾0湊漳持衷級ń鋟ㄐ問交匭聰呂礎1臼樽裱旅嫻撓鋟ㄔ級ǎ?●語法由文字文本和非文字文本組成。文字文本的說明放在單引號字符之間,并且完全按照其出現(xiàn)的形式輸入(不帶引號字符)。非文字文本通過使用斜體字來說明(這些文本不放在引號字符之中),非文字文本不需要輸入,它們是作為必須提供的文字文本的占位符而使用的。typeIdentifiervariableIdentifier●豎線字符(|)表示在一對可選項之間的選擇。另外,每個選擇用一對圓括號包起來?!穹嚼ㄌ枺╗])表示一個可選項。任何在方括號之中出現(xiàn)的文字文本或者非文字文本都是可選的。你可以提供這些文本,也可以不提供它們。typeIdentifiervariableIdentifier[=expression]●省略號(...)表示一組用逗號隔開的相似特性或可選的外部代碼。throwsexceptionIdentifier1exceptionIdentifier2類型、運算符和語句每個作者都有自己的寫作風格,我也不例外。例如在講解基本類型(primitivetype)時,我寫成浮點(floating-point)基本類型,而不是float基本類型。這樣做是為了方便區(qū)分浮點基本類型及其在源代碼中的表示,因為在源代碼中是通過float關鍵字來表示浮點數(shù)的。但是在講到引用類型的String,Employee,F(xiàn)ileInputStream等類型時,我使用了類或者接口(interface)的名字,而不是字符串,雇員或者文件輸入流引用類型。而且在提及關系類型檢查運算符時,instanceof表示如何在源代碼中引用這個運算符。最后在談到While循環(huán)語句時,不寫成while循環(huán)語句,因為While表示語句的概念,而while是在源代碼中表示該語句的關鍵字(其他語句也存在同樣的情況)。雖然我努力遵循這些約定,但還有可能因為疏忽而出現(xiàn)例外。如果你遇到這樣的情況,要明白我的目的是區(qū)分語言概念及其在源代碼中的表示方法。Java語言規(guī)范Sun公司的Java語言規(guī)范(JavaLanguageSpecification,JLS)提供了最新的Java語言的關鍵字,這個規(guī)范可以從下面的網站下載:http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html。每次修改都是為了確保本書的內容與JLS一致。到哪里獲取本書的源代碼本書提供了豐富的源代碼——源代碼非常多以至于手工