Java 程序設計教程, 8/e (Java Software Solutions Foundations of Program Design, 8/e)

劉易斯 (John Lewis), 洛夫特斯 (William Loftus)

商品描述

 

<內容簡介>

本書對面向對象的思想和機制進行了準確而透徹的剖析,為讀者深入學習Java語言程序設計提供了全面、詳細的指導,並在前幾版的基礎上進行了全面的修訂與更新。全書覆蓋了面向對象設計的廣泛內容,介紹了Java語言的基本數據類型、流程控制、類和對象等。在深入分析面向對象設計方法的基礎上,介紹了封裝機制、繼承機制和多態性的實現與應用、異常的捕捉和處理、集合類的定義方法和泛型類的概念,書中提供了大量具有可實踐性的程序實例、自測題及答案、練習題和編程項目、生動的“軟件失誤案例”和“視頻講解”學習輔導短片,並且在每章中都補充了針對本章主題的圖形用戶界面(GUI)設計知識和實例,這部分內容可形成完整的Java GUI設計知識體系。此外,本書還有內容豐富的附錄,並提供了在線程序設計實踐網站服務。

 

<章節目錄>

目 錄

第1章 計算機系統概述 1
1.1 計算機處理過程 1
1.1.1 軟件分類 2
1.1.2 數字計算機 4
1.1.3 二進制數 5
自測題(答案見附錄M) 7
1.2 硬件組件 7
1.2.1 計算機結構 7
1.2.2 輸入/輸出設備 8
1.2.3 主存儲器和輔助存儲器 9
1.2.4 中央處理器 12
自測題(答案見附錄M) 12
1.3 網絡 13
1.3.1 網絡連接 13
1.3.2 局域網和廣域網 14
1.3.3 因特網 15
1.3.4 萬維網 16
1.3.5 統一資源定位器 17
自測題(答案見附錄M) 17
1.4 JAVA編程語言 18
1.4.1 Java程序 19
1.4.2 註釋 20
1.4.3 標識符和保留字 21
1.4.4 空白符 22
自測題(答案見附錄M) 24
1.5 程序開發 24
1.5.1 編程語言級別 24
1.5.2 編輯器、編譯器和解釋器 26
1.5.3 開發環境 27
1.5.4 語法和語義 27
1.5.5 錯誤 28
自測題(答案見附錄M) 29
1.6 面向對象編程 29
1.6.1 問題求解 30
1.6.2 面向對象的軟件原理 31
自測題(答案見附錄M) 32
重點概念小結 33
練習題 34
編程項目 35
第2章 數據與表達式 37
2.1 字符串 37
2.1.1 print和println方法 37
2.1.2 字符串拼接 38
2.1.3 轉義序列 40
自測題(答案見附錄M) 41
2.2 變量與賦值 42
2.2.1 變量 42
2.2.2 賦值語句 43
2.2.3 常量 44
自測題(答案見附錄M) 45
2.3 基本數據類型 46
2.3.1 整型與浮點型 46
2.3.2 字符型 47
2.3.3 布爾型 48
自測題(答案見附錄M) 48
2.4 表達式 48
2.4.1 算術運算符 49
2.4.2 運算符優先級 49
2.4.3 自增和自減運算符 51
2.4.4 賦值運算符 52
自測題(答案見附錄M) 53
2.5 數據類型轉換 53
2.5.1 類型轉換的安全性 54
2.5.2 數據類型轉換技術 54
自測題(答案見附錄M) 55
2.6 交互式程序 56
2.6.1 Scanner類 56
自測題(答案見附錄M) 59
2.7 圖形 59
2.7.1 坐標系統 59
2.7.2 彩色圖形 60
自測題(答案見附錄M) 61
2.8 JAVA APPLET 61
2.8.1 applet的基本概念 61
2.8.2 在Web中執行applet 63
自測題(答案見附錄M) 64
2.9 繪圖 64
2.9.1 Graphics類 64
自測題(答案見附錄M) 67
重點概念小結 67
練習題 68
編程項目 69
第3章 類與對象 72
3.1 創建對象 72
3.1.1 對象引用變量的聲明與初始化 72
3.1.2 別名 74
自測題(答案見附錄M) 75
3.2 STRING類 75
自測題(答案見附錄M) 77
3.3 包 78
3.3.1 包的概念 78
3.3.2 import聲明 79
自測題(答案見附錄M) 80
3.4 RANDOM類 80
自測題(答案見附錄M) 82
3.5 MATH類 82
自測題(答案見附錄M) 84
3.6 格式化輸出 85
3.6.1 NumberFormat類 85
3.6.2 DecimalFormat類 86
3.6.3 printf方法 87
自測題(答案見附錄M) 88
3.7 枚舉型 88
自測題(答案見附錄M) 90
3.8 包裝器類 90
3.8.1 包裝器類的創建和使用 90
3.8.2 自動裝箱 91
自測題(答案見附錄M) 92
3.9 組件與容器 92
3.9.1 框架和麵板 92
3.9.2 佈局管理器 94
自測題(答案見附錄M) 95
3.10 嵌套的面板 95
自測題(答案見附錄M) 97
3.11 圖像 97
自測題(答案見附錄M) 99
重點概念小結 99
練習題 99
編程項目 100
第4章 編寫類 102
4.1 類與對象的回顧 102
自測題(答案見附錄M) 103
4.2 類的分析 103
4.2.1 實例數據 107
4.2.2 UML類圖 107
自測題(答案見附錄M) 108
4.3 封裝 108
4.3.1 可見性修飾符 109
4.3.2 訪問器和修改器 109
自測題(答案見附錄M) 110
4.4 方法的分析 110
4.4.1 return語句 111
4.4.2 參數 112
4.4.3 局部數據 112
4.4.4 銀行賬戶實例 113
自測題(答案見附錄M) 116
4.5 構造方法回顧 116
自測題(答案見附錄M) 116
4.6 圖形對象 117
自測題(答案見附錄M) 122
4.7 圖形用戶界面 122
自測題(答案見附錄M) 123
4.8 按鈕 123
自測題(答案見附錄M) 126
4.9 單行文本框 126
自測題(答案見附錄M) 128
重點概念小結 128
練習題 128
編程項目 129
第5章 條件判斷與循環 133
5.1 布爾表達式 133
5.1.1 相等性運算符和關系運算符 134
5.1.2 邏輯運算符 134
自測題(答案見附錄M) 136
5.2 IF語句 136
5.2.1 if-else語句 138
5.2.2 使用語句塊 141
5.2.3 if語句的嵌套 143
自測題(答案見附錄M) 144
5.3 數據比較 145
5.3.1 浮點數比較 145
5.3.2 字符比較 145
5.3.3 比較對象 146
自測題(答案見附錄M) 147
5.4 WHILE語句 147
5.4.1 無限循環 151
5.4.2 嵌套循環 151
5.4.3 break和continue語句 154
自測題(答案見附錄M) 154
5.5 疊代器 155
5.5.1 疊代器對象的基本方法 155
5.5.2 讀取文本文件 156
自測題(答案見附錄M) 157
5.6 ARRAYLIST類 158
自測題(答案見附錄M) 160
5.7 確定事件源 160
5.8 覆選框與單選鈕 162
5.8.1 覆選框 162
5.8.2 單選鈕 165
重點概念小結 168
練習題 168
編程項目 170
第6章 其他條件判斷與循環 173
6.1 SWITCH語句 173
自測題(答案見附錄M) 176
6.2 條件運算符 176
自測題(答案見附錄M) 177
6.3 DO語句 177
自測題(答案見附錄M) 179
6.4 FOR語句 179
6.4.1 for-each循環 182
6.4.2 各種循環的比較 183
自測題(答案見附錄M) 183
6.5 利用循環語句和條件語句繪圖 183
6.6 對話框 187
重點概念小結 189
練習題 189
編程項目 190
第7章 面向對象設計 193
7.1 軟件開發活動 193
自測題(答案見附錄M) 194
7.2 明確類和對象 194
7.2.1 類的識別方法 194
7.2.2 類職責的分派 195
自測題(答案見附錄M) 195
7.3 靜態類成員 196
7.3.1 靜態變量 196
7.3.2 靜態方法 196
自測題(答案見附錄M) 198
7.4 類間關系 198
7.4.1 依賴關系 199
7.4.2 同一個類對象之間的依賴性 199
7.4.3 聚合關系 203
7.4.4 this引用 206
自測題(答案見附錄M) 207
7.5 接口 207
7.5.1 Comparable接口 211
7.5.2 Iterator接口 211
自測題(答案見附錄M) 211
7.6 枚舉類型 212
自測題(答案見附錄M) 214
7.7 方法設計 214
7.7.1 方法分解 214
7.7.2 方法參數的傳遞方式 218
自測題(答案見附錄M) 220
7.8 方法重載 221
自測題(答案見附錄M) 223
7.9 測試 223
7.9.1 審查 223
7.9.2 缺陷測試 224
自測題(答案見附錄M) 225
7.10 GUI設計 225
自測題(答案見附錄M) 226
7.11 佈局管理器 226
7.11.1 流式佈局管理器 228
7.11.2 邊界佈局管理器 230
7.11.3 柵格佈局管理器 231
7.11.4 盒式佈局管理器 233
自測題(答案見附錄M) 235
7.12 邊框 235
自測題(答案見附錄M) 237
7.13 容器層次結構 237
自測題(答案見附錄M) 238
重點概念小結 239
練習題 240
編程項目 240
第8章 數組 244
8.1 數組元素 244
自測題(答案見附錄M) 245
8.2 聲明和使用數組 245
8.2.1 邊界檢查 247
8.2.2 數組聲明方式 250
8.2.3 數組初始值表 250
8.2.4 數組作為參數 251
自測題(答案見附錄M) 251
8.3 對象數組 252
自測題(答案見附錄M) 259
8.4 命令行實參 259
自測題(答案見附錄M) 260
8.5 可變長度參數表 260
自測題(答案見附錄M) 263
8.6 二維數組與多維數組 263
8.6.1 二維數組 263
8.6.2 多維數組 265
自測題(答案見附錄M) 266
8.7 多邊形和折線 266
8.7.1 繪制方法 266
8.7.2 Polygon類 268
自測題(答案見附錄M) 269
8.8 鼠標事件 269
自測題(答案見附錄M) 275
8.9 鍵盤事件 275
自測題(答案見附錄M) 278
重點概念小結 278
練習題 279
編程項目 280
第9章 繼承 284
9.1 創建子類 284
9.1.1 protected修飾符 287
9.1.2 super引用 288
9.1.3 多繼承 291
自測題(答案見附錄M) 291
9.2 重寫方法 291
9.2.1 影子變量 293
自測題(答案見附錄M) 293
9.3 類層次結構 293
9.3.1 Object類 294
9.3.2 抽象類 295
9.3.3 接口層次結構 296
自測題(答案見附錄M) 297
9.4 可見性 297
自測題(答案見附錄M) 299
9.5 類間繼承關系的設計 299
9.5.1 繼承關系小結 299
9.5.2 繼承的限制 300
自測題(答案見附錄M) 300
9.6 組件類的層次結構 300
自測題(答案見附錄M) 302
9.7 擴展適配器類 302
自測題(答案見附錄M) 304
9.8 TIMER類 305
自測題(答案見附錄M) 307
重點概念小結 308
練習題 308
編程項目 309
第10章 多態性 311
10.1 後綁定 311
自測題(答案見附錄M) 312
10.2 由繼承實現多態性 312
自測題(答案見附錄M) 320
10.3 利用接口實現多態性 320
自測題(答案見附錄M) 322
10.4 排序 322
10.4.1 選擇法排序 322
10.4.2 插入法排序 326
10.4.3 排序算法的比較 327
自測題(答案見附錄M) 327
10.5 搜索 328
10.5.1 線性搜索 328
10.5.2 二分搜索 330
10.5.3 搜索算法的比較 331
自測題(答案見附錄M) 332
10.6 多態性設計 332
自測題(答案見附錄M) 333
10.7 事件處理 333
10.8 文件選擇對話框 334
10.9 顏色選擇對話框 336
10.10 滑動條 337
重點概念小結 340
練習題 341
編程項目 341
第11章 異常 342
11.1 異常處理 342
自測題(答案見附錄M) 343
11.2 未捕獲的異常 343
自測題(答案見附錄M) 344
11.3 TRY-CATCH語句 344
11.3.1 finally子句 346
自測題(答案見附錄M) 346
11.4 異常的傳遞 347
自測題(答案見附錄M) 349
11.5 異常類層次結構 349
11.5.1 自定義異常 350
11.5.2 可檢測異常與不可檢測異常 352
自測題(答案見附錄M) 352
11.6 I/O異常 352
自測題(答案見附錄M) 355
11.7 工具提示與助記符 355
自測題(答案見附錄M) 359
11.8 組合框 359
自測題(答案見附錄M) 363
11.9 滾動窗格 363
自測題(答案見附錄M) 364
11.10 分隔窗格 365
自測題(答案見附錄M) 368
重點概念小結 368
練習題 369
編程項目 369
第12章 遞歸 371
12.1 遞歸思想 371
12.1.1 無窮遞歸 372
12.1.2 數學中的遞歸運算 372
自測題(答案見附錄M) 373
12.2 遞歸編程 373
12.2.1 遞歸與疊代的比較 374
12.2.2 直接遞歸與間接遞歸 375
自測題(答案見附錄M) 375
12.3 遞歸的應用 376
12.3.1 迷宮旅行 376
12.3.2 漢諾塔問題 379
自測題(答案見附錄M) 383
12.4 應用遞歸方法繪圖 383
12.4.1 平鋪圖形 383
12.4.2 分形 385
自測題(答案見附錄M) 389
重點概念小結 389
練習題 389
編程項目 390
第13章 集合 392
13.1 集合與數據結構 392
13.1.1 集合的同構與異構 392
13.1.2 分離接口與實現 392
自測題(答案見附錄M) 393
13.2 數據結構的動態表示 393
13.2.1 動態結構 393
13.2.2 動態鏈接的列表 394
13.2.3 其他的動態列表 397
自測題(答案見附錄M) 398
13.3 線性數據結構 398
13.3.1 隊列 398
13.3.2 堆棧 399
自測題(答案見附錄M) 401
13.4 非線性數據結構 401
13.4.1 樹 401
13.4.2 圖 402
自測題(答案見附錄M) 403
13.5 JAVA集合類API 403
13.5.1 泛型 403
自測題(答案見附錄M) 404
重點概念小結 404
練習題 404
編程項目 405
附錄A 數制系統 407
附錄B Unicode字符集 411

 

<作者介紹>

作者:John Lewis(J. 劉易斯) William Loftus(W. 洛夫特斯) 譯者:張君施
張君施,北京工商大學數理系副教授,黨支部書記。研究方向為概率論與數理統計、計算機語言,翻譯過多部經典編程教材。

 

目錄大綱