21天學通 Java, 8/e (Sams Teach Yourself Java in 21 Days, 8/e)

[美] 羅格斯·卡登海德(Rogers Cadenhead)

  • 21天學通 Java, 8/e (Sams Teach Yourself Java in 21 Days, 8/e)-preview-1
  • 21天學通 Java, 8/e (Sams Teach Yourself Java in 21 Days, 8/e)-preview-2
21天學通 Java, 8/e (Sams Teach Yourself Java in 21 Days, 8/e)-preview-1

買這商品的人也買了...

商品描述

《21天學通Java(第8版)》循序漸進地介紹了Java編程語言知識,並提供了豐富的實例和練習,同時涵蓋了Java 12這一新標準以及與Android開發相關的Java編程知識。

《21天學通Java(第8版)》包括3周的課程,第1周介紹Java語言的基本知識,包括數據類型、變量、表達式、對象、數組、條件語句、循環、類、包、接口、異常、線程等;第2周介紹Java類庫,包括鏈表、棧、哈希映射和位組等數據結構以及Swing組件、佈局管理器和Java Web Start等;第3周介紹Java編程的高級主題,包括內部類、輸入和輸出、閉包、通過Internet進行通信、使用數據庫、XML、Web服務、Android編程示例等內容。

《21天學通Java(第8版)》可作為初學者學習Java編程技術的教程,也可供已掌握其他語言的程序員學習Java時參考。

 

作者簡介

罗格斯·卡登海德(Rogers Cadenhead)是一位经验丰富的软件开发人员,出版了30多部编程和Web发布方面的著作。当前在云平台ServiceNow上使用Java和JavaScript开发应用程序,还维护着本书配套网站www.java21days.com。

目錄大綱

第 1周 Java語言

 

第 1章 Java基礎 2

1.1 Java語言 2

1.1.1 Java的歷史 2

1.1.2 Java概述 3

1.1.3 選擇開發工具 3

1.2 面向對象編程 4

1.3 對象和類 5

1.4 屬性和行為 6

1.4.1 屬性 6

1.4.2 行為 7

1.4.3 創建類 7

1.4.4 運行程序 9

1.5 組織類和類行為 11

1.5.1 繼承 11

1.5.2 創建類層次結構 12

1.5.3 使用繼承 14

1.5.4 包 15

1.6 總結 15

1.7 問與答 16

1.8 小測驗 16

1.8.1 問題 16

1.8.2 答案 17

1.9 認證練習 17

1.10 練習 17

第 2章 Java編程基礎 18

2.1 語句和表達式 18

2.2 變量和數據類型 19

2.2.1 創建變量 19

2.2.2 給變量命名 20

2.2.3 變量類型 20

2.2.4 給變量賦值 21

2.2.5 常量 22

2.3 註釋 23

2.4 字面量 24

2.4.1 數字字面量 24

2.4.2 布爾字面量 25

2.4.3 字符字面量 25

2.4.4 字符串字面量 26

2.5 表達式和運算符 26

2.5.1 算術運算符 27

2.5.2 再談賦值 28

2.5.3 遞增和遞減運算符 29

2.5.4 比較運算符 29

2.5.5 邏輯運算符 30

2.5.6 運算符優先級 31

2.6 字符串運算 32

2.7 總結 33

2.8 問與答 33

2.9 小測驗 34

2.9.1 問題 34

2.9.2 答案 34

2.10 認證練習 34

2.11 練習 35

第3章 對象 36

3.1 創建新對象 36

3.1.1 使用new運算符 36

3.1.2 對象是如何創建的 38

3.1.3 內存管理 38

3.2 使用類變量和實例變量 39

3.2.1 獲取值 39

3.2.2 設置值 39

3.2.3 類變量 40

3.3 調用方法 41

3.3.1 設置字符串的格式 42

3.3.2 嵌套方法調用 43

3.3.3 類方法 43

3.4 對象的引用 44

3.5 對象和基本數據類型的強制類型轉換 45

3.5.1 強制轉換基本數據類型 46

3.5.2 強制轉換對象 46

3.5.3 基本數據類型和對象之間的轉換 47

3.6 比較對象值和類 48

3.6.1 比較對象 49

3.6.2 判斷對象所屬的類 50

3.7 總結 50

3.8 問與答 51

3.9 小測驗 51

3.9.1 問題 51

3.9.2 答案 52

3.10 認證練習 52

3.11 練習 52

第4章 數組、邏輯和循環 53

4.1 數組 53

4.1.1 聲明數組變量 53

4.1.2 創建數組對象 54

4.1.3 訪問數組元素 55

4.1.4 修改數組元素 55

4.1.5 多維數組 57

4.2 塊語句 58

4.3 if條件語句 58

4.4 switch條件語句 59

4.5 三目運算符 64

4.6 for循環 65

4.7 while和do循環 66

4.7.1 while循環 66

4.7.2 do-while循環 68

4.8 跳出循環 68

4.9 總結 69

4.10 問與答 70

4.11 小測驗 70

4.11.1 問題 70

4.11.2 答案 70

4.12 認證練習 71

4.13 練習 71

第5章 創建類和方法 72

5.1 定義類 72

5.2 創建實例變量和類變量 72

5.2.1 定義實例變量 73

5.2.2 類變量 73

5.3 創建方法 73

5.3.1 定義方法 73

5.3.2 關鍵字this 75

5.3.3 變量作用域和方法定義 75

5.3.4 將參數傳遞給方法 76

5.3.5 類方法 77

5.4 創建Java應用程序 78

5.5 Java應用程序和參數 79

5.5.1 將參數傳遞給Java應用程序 79

5.5.2 在Java程序中處理參數 80

5.6 創建同名方法 81

5.7 構造函數 84

5.7.1 基本的構造函數 84

5.7.2 調用另一個構造函數 85

5.7.3 重載構造函數 85

5.8 覆蓋方法 86

5.8.1 創建覆蓋現有方法的方法 87

5.8.2 調用原來的方法 88

5.8.3 覆蓋構造函數 88

5.9 總結 90

5.10 問與答 90

5.11 小測驗 91

5.11.1 問題 91

5.11.2 答案 91

5.12 認證練習 91

5.13 練習 92

第6章 包、接口和其他類特性 93

6.1 限定符 93

6.2 靜態變量和方法 97

6.3 final類、方法和變量 99

6.3.1 變量 99

6.3.2 方法 99

6.3.3 類 100

6.4 抽象類和方法 100

6.5 包 101

6.5.1 import聲明 101

6.5.2 類名沖突 102

6.6 創建自己的包 103

6.6.1 選擇包名 103

6.6.2 創建文件夾結構 103

6.6.3 將類加入包中 104

6.6.4 包和類訪問控制 104

6.7 接口 104

6.7.1 單繼承存在的問題 104

6.7.2 接口和類 105

6.7.3 實現和使用接口 105

6.7.4 實現多個接口 105

6.7.5 接口的其他用途 106

6.8 創建和擴展接口 106

6.8.1 新接口 106

6.8.2 接口中的方法 107

6.8.3 擴展接口 107

6.8.4 創建網上商店 108

6.9 總結 112

6.10 問與答 112

6.11 小測驗 112

6.11.1 問題 112

6.11.2 答案 113

6.12 認證練習 113

6.13 練習 114

第7章 異常和線程 115

7.1 異常 115

7.2 管理異常 117

7.2.1 異常一致性檢測 117

7.2.2 保護代碼和捕獲異常 118

7.2.3 finally子句 119

7.3 聲明可能引發異常的方法 122

7.3.1 throws子句 122

7.3.2 應引發哪些異常 122

7.3.3 傳遞異常 123

7.3.4 throws和繼承 123

7.4 創建並引發自己的異常 124

7.4.1 引發異常 124

7.4.2 創建自己的異常 125

7.4.3 結合使用throws、try和throw 125

7.5 在什麽情況下不使用異常 126

7.6 線程 127

7.6.1 編寫線程化程序 127

7.6.2 線程化應用程序 128

7.6.3 終止線程 131

7.7 總結 132

7.8 問與答 132

7.9 小測驗 132

7.9.1 問題 133

7.9.2 答案 133

7.10 認證練習 133

7.11 練習 134

 

第 2周 Java類庫

 

第8章 數據結構 136

8.1 超越數組 136

8.2 Java數據結構 136

8.2.1 Iterator 137

8.2.2 位組 138

8.2.3 鏈表 140

8.2.4 遍歷數據結構 142

8.2.5 棧 144

8.2.6 Map 145

8.2.7 哈希映射 146

8.3 泛型 149

8.4 枚舉 151

8.5 總結 152

8.6 問與答 153

8.7 小測驗 153

8.7.1 問題 153

8.7.2 答案 153

8.8 認證練習 154

8.9 練習 154

第9章 創建圖形用戶界面 155

9.1 創建應用程序 155

9.1.1 創建圖形用戶界面 156

9.1.2 開發框架 157

9.1.3 創建組件 158

9.1.4 將組件加入容器 159

9.2 使用組件 160

9.2.1 圖標 160

9.2.2 標簽 162

9.2.3 文本框 162

9.2.4 文本區域 163

9.2.5 可滾動窗格 164

9.2.6 復選框和單選按鈕 165

9.2.7 組合框 167

9.2.8 列表 168

9.3 Java類庫 169

9.4 總結 171

9.5 問與答 171

9.6 小測驗 171

9.6.1 問題 171

9.6.2 答案 172

9.7 認證練習 172

9.8 練習 172

第 10章 創建界面 173

10.1 Swing的特性 173

10.1.1 標準對話框 173

10.1.2 使用對話框 176

10.1.3 滑塊 178

10.1.4 滾動窗格 179

10.1.5 工具欄 180

10.1.6 進度條 182

10.1.7 菜單 184

10.1.8 選項卡式窗格 185

10.2 總結 187

10.3 問與答 187

10.4 小測驗 188

10.4.1 問題 188

10.4.2 答案 188

10.5 認證練習 188

10.6 練習 189

第 11章 在用戶界面上排列組件 190

11.1 基本的界面佈局 190

11.1.1 佈置界面 190

11.1.2 順序佈局 191

11.1.3 方框佈局 192

11.1.4 網格佈局 194

11.1.5 邊框佈局 195

11.2 使用多個佈局管理器 197

11.3 卡片佈局 198

11.3.1 在應用程序中使用卡片佈局 198

11.3.2 單元格內邊距和麵板內邊距 203

11.4 總結 203

11.5 問與答 204

11.6 小測驗 204

11.6.1 問題 204

11.6.2 答案 205

11.7 認證練習 205

11.8 練習 206

第 12章 響應用戶輸入 207

12.1 事件監聽器 207

12.1.1 設置組件 208

12.1.2 事件處理方法 208

12.2 使用方法 210

12.2.1 行為事件 211

12.2.2 焦點事件 211

12.2.3 選項事件 213

12.2.4 鍵盤事件 215

12.2.5 鼠標事件 215

12.2.6 鼠標移動事件 216

12.2.7 窗口事件 219

12.2.8 使用適配器類 219

12.2.9 使用內部類 221

12.3 總結 222

12.4 問與答 222

12.5 小測驗 223

12.5.1 問題 223

12.5.2 答案 223

12.6 認證練習 223

12.7 練習 224

第 13章 創建Java2D圖形 225

13.1 Graphics2D類 225

13.2 繪制文本 226

13.2.1 使用防鋸齒改善字體和圖形的

 質量 228

13.2.2 獲取字體的信息 228

13.3 顏色 230

13.3.1 使用Color對象 230

13.3.2 檢測和設置當前顏色 231

13.4 繪制直線和多邊形 231

13.4.1 用戶坐標空間和設備坐標空間 232

13.4.2 指定渲染屬性 232

13.4.3 創建要繪制的對象 234

13.4.4 繪制對象 236

13.5 總結 238

13.6 問與答 238

13.7 小測驗 238

13.7.1 問題 238

13.7.2 答案 239

13.8 認證練習 239

13.9 練習 240

第 14章 開發Swing應用程序 241

14.1 使用SwingWorker改善性能 241

14.2 網格袋佈局 245

14.2.1 設計網格 246

14.2.2 創建網格 247

14.3 總結 251

14.4 問與答 251

14.5 小測驗 251

14.5.1 問題 251

14.5.2 答案 252

14.6 認證練習 252

14.7 練習 252

 

第3周 Java編程

 

第 15章 使用內部類和Lambda表達式 254

15.1 內部類 254

15.2 Lambda表達式 261

15.3 變量類型推斷 264

15.4 總結 265

15.5 問與答 265

15.6 小測驗 266

15.6.1 問題 266

15.6.2 答案 266

15.7 認證練習 266

15.8 練習 267

第 16章 輸入和輸出 268

16.1 流簡介 268

16.1.1 使用流 268

16.1.2 過濾流 269

16.1.3 處理異常 269

16.2 字節流 269

16.3 過濾流 273

16.4 字符流 280

16.4.1 讀取文本文件 280

16.4.2 寫文本文件 282

16.5 文件和路徑 283

16.6 總結 284

16.7 問與答 285

16.8 小測驗 285

16.8.1 問題 285

16.8.2 答案 286

16.9 認證練習 286

16.10 練習 286

第 17章 通過HTTP進行通信 288

17.1 Java聯網技術 288

17.1.1 打開跨越網絡的流 288

17.1.2 套接字 292

17.1.3 Socket服務器 294

17.1.4 設計服務器應用程序 295

17.1.5 測試服務器 296

17.2 java.nio包 297

17.2.1 緩沖區 297

17.2.2 通道 300

17.3 總結 307

17.4 問與答 307

17.5 小測驗 307

17.5.1 問題 307

17.5.2 答案 308

17.6 認證練習 308

17.7 練習 308

第 18章 使用JDBC和Derby訪問數據庫 309

18.1 JDBC 309

18.1.1 數據庫驅動程序 310

18.1.2 查看數據庫 310

18.1.3 讀取數據庫記錄 312

18.1.4 將記錄寫入數據庫 315

18.1.5 遍歷結果集 320

18.2 總結 321

18.3 問與答 321

18.4 小測驗 321

18.4.1 問題 321

18.4.2 答案 321

18.5 認證練習 322

18.6 練習 322

第 19章 讀寫RSS Feed 323

19.1 使用XML 323

19.2 設計XML語言 325

19.3 使用Java處理XML 326

19.4 使用XOM處理XML 326

19.4.1 創建XML文檔 327

19.4.2 修改XML文檔 329

19.4.3 格式化XML文檔 332

19.4.4 評估XOM 334

19.5 總結 336

19.6 問與答 337

19.7 小測驗 337

19.7.1 問題 337

19.7.2 答案 337

19.8 認證練習 338

19.9 練習 338

第 20章 請求Web服務 339

20.1 XML-RPC簡介 339

20.2 使用XML-RPC進行通信 340

20.2.1 發送請求 340

20.2.2 響應請求 341

20.3 選擇XML-RPC實現 342

20.4 使用XML-RPC Web服務 343

20.5 創建XML-RPC Web服務 345

20.6 總結 349

20.7 問與答 349

20.8 小測驗 349

20.8.1 問題 349

20.8.2 答案 350

20.9 認證練習 350

20.10 練習 350

第 21章 使用Java編寫游戲 351

21.1 游戲Banko簡介 351

21.2 第 一部分:創建自定義按鈕 352

21.2.1 使用Swing設計自定義按鈕 354

21.2.2 定義按鈕的行為和屬性 355

21.2.3 遞歸地顯示空框 356

21.3 第二部分:顯示游戲板 357

21.3.1 將組件排列成網格 359

21.3.2 生成隨機數 359

21.3.3 使用三目運算符 360

21.4 第三部分:顯示游戲框架 361

21.4.1 繪制圖形用戶界面 364

21.4.2 運行游戲Banko 364

21.4.3 響應單擊按鈕事件 365

21.5 總結 366

21.6 問與答 366

21.7 小測驗 367

21.7.1 問題 367

21.7.2 答案 368

21.8 認證練習 368

21.9 練習 368