出版時間:2012-7-1 出版社:清華大學(xué)出版社 作者:(美) 霍爾頓(Horton, I.) 譯者:梁峰
Tag標(biāo)簽:無
前言
歡迎閱讀《Java 7 入門經(jīng)典》,本書通俗易懂,是學(xué)習(xí)Java語言以及Java平臺API的綜合性入門指南。本書提供了在Java JDK 7或更高版本環(huán)境下進行程序開發(fā)的一些基礎(chǔ)知識。 本書除了教授Java知識外,還會介紹與Java程序員有關(guān)的各種主題。本書的組織結(jié)構(gòu)經(jīng)過了仔細(xì)設(shè)計,符合思維邏輯,讓Java編程學(xué)習(xí)的各個階段都環(huán)環(huán)相扣。 本書讀者對象 Java編程應(yīng)用范圍廣泛,而且隨著語言本身以及關(guān)聯(lián)的函數(shù)庫的增長,Java的應(yīng)用領(lǐng)域仍然在不斷擴展。自從發(fā)布以來,Java作為一門面向?qū)ο蟮恼Z言已成為Internet編程、跨平臺應(yīng)用以及教學(xué)中的首選語言。在筆者看來,這其中有三個原因:Java與生俱來的系統(tǒng)無關(guān)的特性、Java語言的簡單性和強大,以及Java作為工具可以有效并輕松實現(xiàn)的編程任務(wù)的廣泛性。對于主要的應(yīng)用程序開發(fā),Java是許多程序員的選擇。與其他語言相比,Java能提供便捷的開發(fā)和維護優(yōu)勢。此外,還有在各種計算機和操作系統(tǒng)中不用修改代碼即可運行的內(nèi)在能力。使用Java可以做到更多、更快、更容易。 本書旨在提供對于Java語言的全面理解以及在一些Java應(yīng)用程序上下文環(huán)境中進行編程的經(jīng)驗,希望讀者能在其中的每個核心領(lǐng)域都打下堅實的基礎(chǔ)。書中介紹的Java各方面知識都通過實際的例子進行解釋和說明,這些例子也可以自己創(chuàng)建并運行,而且也應(yīng)該自己進行試驗。每章末尾的練習(xí)有助于對所學(xué)知識進行嘗試。在理解本書介紹的主題內(nèi)容之后,就能開始編寫有特色而且有效果的Java程序了。 書名中的“入門”更多是指本書的編寫風(fēng)格而不是指讀者的能力水平,所以也可以稱為“直通Java”,這是因為本書的結(jié)構(gòu)設(shè)計合理,不論是已有其他語言編程經(jīng)驗的程序員還是剛?cè)腴T的新手,本書都適合閱讀。 本書假定您至少有一點編程的基礎(chǔ),比如應(yīng)該至少理解程序運行的基本概念。但是在閱讀本書之前并不需要太多的預(yù)備知識。本書講解的進度雖然有些快,但卻覆蓋了對Java運行工作機制的所有必要解釋。
內(nèi)容概要
無論學(xué)習(xí)Java是為了編寫嵌入網(wǎng)頁的定制applet,還是為了編寫大型應(yīng)用程序,《Java7入門經(jīng)典》都十分適合閱讀。《Java7入門經(jīng)典》是關(guān)于Java語言講解最為細(xì)致、全面的入門書籍,介紹了使用最新的Java JDK 7開發(fā)程序所需要的所有基礎(chǔ)知識。書中包含大量的示例,清晰地解釋了涉及的關(guān)鍵概念,演示了Java開發(fā)的復(fù)雜細(xì)節(jié)。在閱讀各個章節(jié)的過程中,您還能獲得無價的編程經(jīng)驗,并逐步開始編寫功能全面的Java程序。Ivor Horton在編寫入門類編程圖書方面獨具心得,著作深受好評。Java SE 7相對之前發(fā)布版本更新了超過30%的語言特性,本書從基礎(chǔ)知識入門,介紹了使用這一最新發(fā)布版本編寫Java程序的方方面面,涵蓋了Java的所有語言新特性,可為讀者打下堅實的基礎(chǔ)。
作者簡介
作者:(美國)Ivor Horton 譯者:梁峰Ivor Horton是Java、C和C++編程語言方面的杰出作者,由他執(zhí)筆的圖書都非常有名,如《Visual C++ 2010入門經(jīng)典(第5版)》、《C語言入門經(jīng)典(第4版)》、《C++入門經(jīng)典(第3版)》等。他編寫的圖書十分適合初學(xué)者學(xué)習(xí),講解細(xì)膩、全面,示例豐富,深受讀者好評。Ivor Horton還是私人實踐方面的系統(tǒng)顧問。
書籍目錄
第1章Java簡介 1.1 Java概覽 1.2 Java語言的特性 1.3學(xué)習(xí)Java 1.3.1 Java程序 1.3.2 Java學(xué)習(xí)路線圖 1.4 Java環(huán)境 1.5 Java中的面向?qū)ο缶幊?1.5.1什么是對象 1.5.2如何定義對象類 1.5.3對象操作 1.5.4 Java程序語句 1.5.5封裝 1.5.6類與數(shù)據(jù)類型 1.5.7類與子類 1.5.8使用對象的優(yōu)勢 1.5.9標(biāo)記 1.5.10泛型類 1.6 Java程序結(jié)構(gòu) 1.6.1 Java的類庫 1.6.2 Java應(yīng)用程序 1.7 Java和Unicode 1.8 小結(jié) 1.9資源 第2章程序、數(shù)據(jù)、變量和計算 2.1數(shù)據(jù)和變量 2.1.1變量的命名 2.1.2變量名與Unicode 2.1.3變量與類型 2.2整數(shù)數(shù)據(jù)類型 2.3浮點數(shù)數(shù)據(jù)類型 2.3.1浮點數(shù)字面量 2.3.2聲明浮點型變量 2.4固定變量的值 2.5算術(shù)運算 2.5.1整數(shù)計算 2.5.2整數(shù)除法和余數(shù) 2.5.3增量與減量運算符 2.5.4短整數(shù)類型的計算 2.5.5整數(shù)算術(shù)中的錯誤 2.5.6浮點計算 2.5.7其他浮點算術(shù)運算符 2.5.8浮點算術(shù)中的錯誤情況 2.5.9混合算術(shù)表達(dá)式 2.5.10顯式轉(zhuǎn)換 2.5.11賦值中的自動類型轉(zhuǎn)換 2.6 op=運算符 2.7數(shù)學(xué)函數(shù)和常量 2.8存儲字符 2.8.1字符轉(zhuǎn)義序列 2.8.2字符算術(shù) 2.9位運算 2.9.1使用AND和OR運算符 2.9.2使用異或運算符 2.9.3位移操作 2.9.4位操作方法 2.10取值范圍為固定整數(shù)值集合自變量 2.11布爾變量 2.12運算符的優(yōu)先級 2.13程序注釋 2.14 小結(jié) 第3章循環(huán)與邏輯 3.1 決策 3.1.1 比較 3.1.2 if語句 3.1.3嵌套的if語句 3.1.4比較枚舉值 3.2邏輯運算符 3.2.1邏輯與操作 3.2.2邏輯或操作 3.2.3異或操作 3.2.4布爾非操作 3.2.5使用標(biāo)準(zhǔn)庫方法測試字符 3.3條件運算符 3.4 switch語句 3.5變量的作用域 3.6循環(huán) 3.6.1循環(huán)的種類 3.6.2使用浮點值計數(shù) 3.6.3嵌套循環(huán) 3.6.4 continue語句 3.6.5帶標(biāo)簽的continue語句 3.6.6在循環(huán)中使用break語句 3.7 斷言 3.8 小結(jié) 第4章數(shù)組與字符串 4.1 數(shù)組 4.1.1數(shù)組變量 4.1.2定義數(shù)組 4.1.3數(shù)組長度 4.1.4訪問數(shù)組元素 4.1.5重用數(shù)組變量 4.1.6初始化數(shù)組 4.1.7使用數(shù)組 4.1.8二維數(shù)組 4.1.9字符數(shù)組 4.2字符串 4.2.1字符串字面量 4.2.2創(chuàng)建String對象 4.2.3字符串?dāng)?shù)組 4.3字符串操作 4.3.1連接字符串 4.3.2比較字符串 4.3.3字符串排序 4.3.4訪問字符串中的字符 4.3.5在字符串中查找字符 4.3.6查找子字符串 4.3.7提取子字符串 4.3.8 String對象的修改版本 4.3.9從String對象創(chuàng)建字符數(shù)組 4.3.10使用字符串執(zhí)行基于集合的for循環(huán) 4.3.11在字符串中獲取字節(jié)數(shù)組形式的字符 4_3.12從字符數(shù)組中創(chuàng)建String對象 4.4可變字符串 4.4.1創(chuàng)建StringBuffer對象 4.4.2 StringBuffer對象的容量 4.4.3為StringBuffer對象修改字符串的長度 4.4.4增長StringBuffer對象 4.4.5尋找子字符串的位置 4.4.6替換緩沖區(qū)中的子字符串 4.4.7插入字符串 4.4.8從可變字符串中提取字符 4.4.9可變字符串的其他操作 4.4.10從StringBuffer對象創(chuàng)建String對象 4.5 小結(jié) 第5章定義類 5.1類的定義 5.1.1類定義中的域 5.1.2類定義中的方法 5.1.3訪問變量和方法 5.1.4 Final域 5.2定義類 5.3定義方法 5.3.1方法的返回值 5.3.2參數(shù)列表 5.3.3定義類方法 5.3.4訪問方法中的類數(shù)據(jù)成員 5.3.5變量this 5.3.6初始化數(shù)據(jù)成員 5。4構(gòu)造函數(shù) 5.4.1默認(rèn)構(gòu)造函數(shù) 5.4.2創(chuàng)建類的對象 5.5定義和使用類 5.6方法重載 5.6.1多個構(gòu)造函數(shù) 5.6.2使用構(gòu)造函數(shù)復(fù)制對象 5.7使用對象 5.8遞歸 5.9理解包 5.9.1對類打包 5.9.2將類從包添加到程序中 5.9.3程序中的包和名稱 5.9.4導(dǎo)入靜態(tài)類成員 5.9.5標(biāo)準(zhǔn)包 5.10類成員的訪問控制 5.10.1使用訪問屬性 5.10.2設(shè)定訪問屬性 5.10.3選擇訪問屬性 5.11 嵌套類 5.1 1.1靜態(tài)嵌套類 5.11.2使用非靜態(tài)嵌套類 5.11.3使用非頂級類的嵌套類 5.11.4本地嵌套類 5.12 小結(jié) 第6章擴展類與繼承 6.1使用已有的類 6.2類繼承 6.2.1繼承數(shù)據(jù)成員 6.2.2繼承方法 6.2.3覆蓋基類方法 6.3@Override標(biāo)記 6.4選擇基類訪問屬性 6.5 多態(tài) 6.6多級繼承 6.7抽象類 6.8通用超類 6.8.1 toString0方法 6.8.2判定對象的類型 6.8.3復(fù)制對象 6.9接收可變數(shù)目參數(shù)的方法 6.10轉(zhuǎn)換對象 6.10.1轉(zhuǎn)換對象的時機 6.10.2識別對象 6.11枚舉進階 6.12設(shè)計類 6.13使用final修飾符 6.14接口 6.14.1在程序中封裝常量 6.14.2用接口聲明方法 6.14.3擴展接口 6.14.4使用接口 6.14.5將接口類型作為方法的參數(shù)使用 6.14.6在接口定義中嵌套類 6.14.7接口與真實環(huán)境 6.15匿名類 6.16 小結(jié) 第7章異常 7.1異常的基本思想 7.2異常類型 7.2.1 Error類型的異常 7.2.2 RuntimeException類型的異常 7.2.3 Exception類的其他子類 7.3處理異常 7.3.1 設(shè)定方法能夠拋出的異常 7.3.2處理異常 7.3.3 try代碼塊 7.3.4 catch代碼塊 7.3.5在一個代碼塊中捕獲多種異常類型 7.3.6 finally代碼塊 7.3.7構(gòu)造方法 7.3.8執(zhí)行順序 7.3.9嵌套的try代碼塊 7.3.10重新拋出異常 7.4異常對象 7.4.1 Throwable類 7.4.2標(biāo)準(zhǔn)異常 7.5定義自己的異常 7.5.1定義異常類 7.5.2拋出自己的異常 7.5.3異常的拋出策略 7.6 小結(jié) 第8章理解流 8.1流與輸入輸出操作 8.2流的概念 8.2.1輸入流與輸出流 8.2.2二進制流與字符流 8.3輸入輸出類 8.3.1基本的輸入流操作 8.3.2緩沖輸入流 8.3.3基本的輸出流操作 8.3.4 Reader和Writer 8.4標(biāo)準(zhǔn)流 8.4.1從鍵盤讀入數(shù)據(jù) 8.4.2寫到命令行中 8.4.3 printf()方法 8.4.4將數(shù)據(jù)格式化為字符串 8.5 小結(jié) 第9章訪問文件與目錄 9.1訪問文件系統(tǒng) 9.2使用Path對象 9.2.1訪問系統(tǒng)屬性 9.2.2設(shè)置系統(tǒng)屬性 9.2.3測試和檢查Path對象 9.2.4查詢文件和目錄 9.2.5獲取文件屬性 9.2.6其他的路徑操作 9.3創(chuàng)建與刪除目錄和文件 9.3.1創(chuàng)建目錄 9.3.2創(chuàng)建文件 9.3.3刪除文件和目錄 9.4獲取目錄內(nèi)容 9.5 關(guān)閉流 9.6移動與復(fù)制文件和目錄 9.6.1對文件或目錄重命名 9.6.2復(fù)制文件和目錄 9.6.3遍歷文件樹 9.7 小結(jié) 第10章寫文件 10.1文件I/O基礎(chǔ) 10.2文件輸出 10.3通過輸出流寫文件 …… 第11章讀文件 第12章序列化對象 第13章泛型 第14章集合框架 第15章一組有用的類 第16章線程 第17章創(chuàng)建窗口 第18章處理事件 第19章在窗口中繪圖 第20章擴展GUI 第21章填充和打印文檔 第22章Java和XML 第23章創(chuàng)建和修改XML文檔
章節(jié)摘錄
版權(quán)頁: 插圖: 1)十六進制字面量 Java中的十六進制字面量在開頭都有o)【或0X,而且遵循使用字母A到F(或者a到f)分別表示數(shù)字10到15的約定。如果對十六進制不是很熟悉,這里有一些例子: 如果不熟悉十六進制數(shù),可以在附錄8中找到有關(guān)它們工作方式的說明。上面所有的十六進制字面量都是int類型。如果想要設(shè)定一個long類型的十六進制字面量,就必須在字面量后面添加一個L,就像對十進制字面量一樣。例如,0xFL是一個與十進制值l5等同的十六進制字面量。當(dāng)然,可以將一個字面量,例如0xAABBCCD9L寫成0xAABB_CCD9L。這里的下劃線字符將十六進制數(shù)字每4個分成一組。每組的4個十六進制數(shù)對應(yīng)內(nèi)存中的兩個字節(jié)。與十進制整數(shù)字面量一樣,下劃線只能在十六進制字面量的數(shù)字之間出現(xiàn),因此0x_3ABC和0x3ABC_都不對。 2)二進制字面量 有時,將整數(shù)字面量設(shè)置為二進制值更加方便。在一個字面量的前面加上0b或0B就能將其標(biāo)識為一個二進制數(shù)。在這種情況下,數(shù)字只能是0或1。例如,0b110010101011或0B110010101011和0xCAB以及十進制值3243一樣。也可以在二進制字面量中使用下劃線字符,所以可以將值寫為Ob1100 1010 1011,那樣更容易閱讀。每組的4個二進制數(shù)對應(yīng)一個十六進制數(shù)。當(dāng)然,二進制字面量也可以是long類型;只需要在數(shù)字后面附加一個L。0b_1000和0b1000_都不正確,因為下劃線只能在數(shù)字之間出現(xiàn)。 3)八進制字面量 寫八進制數(shù)字字面量時要以零開頭,所以035和067都是int類型的八進制數(shù),而0777777L是long類型的八進制字面量,后者也可以寫成0777_777L。八進制數(shù)只能使用數(shù)字0~7,而且每個八進制數(shù)都定義為3比特。在以前機器都用3比特倍數(shù)的長字來存儲數(shù)字時,經(jīng)常使用八進制數(shù)。 現(xiàn)在很少有必要使用八進制數(shù),但是必須注意不要意外使用它們。如果在一個整數(shù)字面量的前面添加一個0,Java編譯器就會認(rèn)為在指定一個八進制值。除非其中一個數(shù)字比7大,導(dǎo)致編譯器將其標(biāo)記為錯誤,否則將無法知道該錯誤,而這個數(shù)字也不會是想象中的值。 2.2.1聲明整型變量 如前所述,可以使用如下語句聲明long類型的變量: long bigOne; 該語句是對變量bigOne的聲明,指定變量bigOne存儲一個long類型的值。編譯該語句時,會為變量bigOne分配8字節(jié)的內(nèi)存。Java不會自動初始化一個這樣的變量。如果想要變量有一個初始值,而不是使用內(nèi)存上次使用后留下來的無效值,就必須在聲明中指定自己的值。為了聲明變量bigOne并初始化為2,999,999,999,只需要這樣寫: long bigOne=2_999_999_999L; 這會將該變量設(shè)置為等號后面的值。在聲明變量時總是初始化是一個很好的實踐。在字面量中插入下劃線是為了使它易讀。注意如果在計算中使用沒有賦值的變量,程序?qū)o法編譯。有時候如果不在聲明變量時對其初始化,編譯器就不能在使用該變量之前判斷出它是否已經(jīng)初始化,即使看起來很明顯已經(jīng)初始化。這也會被標(biāo)記為一個錯誤,但是如果能在聲明這些變量時總是初始化它們,就可以避免這些問題。
編輯推薦
《Java 7入門經(jīng)典》為編程導(dǎo)師Ivor Horton最新力作。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載