-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Absolute Java中文版(第6版)

( 簡體 字)
作者:師蓉類別:1. -> 程式設計 -> JAVA -> Java
譯者:
出版社:電子工業出版社Absolute Java中文版(第6版) 3dWoo書號: 48199
詢問書籍請說出此書號!

缺書
NT售價: 1340

出版日:1/1/2018
頁數:1028
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121328664
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

譯者序
20 世紀90 年代,硬件領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自動控制領域人員的注意,因為使用它可以大幅度提升消費類電子產品(如電視機頂盒、面包烤箱、移動電話等)的智能化程度。Sun 公司為了搶占市場先機,在1991 年成立了一個被稱為Green 的項目小組,由James Gosling 等工程師開發出Java語言的雛形,其最初被命名為Oak,于1995 年5 月以Java 這個名稱正式發布。
作為一種計算機編程語言,Java 擁有跨平臺、面向對象、泛型編程的特性,其廣泛應用于企業級Web 應用開發和移動應用開發中。伴隨著互聯網的迅猛發展,Java 逐漸成為重要的網絡編程語言。
本書作者通過淺顯易懂的語言和大量的示例代碼,力求讓讀者理解Java 語言。本書的每一章都有作者特意編寫的“自測題”,讓讀者可以自己檢驗是否真的理解了這些內容。并且在每一章的最后都提供了本章小結、自測題答案和編程項目練習,供讀者鞏固本章所學的相關內容。
本書共分為20 章,作者在前3 章介紹了Java 語言的基本語法;并從第4 章開始進入“面向對象編程”部分。作者在第4 章和第5 章介紹了類的相關知識;在第7 章和第8 章介紹了Java 面向對象的三大特征,即繼承、封裝和多態;在第13 章概述了接口和內部類的相關內容。此外,作者還在書中介紹了數組、鏈表等數據結構和遞歸算法,分別位于第6 章、第11 章、第14 章、第15 章和第16 章;然后,作者在第17 章和第18 章介紹了如何使用JavaFX 創建GUI。而且,作者還在本書中介紹了I/O、異常處理的相關內容,分別位于第9 章和第10 章。作者還在第12 章介紹了UML 和模式的相關內容。最后,為了適應互聯網的迅猛發展和多核化的趨勢,作者在第19 章和第20 章概述了相關內容。
雖然我已經盡了最大努力,但翻譯過程中難免有些未準確理解的句子,希望廣大讀者批評指正。
除師蓉外,李青翠、樊永剛、樊旺斌、王桂英、樊瑞春、武昭江、李靜、翟曉錦、師超、成金娥、師守偉、石璐璐、趙鵬飛、武建萍、武育芝、郝俊麗、張烈香、韓麗飛、樊衛斌、武繼萍、周俊燕、沈元婷、王瑩瑩、韓師乾也共同參與了本書的翻譯工作,感謝他們對本書做出的貢獻。
最后,感謝電子工業出版社對我的信任和幫助,感謝家人對我的支持。
師蓉
2017 年11 月

前言
本書旨在成為Java 編程方面的一本教科書和參考書。盡管本書包含了很多編程技術,但它是圍繞著Java 語言的特征而非圍繞著某門特定的編程技術課程來組織內容的。我在編寫本書時,腦海中考慮的主要讀者對象是沒有太多Java 編程經驗的本科生。因此,本書可以作為你學習第一門編程課程或者使用Java 后續計算機科學課程時的Java 教材或參考書。本書的目標是適用于大多數用戶。前幾章適合初學者,同時這些章節方框中的內容可以讓較有經驗的程序員快速了解基本的Java 語法。后續章節仍然以通俗易懂為宗旨,但它們適合于那些已經進展到更高級主題的學生。
本版相較于前面版本的變化
第6 版所表現的編程原理與第5 版是相同的。若你是教師,那么你在教授同一門課程時可以用與以前相同的順序介紹相同的主題,且無須對這些主題所涉及的內容或章節加以改變。相較于前一版本,本版的變化幾乎全部體現為追加性材料,如下所示:
增加了對如何用 Java 8的 lambda表達式進行函數式編程的介紹。
增加了一些循環、網絡和異常處理方面的內容和例子。
增加了對如何使用 JavaFX創建 GUI 的介紹。
增加了 15 個新的編程項目。
沒有非標準軟件
本書中只使用標準Java 類庫中的類,而未使用任何非標準軟件。
Java 范圍
本書中的所有程序都用Java 8 測試過。目前,Oracle 未對Java 的未來版本提出任何會影響本書中方法的變更。
面向對象編程
本書詳盡地介紹了以Java 語言實現的封裝、繼承和多態。在關于Swing GUI 的章節中,介紹了事件驅動的編程并提供了大量的練習。
主題排序的靈活性
本書允許教師重新安排書中所論述的主題。對于旨在作為參考書的書籍來說,這一點是很重要的。這一點也符合我寫書的基本原則:使書籍能適應教師的風格而不是讓教師受制于作者在主題編排上的個人偏好。為此,本書每一章開始時都有一個名為“前導知識”的部分,此部分說明了在學習相應的章節時需要事先掌握的有關內容。接下來“帶星號的部分”進一步增加了本書在使用上的靈活性。
帶星號的部分
每一章中都有若干帶星號(★)的部分,這些部分是可選的。對于初學者來說它們所包含的內容難度較大,可以跳過不學或者推遲到以后再學,而這樣做并不會破壞本書學習的連續性。我們希望讀者最后還是會返回來把這些內容學完。對于高年級的學生來說,不應將帶星號的部分視為可選的內容。
通俗易懂
對于一本書來說,不僅需要以恰當的次序論述恰當的主題并讓教師或其他專家在閱讀時覺得其內容清晰無誤,而且需要通俗易懂,讓事先不懂其內容的人也可以讀懂學會。和我編著的其他那些已被證實很受歡迎的教科書一樣,本書對學生來說也是容易使用和通俗易懂的。
總結框
在本書中,對每個重要知識點都做了概括,這些概括均用方框框了起來。它們分布和貫穿于每一章。作為對相關內容的總結,它們可用作快速參考源,并為想大體上了解Java 特征的讀者提供了快速學習Java 語法的途徑。
自測題
每一章都包含了很多自測題以幫助學生掌握該章的關鍵知識點。在每一章的末尾給出了該章所有自測題的參考答案。
其他特征
每一章都將給出陷阱、編程小貼士以及帶有示例運行結果的完整程序示例。每一章均以“本章小結”和一個適合作為編程項目的項目集結束。
如何訪問為教師和學生提供的資源
可利用“我的編程實驗室”(MyProgrammingLabTM)進行在線練習和測評。“我的編程實驗室”可幫助學生充分掌握編程的邏輯、語義和語法。對于尚未很好掌握常見高級編程語言基本概念和范式的初學者來說,可以通過“我的編程實驗室”所提供的實戰練習和即時的、個性化的反饋,提高自己的編程能力。
作為自學及課后作業工具,“我的編程實驗室”包含圍繞著本書結構組織起來的數百個小型練習題。對于學生來說,系統會自動檢測他們所提交的代碼在邏輯和語法上的錯誤,并給出有針對性的提示,使他們能夠找出什么地方有錯誤以及錯誤原因。對于教師來說,系統則提供了一個全面的成績簿,利用它可以跟蹤正確的和不正確的答案以及存儲學生輸入的代碼以便評審。
本書的問世得益于很多人給予的寶貴幫助和支持:我以前的編輯Addison-Wesley出版公司的Susan Hartman,是最初提議我寫作本書的人,并與我一起完成了本書的最初幾版;我現在的編輯Matt Goldstein 為本書后續版本的審校、修訂及宣傳提供了支持并提出了若干好主意;Kelsey Loanes、Rose Kernan、Demetrius Hall 和Pearson 公司其他一些優秀的人士也提供了寶貴的幫助和鼓勵。
許多人員審校了本書,為本書指出了需要修改的錯誤并提供了建議。他們的貢獻是非常有幫助的,我很感謝他們。
特別感謝阿拉斯加安克雷奇大學的肯瑞克? 莫克(Kenrick Mock),該版本的修訂工作是由他來做的。他又一次將這么艱巨的工作完成得讓我、編輯以及他本人感到滿意。
我非常感謝他如此出色的工作。
沃爾特? 薩維奇(Walter Savitch)
內容簡介:

(雙色)
本書側重于面向對象設計,通過淺顯易懂的語言和代碼,很好地平衡了完整實例和解釋性討論,并圍繞著Java 語言的特性全面透徹地介紹諸多編程技術。書中全面介紹了Java 語言已經實現的封裝、繼承和多態性技術,并在介紹Swing GUI 的時候提及了事件驅動的編程,在介紹UML 和模式的同時進一步介紹了OOP。本書每節后都設計了相應的練習題,每章后都有針對本章內容的編程項目。本書不僅適合初學者使用,還可以作為使用Java 的后續計算機科學課程的參考書。

目錄:

第1章 入門知識 1
1.1 Java簡介 2
Java語言的起源 ★ 2
對象和方法 3
小程序(applet)★ 4
一個Java應用程序示例 4
字節碼和Java虛擬機 7
類裝載器★ 9
編譯一個Java程序或類 9
運行一個Java程序 9
小貼士:錯誤消息 10
1.2 表達式和賦值語句 11
標識符 11
變量 12
賦值語句 14
小貼士:初始化變量 15
更多賦值語句知識★ 16
賦值兼容性 17
常量 18
算數運算符和表達式 19
括號和優先級規則★ 20
整數和浮點數除法 22
陷阱:浮點數的舍入錯誤 22
陷阱:整數相除 23
類型轉換 24
自增運算符和自減運算符 25
1.3 String類 27
字符串常量和變量 27
字符串連接 28
類 29
String類的方法 30
轉義字符 34
字符串處理 35
Unicode字符集★ 36
1.4 程序風格 37
命名常量 37
Java拼寫約定 39
注釋 40
縮進 41
本章小結 41
自測題答案 42
編程項目 44
第2章 流程控制 47
2.1 屏幕輸出 48
System.out.println 48
小貼士:編輯輸出格式的不同方法 50
使用printf編輯輸出格式 51
小貼士:用printf編輯金額格式 54
小貼士:遺留代碼 55
使用NumberFormat編輯金額輸出格式 ★ 56
導入包和類 58
DecimalFormat類 ★ 59
2.2 使用Scanner類進行控制臺輸入 62
Scanner類 63
陷阱:行終止符’n’的處理 67
空字符串 68
小貼士:輸入提示 68
小貼士:輸入反饋 68
示例:自助結賬程序 70
其他輸入分隔符 70
2.3 文件輸入簡介 72
用Scanner類進行文本文件輸入 72
本章小結 75
自測題答案 75
編程項目 77
第3章 控制流 81
3.1 分支機制 82
if-else語句 82
省略else 83
復合語句 83
小貼士:放置花括號 84
嵌套語句 85
多分支if-else語句 86
示例:州所得稅 86
switch語句 88
陷阱:忘記switch語句中的break 91
條件運算符 ★ 92
3.2 布爾表達式 92
簡單布爾表達式 93
陷阱:用=代替== 93
陷阱:使用==比較字符串 94
字典順序和字母順序 95
建立布爾表達式 97
陷阱:不等式串 98
計算布爾表達式 98
小貼士:命名布爾boolean變量 101
短路求值與完整求值 101
優先級和結合規則 102
3.3 循環 107
while語句和do-while語句 108
算法和偽代碼 110
示例:分數列表的平均分 112
for語句 113
for語句中的逗號 115
小貼士:重復N次循環 116
陷阱:for語句中多余的分號 116
陷阱:無限循環 117
嵌套循環 118
break語句和continue語句★ 120
exit語句 121
3.4 調試 122
循環bug 122
跟蹤變量 122
常規調試技術 123
示例:調試一個輸入驗證循環 124
預防性編碼 127
斷言檢查★ 127
3.5 生成隨機數★ 129
Random對象 130
Math.random( )方法 131
本章小結 132
自測題答案 132
編程項目 136
第4章 類的定義 I 141
4.1 類的定義概述 142
實例變量和方法 145
方法續論 147
小貼士:任何方法都能用作void方法 150
局部變量 152
塊 152
小貼士:在一個for語句中聲明變量 153
原始類型參數 154
陷阱:術語“形參”和“實參”的使用 159
類參數的簡單示例 160
this參數 160
返回布爾值的方法 162
方法equals和toString 164
遞歸方法 166
小貼士:對方法進行測試 167
4.2 信息的隱藏和封裝 168
修飾符public和private 169
示例:另一個日期類 170
get和set方法 171
小貼士:一個類可以訪問該類所有對象的私有成員 174
小貼士:set方法可以返回一個布爾值 175
前置條件和后置條件 176
4.3 重載 177
重載的規則 177
陷阱:重載與自動類型轉換 180
陷阱:不能根據返回類型進行重載 182
4.4 構造函數 183
構造函數的定義 183
小貼士:你可以在構造函數中調用另一個方法 190
小貼士:構造函數帶有一個this參數 190
小貼士:添加一個無參數構造函數 190
示例:日期類的最終版本 191
默認變量初始化 192
另一種初始化實例變量的方法 192
示例:一個寵物記錄類 193
StringTokenizer類★ 196
本章小結 200
自測題答案 201
編程項目 204
第5章 類的定義 II 211
5.1 靜態方法和靜態變量 212
靜態方法 212
陷阱:在靜態方法中調用非靜態方法 215
小貼士:你可以在任何類中放置main函數 215
靜態變量 218
Math類 222
封裝類 225
自動裝箱和拆箱 226
封裝類中的靜態方法 227
陷阱:封裝類沒有無參數構造函數 229
5.2 引用和類參數 231
變量和內存 231
引用 232
類參數 237
陷阱:對類類型的變量使用=和== 240
常量null 241
陷阱:空指針異常 242
new運算符和匿名對象 242
示例:鍵盤輸入的另一種方法★ 243
小貼士:使用靜態導入★ 245
5.3 引用的使用和濫用 246
示例:Person類 246
陷阱:null可以作為方法的參數 251
拷貝構造函數 253
陷阱:隱私泄露 255
可變類和不可變類 258
小貼士:深拷貝vs.淺拷貝 259
小貼士:假設你的同事是惡意的 260
5.4 包和javadoc 260
包和import語句 261
java.lang包 262
包名和目錄 262
陷阱:子類不是自動導入的 264
默認包 264
陷阱:不要在類路徑中包含當前目錄 264
編譯時指定類路徑★ 265
命名沖突★ 266
javadoc簡介 ★ 266
為javadoc注釋類★ 267
運行javadoc★ 268
本章小結 269
自測題答案 270
編程項目 273
第6章 數組 279
6.1 數組簡介 280
數組的創建和訪問 280
length實例變量 283
小貼士:在數組中使用for循環 284
陷阱:數組下標總是從0開始 285
陷阱:數組越界 285
數組的初始化 285
陷阱:字符數組不是字符串 287
6.2 數組和引用 287
數組是對象 288
陷阱:具有類基本類型的數組 289
數組參數 289
陷阱:在數組中使用=和== 291
main方法的參數★ 294
返回數組的方法 295
6.3 用數組進行編程 297
部分填充數組 297
示例:部分填充數組的類 300
小貼士:get方法不需要返回實例變量 303
“for-each”循環★ 303
參數個數可變的方法★ 306
示例:一個字符串處理示例★ 308
數組實例變量的隱私泄露 309
示例:對數組排序 312
枚舉類型★ 315
小貼士:在switch語句中使用枚舉類型★ 319
6.4 多維數組 321
多維數組的基礎知識 321
使用length實例變量 323
參差數組★ 323
多維數組參數和返回值 324
示例:一個成績冊類 325
本章小結 330
自測題答案 330
編程項目 336
第7章 繼承 343
7.1 繼承的基礎知識 344
派生類 344
重寫方法的定義 352
修改重寫方法的返回類型 353
修改重寫方法的訪問權限 354
陷阱:重寫 vs. 重載 354
super構造函數 355
this構造函數 356
小貼士:派生類的對象有多個類型 357
陷阱:術語子類和超類 359
示例:增強的StringTokenizer類★ 359
7.2 封裝和繼承 362
陷阱:基類中私有變量的使用 362
陷阱:私有方法不能被有效地繼承 364
受保護訪問和包訪問 364
陷阱:忘記默認包 366
陷阱:受保護訪問的限制★ 366
7.3 使用繼承編程 368
小貼士:靜態變量是繼承的 368
小貼士:“is a”vs. “has a” 369
訪問重新定義的基類方法 369
陷阱:你不能使用多個super 370
Object類 371
定義equals的正確方式 371
小貼士:getClass vs. instanceof★ 373
本章小結 377
自測題答案 377
編程項目 380
第8章 多態與抽象類 385
8.1 多態 386
后期綁定 386
final修飾符 388
示例:銷售記錄 389
在toString中使用后期綁定 394
陷阱:靜態方法不使用后期綁定 395
向下轉型和向上轉型 396
陷阱:向下轉型 398
小貼士:檢查向下轉型是否是合法的 399
clone方法淺析 400
陷阱:有時clone方法的返回類型是對象 401
陷阱:拷貝構造函數的限制★ 402
8.2 抽象類 405
抽象類綜述 405
陷阱:你無法創建抽象類的實例 408
小貼士:抽象類是一種類型 409
本章小結 410
自測題答案 410
編程項目 412
第9章 異常處理 415
9.1 異常處理基礎知識 416
try-catch機制 417
用Scanner類進行異常處理 418
小貼士:異常控制的循環 419
拋出異常 421
示例:異常處理的“玩具”示例 422
異常類 426
標準包中的異常類 427
定義異常類 428
小貼士:保留getMessage 432
小貼士:異常類可以攜帶任何類型的消息 434
多個catch塊 438
陷阱:先捕獲更具體的異常 439
9.2 在方法中拋出異常 441
在方法中拋出異常概述 441
在throws從句中聲明異常 443
捕獲或聲明規則的例外情況 445
派生類中的throws從句 447
何時使用異常 447
示例:檢索高分 448
事件驅動編程★ 451
9.3 更多異常處理編程技術 452
陷阱:嵌套的try-catch塊 452
finally塊★ 452
重新拋出異常★ 454
AssertionError類★ 454
ArrayIndexOutOfBoundsException 454
本章小結 455
自測題答案 455
編程項目 459
第10章 文件I/O 463
10.1 文件I/O簡介 464
流 464
文本文件和二進制文件 465
10.2 文本文件 466
寫入文本文件 466
陷阱:try塊是一個塊 470
陷阱:覆蓋輸出文件 471
追加到文本文件末尾 471
小貼士:toString可以幫助文本文件的輸出 472
從文本文件中讀取 473
使用Scanner讀取文本文件 473
用Scanner測試文本文件的結束 475
使用BufferedReader讀取文本文件 480
小貼士:用BufferedReader讀取數字 483
用BufferedReader測試文本文件的結束 484
路徑名 485
嵌套的構造函數調用 486
System.in、System.out和System.err 487
10.3 File類 489
用File類編程 489
10.4 二進制文件★ 492
將簡單數據寫入二進制文件中 493
UTF和writeUTF 496
從二進制文件中讀取簡單數據 497
檢查二進制文件的結束 501
陷阱:用錯誤的方式檢查文件結束 502
對象的二進制I/O 503
Serializable接口 505
陷阱:將類類型混合在同一個文件中 506
二進制文件中的數組對象 506
10.5 隨機存取二進制文件★ 508
讀寫同一個文件 508
陷阱:RandomAccessFile不需要從空文件開始 512
本章小結 512
自測題答案 513
編程項目 516
第11章 遞歸 521
11.1 遞歸void方法 522
示例:垂直顯示的數字 523
跟蹤遞歸調用 525
遞歸詳解 527
陷阱:無限遞歸 528
遞歸的棧★ 530
陷阱:棧溢出★ 531
遞歸與迭代 531
11.2 返回值的遞歸方法 532
返回值的遞歸方法的一般形式 532
示例:另一個冪方法 532
11.3 遞歸思維 536
遞歸設計技巧 536
二分查找★ 537
二分查找的效率★ 542
示例:查找一個文件 543
本章小結 546
自測題答案 546
編程項目 550
第12章 UML和模式 555
12.1 UML 556
UML的歷史 557
UML類圖 557
類交互 557
繼承圖 558
UML的更多知識 559
12.2 模式 ★ 560
適配器模式★ 560
模型-視圖-控制器模式★ 560
示例:排序模式 561
排序模式的限制 566
排序模式的效率★ 567
小貼士:語用學和模式 567
模式形式 567
本章小結 568
自測題答案 568
編程項目 570
第13章 接口和內部類 573
13.1 接口 574
接口概述 574
抽象類實現接口 576
派生接口 577
陷阱:接口語義不會被強制執行 578
Comparable接口 579
示例:使用Comparable接口 580
接口中的預定義常量 584
陷阱:不一致的接口 584
Serializable接口★ 587
Cloneable接口 587
13.2 內部類的簡單使用 590
幫助類 590
小貼士:內部類和外部類可以訪問彼此的私有成員 591
示例:一個銀行賬戶類 591
內部類的.class文件 595
陷阱:內部類的其他用途 595
13.3 內部類的更多內容 595
靜態內部類 595
公有內部類 596
小貼士:調用外部類的方法 598
嵌套內部類 599
內部類和繼承 599
匿名類 600
小貼士:為什么要使用內部類 602
本章小結 602
自測題答案 603
編程項目 607
第14章 泛型和ArrayList類 611
14.1 ArrayList類 612
使用ArrayList類 613
小貼士:在ArrayList中添加元素的總結 617
ArrayList類中的方法 618
“for-each”循環 620
示例:高爾夫球成績 623
小貼士:使用trimToSize節約內存 625
陷阱:clone方法會進行淺拷貝★ 625
Vector類 626
參數化的類和泛型 627
陷阱:非參數化的ArrayList和Vector類 627
14.2 泛型 627
泛型基礎知識 627
陷阱:用-Xlint選項編譯 629
示例:有序對的泛型類 629
陷阱:泛型構造函數名沒有類型參數 632
陷阱:你不能用原始類型替換類型參數 633
陷阱:并不是在使用類型名稱的任何地方都可以使用類型參數 633
陷阱:泛型類的實例化不可以是數組基本類型 633
小貼士:類定義中可以有多個類型參數 634
陷阱:泛型類不能是異常類 635
類型參數的限制 636
小貼士:泛型接口 638
泛型方法★ 638
泛型類的繼承★ 639
本章小結 641
自測題答案 641
編程項目 643
第15章 鏈式數據結構 647
15.1 Java鏈表 649
示例:簡單的鏈表類 649
使用鏈表 652
陷阱:隱私泄露 657
節點內部類 657
示例:泛型鏈表 660
陷阱:使用Node,而不是Node<T> 664
鏈表的equals方法 664
15.2 拷貝構造函數和clone方法★ 665
簡單的拷貝構造函數和clone方法★ 666
異常★ 666
陷阱:clone方法在Object中是受保護的★ 668
小貼士:使用類型參數限制可以得到更好的clone方法★ 669
示例:帶有深拷貝clone方法的鏈表★ 672
小貼士:克隆是一種“全有或者全無”事件 674
15.3 迭代器 675
定義一個迭代器類 675
添加和刪除節點 680
15.4 鏈表的變形 683
雙向鏈表 683
棧數據結構 691
隊列數據結構 693
運行時間和大O符號 695
鏈表的效率 699
15.5 鏈式哈希表 700
字符串的哈希函數 701
哈希表的效率 704
15.6 set 704
set的基本操作 705
使用鏈表的set的效率 709
15.7 樹 710
樹的性質 710
示例:一個二叉查找樹類 ★ 712
二叉查找樹的效率★ 716
本章小結 716
自測題答案 717
編程項目 722
第16章 集合、映射和迭代器 725
16.1 集合 726
通配符 727
集合框架 728
陷阱:可選操作 733
小貼士:處理所有這些異常 733
具體的集合類 734
ArrayList<T>和Vector<T>之間的區別 741
集合框架的非參數化版本★ 742
陷阱:省略<T> 742
16.2 Map映射 742
具體的Map類 744
16.3 迭代器 748
迭代器的概念 748
Iterator<T>接口 748
小貼士:for-each循環作為迭代器 750
列表迭代器 751
陷阱:next可以返回一個引用 753
小貼士:定義自己的迭代器類 754
本章小結 755
自測題答案 755
編程項目 756
第17章 Swing I 761
17.1 事件驅動編程 762
事件和監聽器 763
17.2 按鈕、事件和其他Swing基礎知識 764
示例:一個簡單的窗口 764
陷阱:忘記編寫關閉窗口按鈕的代碼 768
按鈕 769
動作監聽器和動作事件 770
陷阱:修改actionPerformed的方法頭 771
小貼士:結束一個Swing程序 772
示例:第一個Swing GUI的更好版本 772
標簽 775
顏色 776
示例:一個帶有標簽和顏色的GUI 777
17.3 容器和布局管理器 779
邊界布局管理器 779
流布局管理器 782
網格布局管理器 783
面板 786
示例:用面板創建3種顏色 787
Container類 790
小貼士:分別編寫GUI的外觀和動作 792
模型-視圖-控制器模式★ 793
17.4 菜單和按鈕 793
示例:一個帶有菜單的GUI 794
菜單、菜單項和菜單欄 794
嵌套菜單★ 798
AbstractButton類 798
setActionCommand方法 801
監聽器作為內部類★ 802
17.5 文本框和文本域 804
文本框和文本域概述 804
小貼士:給文本域添加標簽 809
小貼士:輸入和輸出數字 810
一個Swing計算器 810
本章小結 815
自測題答案 815
編程項目 821
第18章 Swing II 823
18.1 窗口監聽器 824
示例:一個窗口監聽器內部類 825
dispose方法 828
陷阱:忘記調用setDefaultCloseOperation 829
WindowAdapter類 829
18.2 圖標和滾動條 831
圖標 831
滾動條 836
示例:可以改變可見性的組件 840
18.3 Graphics類 842
圖形對象的坐標系統 842
paint方法和Graphics類 843
繪制橢圓 848
繪制弧線 848
圓角矩形★ 851
面板的paintComponent 851
動作繪制和repaint 852
更新GUI的更多細節★ 856
18.4 顏色 857
指定繪圖顏色 857
定義顏色 858
陷阱:使用double定義顏色 859
JColorChooser對話框窗口 860
18.5 字體drawString方法 862
drawString方法 863
字體 864
本章小結 867
自測題答案 867
編程項目 871
第19章 Java永不落幕 875
19.1 多線程 876
示例:一個無響應的GUI 877
Thread.sleep 877
getGraphics方法 880
使用線程修復一個無響應的程序 881
示例:一個多線程程序 881
Thread類 881
Runnable接口★ 884
競爭條件和線程同步★ 886
19.2 流套接字網絡 890
套接字 890
套接字和線程 893
URL類 894
19.3 JavaBeans 895
組件模式 895
JavaBeans模型 895
19.4 Java和數據庫連接 896
關系數據庫 896
Java DB和JDBC 897
SQL 898
19.5 用JSP進行Web編程 906
applet、servlet和JSP 906
Oracle GlassFish企業級服務器 908
HTML表單——通用網關接口 909
JSP聲明、表達式、scriptlet和指令 911
19.6 淺談Java 8中的函數式編程 918
19.7 淺談JavaFX 924
本章小結 936
自測題答案 937
編程項目 938
第20章 applet和HTML1
附錄A 關鍵字 941
附錄B 優先級和結合性規則 943
附錄C ASCII字符集 945
附錄D printf的格式規范 947
附錄E 類和接口總結 949
1 英文原版書的第20章是放在相關配套網站上的,本中文版與其保持一致,讀者可下載閱讀。
序: