Java編程入門官方教程(第7版)

出版信息

Java編程入門官方教程(第7版)

作者:[美]Herbert Schildt 著 左雷 譯
定價:89元
印次:1-1
ISBN:9787302499329
出版日期:2018.06.01
印刷日期:2018.05.25

內容簡介

針對Java SE 9做了全面細緻的更新,將引導你輕鬆學習新的核心Java編程技能,指導你立即著手編寫Java程式。《Java編程入門官方教程(第7版)》開篇講述Java語言基礎知識(如創建、編譯和運行Java程式的方式),此後濃墨重彩地描述構成Java語言核心的關鍵字、語法和結構。最後介紹Java的一些高級特性,如多執行緒程式設計、泛型、lambda表達式、Swing、JavaFX、新“模組”功能以及Java最新的互動式編程工具Jshell。

目錄

第1章Java基礎1

1.1Java的起源1

1.2Java對Internet的貢獻2

1.2.1Java簡化了基於Web的編程3

1.2.2Javaapplet3

1.2.3安全性3

1.2.4可移植性3

1.3Java的魔法:位元組碼3

1.4超越applet4

1.5Java的主要術語4

1.6面向對象程式設計5

1.6.1封裝5

1.6.2多態性6

1.6.3繼承6

1.7獲得Java開發工具包6

1.8第一個簡單的程式7

1.8.1輸入程式7

1.8.2編譯程式8

1.8.3逐行分析第一個程式8

1.9處理語法錯誤9

1.10第二個簡單程式10

1.11另一種數據類型11

1.12兩條控制語句13

1.12.1if語句13

1.12.2for循環語句14

1.13創建代碼塊15

1.14分號和定位16

1.15縮進原則16

1.16Java關鍵字18

1.17Java標識符18

1.18Java類庫19

1.19自測題19

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

2.1數據類型為什麼重要21

2.2Java的基本類型21

2.2.1整數類型22

2.2.2浮點型23

2.2.3字元型23

2.2.4布爾類型24

2.3字面值26

2.3.1十六進制、八進制和二進制字面值26

2.3.2字元轉義序列26

2.3.3字元串字面值27

2.4變數詳解28

2.4.1初始化變數28

2.4.2動態初始化28

2.5變數的作用域和生命期28

2.6運算符30

2.7算術運算符30

2.8關係運算符和邏輯運算符32

2.9短路邏輯運算符33

2.10賦值運算符34

2.11速記賦值34

2.12賦值中的類型轉換35

2.13不兼容類型的強制轉換36

2.14運算符的優先權37

2.15表達式38

2.15.1表達式中的類型轉換38

2.15.2間距和圓括弧40

2.16自測題40

第3章程式控制語句41

3.1從鍵盤輸入字元41

3.2if語句42

3.2.1嵌套if語句43

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

3.3switch語句44

3.4for循環48

3.4.1for循環的一些變體50

3.4.2缺失部分要素的for循環50

3.4.3無限循環51

3.4.4沒有循環體的循環51

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

3.4.6增強型for循環52

3.5while循環52

3.6do-while循環54

3.7使用break語句退出循環57

3.8將break語句作為一種goto語句使用58

3.9使用continue語句61

3.10嵌套循環65

3.11自測題65

第4章類、對象和方法67

4.1類的基礎知識67

4.1.1類的基本形式67

4.1.2定義類68

4.2如何創建對象70

4.3引用變數和賦值70

4.4方法71

4.5從方法返回值73

4.6返回值73

4.7使用形參75

4.8構造函式81

4.9帶形參的構造函式82

4.10深入介紹new運算符83

4.11垃圾回收83

4.12this關鍵字84

4.13自測題85

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

5.1數組87

5.2多維數組91

5.3不規則數組91

5.3.1三維或更多維的數組92

5.3.2初始化多維數組93

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

5.5數組引用賦值94

5.6使用length成員95

5.7for-each形式的循環99

5.7.1疊代多維數組101

5.7.2套用增強型for循環102

5.8字元串102

5.8.1構造字元串102

5.8.2操作字元串103

5.8.3字元串數組104

5.8.4字元串是不可變的105

5.8.5使用String控制switch語句106

5.9使用命令行實參106

5.10位運算符107

5.10.1位運算符的與、或、異或和非108

5.10.2移位運算符111

5.10.3位運算符的賦值速記符112

5.11?運算符114

5.12自測題115

第6章方法和類詳解117

6.1控制對類成員的訪問117

6.2向方法傳遞對象121

6.3返回對象124

6.4方法重載125

6.5重載構造函式129

6.6遞歸132

6.7理解static關鍵字134

6.8嵌套類和內部類138

6.9varargs140

6.9.1varargs基礎141

6.9.2重載varargs方法143

6.9.3varargs和歧義144

6.10自測題145

第7章繼承147

7.1繼承的基礎知識147

7.2成員訪問與繼承149

7.3構造函式和繼承151

7.4使用super調用超類構造函式152

7.5使用super訪問超類成員155

7.6創建多級層次結構158

7.7何時調用構造函式160

7.8超類引用和子類對象161

7.9方法重寫164

7.10重寫的方法支持多態性166

7.11為何使用重寫方法167

7.12使用抽象類170

7.13使用final173

7.13.1使用final防止重寫173

7.13.2使用final防止繼承174

7.13.3對數據成員使用final174

7.14Object類175

7.15自測題175

第8章包和接口177

8.1包177

8.1.1定義包177

8.1.2尋找包和CLASSPATH178

8.1.3一個簡短的包示例178

8.2包和成員訪問179

8.3理解被保護的成員181

8.4導入包182

8.5Java的類庫位於包中183

8.6接口184

8.7實現接口185

8.8使用接口引用187

8.9接口中的變數192

8.10接口能夠擴展193

8.11默認接口方法193

8.11.1默認方法的基礎知識194

8.11.2默認方法的實際套用195

8.11.3多繼承問題196

8.12在接口中使用靜態方法196

8.13私有接口方法197

8.14有關包和接口的最後思考198

8.15自測題198

第9章異常處理199

9.1異常的層次結構199

9.2異常處理基礎200

9.2.1使用關鍵字try和catch200

9.2.2一個簡單的異常示例200

9.3未捕獲異常的結果202

9.4使用多個catch語句203

9.5捕獲子類異常204

9.6try代碼塊可以嵌套205

9.7拋出異常206

9.8Throwable詳解207

9.9使用finally208

9.10使用throws語句210

9.11新增的3種異常功能211

9.12Java的內置異常212

9.13創建異常子類213

9.14自測題217

第10章使用I/O219

10.1Java的I/O基於流219

10.2位元組流和字元流219

10.3位元組流類220

10.4字元流類220

10.5預定義流221

10.6使用位元組流221

10.6.1讀取控制台輸入222

10.6.2寫入控制台輸出223

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

10.7.1從檔案輸入223

10.7.2寫入檔案226

10.8自動關閉檔案227

10.9讀寫二進制數據229

10.10隨機訪問檔案232

10.11使用Java字元流234

10.11.1使用字元流的控制台輸入235

10.11.2使用字元流的控制台輸出237

10.12使用字元流的檔案I/O237

10.12.1使用FileWriter238

10.12.2使用FileReader238

10.13使用Java的類型封裝器轉換數值字元串239

10.14自測題246

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

11.1多執行緒的基礎知識247

11.2Thread類和Runnable接口248

11.3創建一個執行緒248

11.4創建多個執行緒255

11.5確定執行緒何時結束257

11.6執行緒的優先權259

11.7同步262

11.8使用同步方法262

11.9同步語句264

11.10使用notify()、wait()和notifyAll()的執行緒通信266

11.11執行緒的掛起、繼續執行和停止270

11.12自測題274

第12章枚舉、自動裝箱、靜態導入和註解275

12.1枚舉275

12.2Java語言中的枚舉是類類型277

12.3values()和valueOf()方法277

12.4構造函式、方法、實例變數和枚舉278

12.5枚舉繼承enum279

12.6自動裝箱284

12.7類型封裝器284

12.8自動裝箱的基礎知識286

12.9自動裝箱和方法286

12.10發生在表達式中的自動裝箱/自動拆箱287

12.11靜態導入289

12.12註解(元數據)290

12.13自測題292

第13章泛型295

13.1泛型的基礎知識295

13.2一個簡單的泛型示例296

13.2.1泛型只能用於引用類型298

13.2.2泛型類型是否相同基於其類型

實參298

13.2.3帶有兩個類型形參的泛型類299

13.2.4泛型類的一般形式300

13.3約束類型300

13.4使用通配符實參302

13.5約束通配符304

13.6泛型方法306

13.7泛型構造函式308

13.8泛型接口308

13.9原類型和遺留代碼313

13.10使用菱形運算符進行類型推斷315

13.11擦除特性315

13.12歧義錯誤316

13.13一些泛型限制316

13.13.1類型形參不能實例化316

13.13.2對靜態成員的限制317

13.13.3泛型數組限制317

13.13.4泛型異常限制318

13.14繼續學習泛型318

13.15自測題318

第14章lambda表達式和方法引用319

14.1lambda表達式簡介319

14.1.1lambda表達式的基礎知識320

14.1.2函式式接口320

14.1.3幾個lambda表達式示例322

14.2塊lambda表達式325

14.3泛型函式式接口326

14.4lambda表達式和變數捕獲330

14.5從lambda表達式中拋出異常331

14.6方法引用332

14.6.1靜態方法的方法引用332

14.6.2實例方法的方法引用334

14.7構造函式引用336

14.8預定義的函式式接口338

14.9自測題339

第15章模組341

15.1模組基礎341

15.1.1簡單的模組示例342

15.1.2編譯、運行第一個模組示例345

15.1.3requires和exports346

15.2java.base和平台模組346

15.3舊代碼和未命名的模組347

15.4導出到特定的模組347

15.5使用requirestransitive348

15.6使用服務351

15.6.1服務和服務提供程式的基礎知識351

15.6.2基於服務的關鍵字351

15.6.3基於模組的服務示例352

15.7其他模組功能356

15.7.1open模組357

15.7.2opens語句357

15.7.3requiresstatic357

15.8繼續模組的學習357

15.9自測題358

第16章Swing介紹359

16.1Swing的起源和設計原則359

16.2組件和容器360

16.2.1組件361

16.2.2容器361

16.2.3頂級容器窗格361

16.3布局管理器362

16.4第一個簡單的Swing程式362

16.5Swing事件處理365

16.5.1事件365

16.5.2事件源365

16.5.3事件監聽器366

16.5.4事件類和監聽器接口366

16.6使用JButton366

16.7使用JTextField369

16.8使用JCheckBox371

16.9使用JList374

16.10使用匿名內部類或lambda表達式來處理事件380

16.11自測題381

第17章JavaFX簡介383

17.1JavaFX的基本概念383

17.1.1JavaFX包384

17.1.2Stage和Scene類384

17.1.3節點和場景圖384

17.1.4布局384

17.1.5Application類和生命周期方法384

17.1.6啟動JavaFX應用程式385

17.2JavaFX應用程式的骨架385

17.3編譯和運行JavaFX程式387

17.4應用程式執行緒387

17.5使用簡單的JavaFX控制項Label387

17.6使用按鈕和事件389

17.6.1事件基礎389

17.6.2按鈕控制項簡介390

17.6.3演示事件處理和按鈕390

17.7其他3個JavaFX控制項392

17.7.1CheckBox392

17.7.2ListView396

17.7.3TextField399

17.8效果和變換簡介401

17.8.1效果401

17.8.2變換403

17.8.3演示效果和變換403

17.9進一步學習406

17.10自測題406

附錄A自測題答案409

附錄B使用Java的文檔注釋439

附錄CJavaWebStart概述445

附錄DJShell簡介451

附錄E更多Java關鍵字459

相關詞條

熱門詞條

聯絡我們