Java實用教程(第3版)

《Java實用教程(第3版)》是2005年11月清華大學出版社出版的圖書,作者是馬海軍。

內容簡介

本書採用教程式的組織結構,每一章都建立在前面的基礎之上。本書共分14章(模組),每一章討論一個有關Java的議題。本書的特色就在於它包含了許多便於讀者學習的特色內容。 重要技能 每一章都包括一些重要技能,並且在各章中以節標識。 思考與練習 每一章都有思考與練習,測試讀者學習到的知識。答案在附錄中提供。 學習檢查 每一節後面都有一個“學習檢查”,問題的答案在底注中。 專家問答 每一章中都有一些“專家問答”,以一問一答的形式介紹補充知識和要點。 練習 每一章中都包含1~2個實習項目,幫助讀者將學習的知識套用到實踐中去。

圖書目錄

目錄

第1章Java基礎 1

1.1Java的起源 2

1.1.1Java與C和C++

的關係 3

1.1.2Java與C#的關係 4

1.2Java對Internet的貢獻 4

1.2.1Javaapplets 5

1.2.2安全 5

1.2.3可移植性 5

1.3Java的魔力在於位元組碼 5

1.4Java的關鍵術語 6

1.5面向對象程式設計 7

1.5.1封裝 8

1.5.2多態性 9

1.5.3繼承 9

1.6第一個簡單的程式 11

1.6.1輸入程式 11

1.6.2編譯程式 12

1.6.3逐行分析第一個

程式 12

1.7第二個簡單程式 16

練習1-1將加侖換算為升 20

1.8兩個控制語句 21

1.8.1if語句 21

1.8.2for循環語句 23

1.9創建代碼塊 25

1.10分號和定位 26

練習1-2改進從加侖到升

的轉換程式 27

1.11Java的保留關鍵字 30

1.12Java的標識符 30

1.13思考與練習 31

第2章數據類型與運算符 33

2.1Java的原語類型 34

2.1.1整數類型 34

2.1.2浮點型 36

2.1.3字元型 37

2.1.4boolean類型 38

練習2-1閃電有多遠 39

2.2字面值 40

2.2.1十六進制與八進制

常量 41

2.2.2字元轉義序列 41

2.2.3字元串字面值 42

2.3變數詳解 43

2.3.1初始化變數 43

2.3.2動態初始化 44

2.4作用域和變數的生命期 44

2.5算術運算符 48

2.6關係運算符和邏輯運算符 50

2.7賦值運算符 54

2.8速記賦值 54

2.9賦值中的類型轉換 55

2.10不兼容類型的強制轉換 56

練習2-2顯示邏輯運算符

的真值表 59

2.11表達式 60

2.11.1表達式中的類型

轉換 61

2.11.2間距和圓括弧 63

2.12思考與練習 63

第3章程式控制語句 65

3.1從鍵盤輸入字元 66

3.2if語句 67

3.2.1嵌套if語句 69

3.2.2if-else-if階梯狀結構 70

3.3switch語句 71

練習3-1建立一個Java

幫助系統 76

3.4for循環 79

3.4.1for循環的一些變體 80

3.4.2缺失部分要素的for

循環 81

3.4.3無限循環 83

3.4.4沒有循環體的循環 83

3.4.5在for循環內部聲明循環控制變數 84

3.4.6增強型for循環 85

3.5while循環 85

3.6do-while循環 87

練習3-2改進Java幫助

系統 89

3.7使用break退出循環 92

3.8將break語句作為一種goto

語句使用 94

3.9使用continue 99

練習3-3完成Java幫助

系統 101

3.10嵌套的循環 105

3.11思考與練習 106

第4章類、對象和方法 108

4.1類的基礎知識 109

4.1.1類的基本形式 109

4.1.2定義類 110

4.2如何創建對象 114

4.3引用變數和賦值 114

4.4方法 115

4.5從方法返回值 118

4.6返回值 119

4.7使用參數 121

練習4-1創建Help類 125

4.8構造函式 132

4.9帶參數的構造函式 133

4.10深入介紹new運算符 136

4.11垃圾回收與終止器 136

練習4-2演示垃圾回收 138

4.12this關鍵字 140

4.13思考與練習 142

第5章其他數據類型與運算符 144

5.1數組 145

練習5-1排序數組 149

5.2多維數組 151

5.3不規則數組 152

5.3.1三維或更多維的

數組 154

5.3.2初始化多維數組 154

5.4另一種聲明數組的語法 156

5.5數組引用賦值 156

5.6使用length成員 158

練習5-2Queue類 160

5.7for-each形式的循環 165

5.8字元串 170

5.8.1構造字元串 171

5.8.2操作字元串 172

5.8.3字元串數組 174

5.8.4字元串是不可變的 175

5.9使用命令行變元 176

5.10位運算符 178

5.10.1位運算符的與、

或、異或和非 178

5.10.2位移運算符 183

5.10.3位運算符賦值速

記符 185

練習5-3ShowBits類 186

5.11“?”運算符 189

5.12思考與練習 191

第6章方法和類剖析 193

6.1控制對類成員的訪問 194

6.2Java的訪問指示符 194

練習6-1改進Queue類 199

6.3向方法傳遞對象 201

6.4返回對象 205

6.5方法重載 207

6.6重載構造函式 213

練習6-2重載Queue構

造函式 216

6.7遞歸 219

6.8理解static關鍵字 222

練習6-3快速排序 226

6.9嵌套類和內部類 229

6.10可變長度變元(varargs) 233

6.10.1varargs基礎 234

6.10.2重載varargs方法 237

6.10.3varargs和歧義 239

6.11思考與練習 240

第7章繼承 242

7.1繼承的基礎知識 243

7.2構造函式和繼承 249

7.3使用super調用超類構造

函式 251

7.4使用super訪問超類成員 256

練習7-1擴展Vehicle類 257

7.5創建多級層次結構 261

7.6何時調用構造函式 264

7.7超類引用和子類對象 266

7.8方法重寫 271

7.9重寫的方法支持多態性 274

7.9.1為何使用重寫的

方法 276

7.9.2在TwoDShape中應

用方法重寫 276

7.10使用抽象類 281

7.11使用final 286

7.11.1使用final防止

重寫 286

7.11.2使用final防止

繼承 287

7.11.3對數據成員使用

final 287

7.12Object類 289

7.13思考與練習 290

第8章包和接口 291

8.1包 292

8.1.1定義包 292

8.1.2尋找包和

CLASSPATH 293

8.1.3一個簡短的包的

示例 294

8.2包和成員訪問 295

8.3理解被保護的成員 298

8.4導入包 301

8.5Java的類庫位於包中 302

8.6接口 303

8.7實現接口 304

8.8使用接口引用 308

練習8-1創建佇列接口 311

8.9接口中的變數 317

8.10接口能夠擴展 318

8.11思考與練習 320

第9章異常處理 321

9.1異常的層次結構 322

9.2異常處理基礎 322

9.2.1使用try和catch 323

9.2.2一個簡單的異常

示例 324

9.3未捕獲異常的結果 326

9.4使用多個catch語句 329

9.5捕獲子類異常 330

9.6嵌套try代碼塊 332

9.7拋出異常 333

9.8Throwable詳解 336

9.9使用finally 338

9.10使用throws 340

9.11Java的內置異常 342

9.12創建異常子類 344

練習9-1向排序類添加

異常 346

9.13思考與練習 350

第10章使用I/O 352

10.1Java的I/O基於流 353

10.2位元組流和字元流 353

10.3位元組流類 354

10.4字元流類 354

10.5預定義流 355

10.6使用位元組流 356

10.6.1讀取控制台輸入 357

10.6.2寫入控制台輸出 358

10.7使用位元組流讀寫檔案 359

10.7.1從檔案輸入 359

10.7.2寫入檔案 361

10.8讀寫二進制數據 363

練習10-1檔案比較

程式 367

10.9隨機訪問檔案 369

10.10使用Java字元流 372

10.10.1基於字元流的控

制台輸入 373

10.10.2使用字元流的控

制台輸出 376

10.11使用字元流的檔案

I/O(OK) 377

10.11.1使用FileWriter 377

10.11.2使用FileReader 379

10.12使用Java類型包裝器

轉換數值字元串 380

練習10-2創建一個基於

的幫助系統 383

10.13思考與練習 390

第11章多執行緒程式設計 391

11.1多執行緒基本原理 392

11.2Thread類和Runnable

接口 392

11.3創建一個執行緒 393

練習11-1擴展Thread 399

11.4創建多重執行緒 402

11.5確定執行緒何時結束 405

11.6執行緒的優先權 409

11.7同步化 412

11.8使用同步化方法 412

11.9同步化語句 416

11.10使用notify()、wait()和

notifyAll()的執行緒通信 418

11.11執行緒的掛起、繼續執行

和停止 424

練習11-2使用主執行緒 428

11.12思考與練習 430

第12章枚舉、自動封包和

靜態導入 432

12.1枚舉 433

12.2Java的枚舉是類類型 436

12.3values()和valueOf()

方法 436

12.4構造函式、方法、實

例變數和枚舉 438

12.5枚舉繼承Enum 440

練習12-1計算機控制的

交通指示燈 442

12.6類型包裝器 448

12.7自動封包基礎 450

12.8自動封包和方法 451

12.9發生在表達式中的自動

封包/自動解包 452

12.10靜態導入 454

12.11元數據 457

12.12思考與練習 460

第13章泛化 461

13.1泛化基礎 462

13.2一個簡單的泛化示例 463

13.3約束類型 469

13.4使用通配符變元 473

13.5約束通配符 476

13.6泛化方法 480

13.7泛化構造函式 482

13.8泛化接口 483

練習13.1創建一個泛化

佇列 486

13.9原類型和遺留代碼 490

13.10Erasure 493

13.11歧義錯誤 495

13.12一些泛化限制 496

13.13思考與練習 498

第14章applet、事件和其他議題 500

14.1applet基礎 501

14.2applet層次結構 504

14.3一個完整的applet框架 505

14.4applet初始化與終止 506

14.5請求重繪 507

練習14-1一個簡單的廣

告條applet 509

14.6使用狀態視窗 513

14.7向applet傳遞參數 514

14.8Applet類 516

14.9委派事件模型 517

14.9.1事件 518

14.9.2事件源 518

14.9.3事件偵聽者 518

14.9.4事件類

(EventClass) 519

14.9.5事件偵聽者接口 519

14.10使用委派事件模型 520

14.10.1處理滑鼠事件 520

14.10.2一個簡單的滑鼠

事件applet 521

14.11其他Java關鍵字 524

14.11.1transient和volatile

修飾符 525

14.11.2instanceof 525

14.11.3strictfp 525

14.11.4assert 526

14.11.5native方法 526

14.12思考與練習 527

附錄思考與練習答案 529

相關詞條

相關搜尋

熱門詞條

聯絡我們