商品簡介
作者簡介
名人/編輯推薦
目次
商品簡介
針對目前開發行業對Java開發工具應用的技能需求以及計算機類專業對Java編程的基本要求,《面向對象程序設計 Java版》以“學習目標→任務引導→相關知識→任務實施→綜合訓練”為主線,在介紹程序語法的基礎上,以小項目開發為實踐落腳點,做到學練結合,提高學習效率:通過“學習目標”和“任務引導”,讓讀者先瞭解要解決的問題;然後詳細講解相關知識,幫助讀者奠定技術基礎;進而在“任務實施”引導讀者完成上機操作,體現學以致用,並通過“拓展訓練”幫助讀者進一步提高編程技術和能力;最後通過“綜合訓練”梳理重要知識點,促進讀者對重要內容的掌握。
本書整體上採用“項目引導與驅動”模式,將枯燥的程序語法學習融入具體項目案例,這有利於激發讀者學習興趣,提升學習效果。此外,本書案例源自實際生活,並參考近期Java編程崗位的技能需求,結構合理,實用性強。
本書可作為高職院校計算機類專業或電子信息類專業Java程序設計教材,也可作為成人高等學校和其他培訓機構的教材,還可以作為零基礎學習Java讀者的參考圖書。
本書整體上採用“項目引導與驅動”模式,將枯燥的程序語法學習融入具體項目案例,這有利於激發讀者學習興趣,提升學習效果。此外,本書案例源自實際生活,並參考近期Java編程崗位的技能需求,結構合理,實用性強。
本書可作為高職院校計算機類專業或電子信息類專業Java程序設計教材,也可作為成人高等學校和其他培訓機構的教材,還可以作為零基礎學習Java讀者的參考圖書。
作者簡介
武春嶺,廈門大學高等教育質量與評估研究所/ 教育研究院博士生、重慶電子工程職業學院人工智能與大數據學院院長。國家“萬人計劃”教學名師,國務院特殊津貼專家,二級教授,全國通信工業協會雲計算與信息安全校企聯盟理事長,國家雙高建設“信息安全與管理專業群”主持人,主持或參與多個重大教學質量項目,帶領團隊成功申報國家“十二五”規劃教材22 種,自己參與主編11 種。
沈廷傑,高級工程師,擁有多年的網絡安全企業工作經驗,擅長數據分析和教學過程設計。現任重慶電子工程職業學院教師,長期從事一線教學、課程研發、資源庫建設等工作。主持省部級項目1 項;參與***項目1 項,省部級項目2 項。
朱崇來,工程師,擁有多年的軟件開發企業工作經驗,精通Java、Java Web、移動互聯網開發技術。現任重慶電子工程職業學院教師,長期從事一線課程研發、實訓項目建設、移動互聯網應用開發專業教學等工作,帶領學生參加各類技能大賽,團隊獲得重
慶市二等獎1 項、三等獎2 項。
沈廷傑,高級工程師,擁有多年的網絡安全企業工作經驗,擅長數據分析和教學過程設計。現任重慶電子工程職業學院教師,長期從事一線教學、課程研發、資源庫建設等工作。主持省部級項目1 項;參與***項目1 項,省部級項目2 項。
朱崇來,工程師,擁有多年的軟件開發企業工作經驗,精通Java、Java Web、移動互聯網開發技術。現任重慶電子工程職業學院教師,長期從事一線課程研發、實訓項目建設、移動互聯網應用開發專業教學等工作,帶領學生參加各類技能大賽,團隊獲得重
慶市二等獎1 項、三等獎2 項。
名人/編輯推薦
1.滿足學生需求:結合學生學習模式,本書採用“項目引導與驅動”模式,讓學生快速掌握Java 相關知識。
2.滿足老師需求:老師可根據學生現狀和人才培養方案,參考本書設計教學計劃,高效準備Java相關課程。
3.滿足行業需求:針對開發行業對Java 的技能需求,本書通過理論與實踐相結合的方式,幫助讀者更好地勝任Java相關崗位。
2.滿足老師需求:老師可根據學生現狀和人才培養方案,參考本書設計教學計劃,高效準備Java相關課程。
3.滿足行業需求:針對開發行業對Java 的技能需求,本書通過理論與實踐相結合的方式,幫助讀者更好地勝任Java相關崗位。
目次
第 1章 初識Java
學習目標 .2
任務引導 .2
相關知識 .2
1.1 計算機語言. 2
1.1.1 機器語言2
1.1.2 匯編語言3
1.1.3 高級語言3
1.2 Java發展史. 5
1.2.1 Java的誕生 5
1.2.2 JDK 1.0發佈 5
1.2.3 Java 2問世 .5
1.2.4 JavaSE 5.0發佈 6
1.2.5 JDK 7.0發佈 6
1.2.6 JDK 8.0發佈 6
1.2.7 JDK 9.0發佈 7
1.2.8 JDK 10.0發佈 7
1.3 Java的特點. 7
1.3.1 Java是面向對象的 8
1.3.2 Java是平臺無關的 8
1.3.3 Java語言是健壯的 8
1.4 Java程序工作原理. 9
1.4.1 Java虛擬機 9
1.4.2 垃圾回收機制11
1.5 Java SE的結構 11
1.6 標識符和關鍵字. 12
1.6.1 標識符12
1.6.2 關鍵字13
1.7 Java注解. 13
1.7.1 Java注解 .13
1.7.2 內建注解15
1.7.3 自定義注解20
1.8 變量和常量. 26
1.8.1 變量26
1.8.2 常量27
1.9 Java數據類型. 27
1.9.1 Java數據類型概述 27
1.9.2 整型29
1.9.3 浮點型30
1.9.4 字符型31
1.9.5 布爾型32
1.9.6 基本數據類型轉換32
1.10 成員變量和局部變量. 34
1.11 Java運算符 . 36
1.11.1 算術運算符 36
1.11.2 邏輯運算符 39
1.11.3 位運算符 40
1.12 Java表達式. 42
1.12.1 Java表達式概述 42
1.12.2 表達式的運算順序43
任務實施 .44
1.13 任務1 開發環境搭建. 44
1.14 任務2 注解應用. 46
1.14.1 子任務1 內建注解應用46
1.14.2 子任務2 自定義注解與元注解應用46
1.15 任務3 Java簡易程序開發 46
1.15.1 子任務1 第 一個Java程序46
1.15.2 子任務2 工程師月薪計算51
拓展訓練 .52
“瑞達系統”獲取用戶輸入52
綜合訓練 .56
第 2章 控制結構、方法與數組應用
學習目標 .59
任務引導 .59
相關知識 .59
2.1 if語句 59
2.1.1 if語句的語法 .60
2.1.2 嵌套if語句 .65
2.2 switch語句 67
2.2.1 switch語句概述 .67
2.2.2 switch語句的使用 .68
2.3 循環語句. 70
2.3.1 while循環 .71
2.3.2 do.while循環 74
2.3.3 for循環 .75
2.3.4 雙重for循環 .77
2.3.5 跳轉語句79
2.4 方法. 79
2.4.1 Java方法概述 79
2.4.2 Java方法的使用 84
2.4.3 方法遞歸調用86
2.5 數組. 87
2.5.1 一維數組87
2.5.2 引用數據類型90
2.5.3 值傳遞與引用傳遞91
2.5.4 一維數組初始化95
2.6 排序算法. 96
2.6.1 冒泡排序96
2.6.2 插入排序97
2.7 二維數組. 98
2.7.1 二維數組簡介98
2.7.2 二維數組的使用99
任務實施 .101
2.8 任務1 控制結構應用. 101
2.8.1 子任務1 商城送禮101
2.8.2 子任務2 學習班結業101
2.8.3 子任務3 功能模塊跳轉102
2.9 任務2 方法應用. 106
2.10 任務3 數組應用115
2.10.1 子任務1 分數數列前20項求和115
2.10.2 子任務2 楊輝三角形打印116
拓展訓練 .117
“瑞達系統”刪除和查詢模塊實現117
綜合訓練 .124
第3章 類與對象應用
學習目標 .127
任務引導 .127
相關知識 .128
3.1 類和對象概述. 128
3.1.1 面向過程與面向對象128
3.1.2 類和對象的概念129
3.2 Java類. 131
3.2.1 Java類的定義 131
3.2.2 Java類的創建和使用 132
3.2.3 Java類的簡單運用 135
3.2.4 封裝141
3.3 構造方法. 144
3.3.1 構造方法解決問題144
3.3.2 構造方法的使用145
3.4 對象初始化過程. 147
3.4.1 初始化塊148
3.4.2 對象初始化內存結構149
3.5 重載. 151
3.5.1 重載的定義151
3.5.2 重載方法的使用151
3.6 抽象和封裝. 154
3.6.1 類抽象154
3.6.2 類封裝155
3.6.3 方法的實現162
3.7 繼承. 163
3.7.1 繼承的概念164
3.7.2 繼承的使用165
3.7.3 繼承和訪問權限169
3.7.4 方法重寫170
3.7.5 屬性覆蓋172
3.7.6 繼承中的初始化174
3.8 多態. 176
3.8.1 向上轉型176
3.8.2 向下轉型179
3.9 包和訪問控制. 181
3.9.1 Java包 182
3.9.2 引用包183
3.9.3 訪問權限186
3.9.4 static關鍵字 .190
3.10 抽象類. 195
3.10.1 抽象類的概念195
3.10.2 抽象類的使用195
3.10.3 抽象類的特徵198
3.11 接口 . 199
3.11.1 接口的概念 199
3.11.2 接口的使用 202
3.11.3 接口的特徵 205
3.11.4 接口的應用 210
任務實施 .212
3.12 任務1 類和對象應用. 212
3.12.1 子任務1 封裝學生類和老師類212
3.12.2 子任務2 構造方法初始化學生類和老師類213
3.12.3 子任務3 重載學習方法213
3.13 任務2 包和訪問控制應用 213
3.13.1 子任務1 導入類和包213
3.13.2 子任務2 產生隨機數213
3.13.3 子任務3 static關鍵作用範圍測試213
3.14 任務3 抽象類與接口應用 214
3.14.1 子任務1 繼承角度實現租車系統214
3.14.2 子任務2 多態角度實現租車系統214
3.14.3 子任務3 抽象類方式實現人與中國人的關係214
3.14.4 子任務4 接口方式實現打印機工作過程214
拓展訓練 .214
使用接口優化“租車系統” 214
綜合訓練 .215
第4章 反射機制與常用類應用
學習目標 .219
任務引導 .219
相關知識 .219
4.1 Java反射機制. 219
4.2 Class類 . 222
4.2.1 Class類概述 .222
4.2.2 Class類常用方法 .224
4.3 獲取類信息. 225
4.3.1 獲取方法225
4.3.2 獲取屬性229
4.3.3 獲取構造方法232
4.4 動態調用. 235
4.4.1 創建對象236
4.4.2 修改屬性239
4.4.3 調用方法240
4.5 操作動態數組. 242
4.5.1 操作一維動態數組242
4.5.2 操作多維動態數組244
4.6 Java API文檔的使用 . 245
4.7 String類 246
4.7.1 String類的概念 247
4.7.2 String類的使用 249
4.8 StringBuffer類 . 255
4.8.1 StringBuffer類的使用 .255
4.8.2 StringBuffer內存模型 .257
4.9 異常處理. 257
4.9.1 異常概述258
4.9.2 異常處理262
4.9.3 異常使用注意事項270
4.9.4 拋出異常274
4.9.5 自定義異常類280
任務實施 .283
4.10 任務1 反射機制應用. 283
4.10.1 子任務1 Class類常用
操作測試283
4.10.2 子任務2 方法結構
獲取283
4.10.3 子任務3 動態創建對象、修改屬性和動態調用方法283
4.10.4 子任務4 動態數組實現不定員班級信息管理283
4.11 任務2 常用類應用 . 284
4.11.1 子任務1 計算字符串中子字符串出現的次數284
4.11.2 子任務2 完成Java工程師註冊的功能285
4.11.3 子任務3 字符串分割286
4.11.4 子任務4 使用Java API查找String類的方法並使用287
4.12 任務3 異常類應用. 287
4.12.1 子任務1 根據現有程序添加合適的異常處理代碼287
4.12.2 子任務2 手工拋出一個算數異常288
拓展訓練 .289
完成提交論文的功能289
綜合訓練 .291
第5章 數據結構應用
學習目標 .294
任務引導 .294
相關知識 .294
5.1 數據邏輯結構. 294
5.1.1 數據基本概念294
5.1.2 線性結構295
5.1.3 樹結構296
5.1.4 圖結構297
5.2 數據存儲結構. 298
5.2.1 順序存儲結構298
5.2.2 鏈式存儲結構299
5.3 線性結構. 299
5.3.1 線性表的存儲結構299
5.3.2 線性表301
5.3.3 棧305
5.3.4 隊列308
5.4 查找. 309
5.4.1 無序查找309
5.4.2 有序查找―二分查找310
5.5 排序. 312
5.5.1 選擇排序313
5.5.2 快速排序314
任務實施 .317
5.6 任務 數據結構應用. 317
5.6.1 子任務1 數組方式實現線性表基本操作317
5.6.2 子任務2 數組方式實現棧基本操作318
5.6.3 子任務3 數組方式實現隊列基本操作318
5.6.4 子任務4 二分查找指定數據318
5.6.5 子任務5 對指定數據實現選擇排序318
拓展訓練 .318
對指定數據實現快速排序318
綜合訓練 .319
第6章 集合應用
學習目標 .321
任務引導 .321
相關知識 .321
6.1 集合框架. 321
6.1.1 集合引入321
6.1.2 Collection接口框架 .322
6.1.3 Map接口框架 324
6.2 Set接口 . 324
6.2.1 Set接口方法 324
6.2.2 HashSet使用 325
6.2.3 TreeSet使用 .326
6.2.4 Comparable接口 327
6.3 Iterator迭代器 . 329
6.3.1 Iterator接口方法 329
6.3.2 Iterator使用 330
6.3.3 增強for循環 .332
6.4 List接口 333
6.4.1 List接口方法 .333
6.4.2 ArrayList使用 334
6.4.3 LinkedList使用 336
6.5 Map接口. 336
6.5.1 HashMap使用 336
6.5.2 Map接口方法 338
6.6 工具類. 338
6.6.1 Collections工具類常用方法338
6.6.2 Collections工具類使用 .340
6.6.3 Comparable與Comparator 341
6.6.4 Arrays工具類使用 .345
6.7 自動拆箱和裝箱. 347
6.7.1 自動拆箱和裝箱概念347
6.7.2 自動拆箱和裝箱使用348
6.8 泛型. 349
任務實施 .351
6.9 任務1 集合應用. 351
6.9.1 子任務1 實現學生信息存放與刪除351
6.9.2 子任務2 改寫“租車系統”,逆序輸出車輛名稱351
6.9.3 子任務3 為“租車系統”增加附加車輛信息功能351
6.9.4 子任務4 域名與內容關聯存儲實現352
6.10 任務2 集合工具類應用 352
6.10.1 子任務1 利用工具類實現學生信息比較352
6.10.2 子任務2 泛型方式實現“租車系統”352
拓展訓練 .352
對“瑞達系統”進行結構優化和功能完善352
綜合訓練 .353
第7章 文件操作應用
學習目標 .355
任務引導 .355
相關知識 .355
7.1 File類 355
7.1.1 File類構造方法 .355
7.1.2 File類使用 .357
7.1.3 靜態導入359
7.1.4 獲取目錄和文件360
7.2 字節流和字符流. 362
7.2.1 字節流363
7.2.2 字符流366
7.3 其他流. 369
7.3.1 緩衝流369
7.3.2 字節流轉換為字符流371
7.3.3 數據流372
7.4 XML解析 . 374
7.4.1 XML概述 .374
7.4.2 XML解析 .378
任務實施 .385
7.5 任務1 文件基本操作應用 385
7.5.1 子任務1 獲取目錄和文件路徑385
7.5.2 子任務2 字符流方式實現文件複製385
7.5.3 子任務3 數據流方式存取車輛信息385
7.6 任務2 XML文件操作應用 385
7.6.1 子任務1 XML方式存放車輛信息385
7.6.2 子任務2 解析XML車輛信息386
拓展訓練 .386
為“租車系統”增加信息保存功能386
綜合訓練 .387
第8章 線程應用
學習目標 .389
任務引導 .389
相關知識 .389
8.1 多線程. 389
8.1.1 線程引入389
8.1.2 多線程優勢390
8.1.3 線程狀態392
8.2 創建和使用線程. 393
8.2.1 創建線程類393
8.2.2 多線程使用394
8.3 線程控制. 396
8.3.1 線程控制方法397
8.3.2 終止線程398
8.3.3 線程等待和中斷等待400
8.3.4 等待其他線程完成402
8.3.5 設置線程優先級404
8.3.6 守護線程407
8.4 共享數據. 408
8.4.1 數據不一致408
8.4.2 控制共享數據410
8.4.3 多線程同步412
8.5 線程死鎖和協作. 417
8.5.1 線程死鎖417
8.5.2 線程協作419
任務實施 .424
8.6 任務 線程應用. 424
8.6.1 子任務1 多線程實現輸出424
8.6.2 子任務2 線程等待與中斷方式實現計數425
8.6.3 子任務3 多線程同步計數425
拓展訓練 .425
完成吃熱狗活動425
綜合訓練 .426
第9章 網絡編程應用
學習目標 .428
任務引導 .428
相關知識 .428
9.1 計算機網絡. 428
9.1.1 主要功能和分類428
9.1.2 網絡協議430
9.1.3 網絡分層模型430
9.1.4 TCP/IP協議簡介 432
9.1.5 數據封裝和解封435
9.2 IP地址和域名. 436
9.2.1 IP地址 436
9.2.2 IP地址類型 436
9.2.3 子網掩碼438
9.2.4 域名439
9.3 網絡配置. 439
9.3.1 配置和查看439
9.3.2 常用TCP/IP網絡命令440
9.4 Java與網絡. 441
9.4.1 IP地址類 442
9.4.2 URL類444
9.4.3 URLConnection類 .446
9.5 Socket編程 . 449
9.5.1 基於TCP的Socket編程449
9.5.2 基於UDP的Socket編程454
任務實施 .456
9.6 任務1 IP地址配置與ping測試 456
9.7 任務2 網絡編程常用類測試 457
拓展訓練 .457
客戶端與服務器信息交互457
綜合訓練 .458
第 10章 軟件測試應用
學習目標 .460
任務引導 .460
相關知識 .460
10.1 軟件測試. 460
10.1.1 軟件測試概念460
10.1.2 測試與調試461
10.2 軟件缺陷. 462
10.2.1 確定軟件缺陷462
10.2.2 有效記錄缺陷463
10.3 缺陷報告處理. 465
10.3.1 缺陷報告處理流程465
10.3.2 缺陷報告詳細內容466
10.4 軟件測試流程. 467
10.4.1 需求分析階段467
10.4.2 設計和編碼階段468
10.4.3 集成、系統和驗收測試469
10.4.4 單元、集成、系統和驗收測試469
10.5 軟件測試分類. 471
10.5.1 黑盒測試和白盒測試471
10.5.2 手工測試和自動測試472
10.6 JUnit初探 . 472
10.6.1 “加”類JUnit 4測試 .473
10.6.2 “計算器”類測試474
10.6.3 JUnit 4知識拓展 479
任務實施 .483
10.7 任務 JUnit測試Add方法 483
拓展訓練 .483
使用JUnit 4對計算器類單元測試483
綜合訓練 .484
學習目標 .2
任務引導 .2
相關知識 .2
1.1 計算機語言. 2
1.1.1 機器語言2
1.1.2 匯編語言3
1.1.3 高級語言3
1.2 Java發展史. 5
1.2.1 Java的誕生 5
1.2.2 JDK 1.0發佈 5
1.2.3 Java 2問世 .5
1.2.4 JavaSE 5.0發佈 6
1.2.5 JDK 7.0發佈 6
1.2.6 JDK 8.0發佈 6
1.2.7 JDK 9.0發佈 7
1.2.8 JDK 10.0發佈 7
1.3 Java的特點. 7
1.3.1 Java是面向對象的 8
1.3.2 Java是平臺無關的 8
1.3.3 Java語言是健壯的 8
1.4 Java程序工作原理. 9
1.4.1 Java虛擬機 9
1.4.2 垃圾回收機制11
1.5 Java SE的結構 11
1.6 標識符和關鍵字. 12
1.6.1 標識符12
1.6.2 關鍵字13
1.7 Java注解. 13
1.7.1 Java注解 .13
1.7.2 內建注解15
1.7.3 自定義注解20
1.8 變量和常量. 26
1.8.1 變量26
1.8.2 常量27
1.9 Java數據類型. 27
1.9.1 Java數據類型概述 27
1.9.2 整型29
1.9.3 浮點型30
1.9.4 字符型31
1.9.5 布爾型32
1.9.6 基本數據類型轉換32
1.10 成員變量和局部變量. 34
1.11 Java運算符 . 36
1.11.1 算術運算符 36
1.11.2 邏輯運算符 39
1.11.3 位運算符 40
1.12 Java表達式. 42
1.12.1 Java表達式概述 42
1.12.2 表達式的運算順序43
任務實施 .44
1.13 任務1 開發環境搭建. 44
1.14 任務2 注解應用. 46
1.14.1 子任務1 內建注解應用46
1.14.2 子任務2 自定義注解與元注解應用46
1.15 任務3 Java簡易程序開發 46
1.15.1 子任務1 第 一個Java程序46
1.15.2 子任務2 工程師月薪計算51
拓展訓練 .52
“瑞達系統”獲取用戶輸入52
綜合訓練 .56
第 2章 控制結構、方法與數組應用
學習目標 .59
任務引導 .59
相關知識 .59
2.1 if語句 59
2.1.1 if語句的語法 .60
2.1.2 嵌套if語句 .65
2.2 switch語句 67
2.2.1 switch語句概述 .67
2.2.2 switch語句的使用 .68
2.3 循環語句. 70
2.3.1 while循環 .71
2.3.2 do.while循環 74
2.3.3 for循環 .75
2.3.4 雙重for循環 .77
2.3.5 跳轉語句79
2.4 方法. 79
2.4.1 Java方法概述 79
2.4.2 Java方法的使用 84
2.4.3 方法遞歸調用86
2.5 數組. 87
2.5.1 一維數組87
2.5.2 引用數據類型90
2.5.3 值傳遞與引用傳遞91
2.5.4 一維數組初始化95
2.6 排序算法. 96
2.6.1 冒泡排序96
2.6.2 插入排序97
2.7 二維數組. 98
2.7.1 二維數組簡介98
2.7.2 二維數組的使用99
任務實施 .101
2.8 任務1 控制結構應用. 101
2.8.1 子任務1 商城送禮101
2.8.2 子任務2 學習班結業101
2.8.3 子任務3 功能模塊跳轉102
2.9 任務2 方法應用. 106
2.10 任務3 數組應用115
2.10.1 子任務1 分數數列前20項求和115
2.10.2 子任務2 楊輝三角形打印116
拓展訓練 .117
“瑞達系統”刪除和查詢模塊實現117
綜合訓練 .124
第3章 類與對象應用
學習目標 .127
任務引導 .127
相關知識 .128
3.1 類和對象概述. 128
3.1.1 面向過程與面向對象128
3.1.2 類和對象的概念129
3.2 Java類. 131
3.2.1 Java類的定義 131
3.2.2 Java類的創建和使用 132
3.2.3 Java類的簡單運用 135
3.2.4 封裝141
3.3 構造方法. 144
3.3.1 構造方法解決問題144
3.3.2 構造方法的使用145
3.4 對象初始化過程. 147
3.4.1 初始化塊148
3.4.2 對象初始化內存結構149
3.5 重載. 151
3.5.1 重載的定義151
3.5.2 重載方法的使用151
3.6 抽象和封裝. 154
3.6.1 類抽象154
3.6.2 類封裝155
3.6.3 方法的實現162
3.7 繼承. 163
3.7.1 繼承的概念164
3.7.2 繼承的使用165
3.7.3 繼承和訪問權限169
3.7.4 方法重寫170
3.7.5 屬性覆蓋172
3.7.6 繼承中的初始化174
3.8 多態. 176
3.8.1 向上轉型176
3.8.2 向下轉型179
3.9 包和訪問控制. 181
3.9.1 Java包 182
3.9.2 引用包183
3.9.3 訪問權限186
3.9.4 static關鍵字 .190
3.10 抽象類. 195
3.10.1 抽象類的概念195
3.10.2 抽象類的使用195
3.10.3 抽象類的特徵198
3.11 接口 . 199
3.11.1 接口的概念 199
3.11.2 接口的使用 202
3.11.3 接口的特徵 205
3.11.4 接口的應用 210
任務實施 .212
3.12 任務1 類和對象應用. 212
3.12.1 子任務1 封裝學生類和老師類212
3.12.2 子任務2 構造方法初始化學生類和老師類213
3.12.3 子任務3 重載學習方法213
3.13 任務2 包和訪問控制應用 213
3.13.1 子任務1 導入類和包213
3.13.2 子任務2 產生隨機數213
3.13.3 子任務3 static關鍵作用範圍測試213
3.14 任務3 抽象類與接口應用 214
3.14.1 子任務1 繼承角度實現租車系統214
3.14.2 子任務2 多態角度實現租車系統214
3.14.3 子任務3 抽象類方式實現人與中國人的關係214
3.14.4 子任務4 接口方式實現打印機工作過程214
拓展訓練 .214
使用接口優化“租車系統” 214
綜合訓練 .215
第4章 反射機制與常用類應用
學習目標 .219
任務引導 .219
相關知識 .219
4.1 Java反射機制. 219
4.2 Class類 . 222
4.2.1 Class類概述 .222
4.2.2 Class類常用方法 .224
4.3 獲取類信息. 225
4.3.1 獲取方法225
4.3.2 獲取屬性229
4.3.3 獲取構造方法232
4.4 動態調用. 235
4.4.1 創建對象236
4.4.2 修改屬性239
4.4.3 調用方法240
4.5 操作動態數組. 242
4.5.1 操作一維動態數組242
4.5.2 操作多維動態數組244
4.6 Java API文檔的使用 . 245
4.7 String類 246
4.7.1 String類的概念 247
4.7.2 String類的使用 249
4.8 StringBuffer類 . 255
4.8.1 StringBuffer類的使用 .255
4.8.2 StringBuffer內存模型 .257
4.9 異常處理. 257
4.9.1 異常概述258
4.9.2 異常處理262
4.9.3 異常使用注意事項270
4.9.4 拋出異常274
4.9.5 自定義異常類280
任務實施 .283
4.10 任務1 反射機制應用. 283
4.10.1 子任務1 Class類常用
操作測試283
4.10.2 子任務2 方法結構
獲取283
4.10.3 子任務3 動態創建對象、修改屬性和動態調用方法283
4.10.4 子任務4 動態數組實現不定員班級信息管理283
4.11 任務2 常用類應用 . 284
4.11.1 子任務1 計算字符串中子字符串出現的次數284
4.11.2 子任務2 完成Java工程師註冊的功能285
4.11.3 子任務3 字符串分割286
4.11.4 子任務4 使用Java API查找String類的方法並使用287
4.12 任務3 異常類應用. 287
4.12.1 子任務1 根據現有程序添加合適的異常處理代碼287
4.12.2 子任務2 手工拋出一個算數異常288
拓展訓練 .289
完成提交論文的功能289
綜合訓練 .291
第5章 數據結構應用
學習目標 .294
任務引導 .294
相關知識 .294
5.1 數據邏輯結構. 294
5.1.1 數據基本概念294
5.1.2 線性結構295
5.1.3 樹結構296
5.1.4 圖結構297
5.2 數據存儲結構. 298
5.2.1 順序存儲結構298
5.2.2 鏈式存儲結構299
5.3 線性結構. 299
5.3.1 線性表的存儲結構299
5.3.2 線性表301
5.3.3 棧305
5.3.4 隊列308
5.4 查找. 309
5.4.1 無序查找309
5.4.2 有序查找―二分查找310
5.5 排序. 312
5.5.1 選擇排序313
5.5.2 快速排序314
任務實施 .317
5.6 任務 數據結構應用. 317
5.6.1 子任務1 數組方式實現線性表基本操作317
5.6.2 子任務2 數組方式實現棧基本操作318
5.6.3 子任務3 數組方式實現隊列基本操作318
5.6.4 子任務4 二分查找指定數據318
5.6.5 子任務5 對指定數據實現選擇排序318
拓展訓練 .318
對指定數據實現快速排序318
綜合訓練 .319
第6章 集合應用
學習目標 .321
任務引導 .321
相關知識 .321
6.1 集合框架. 321
6.1.1 集合引入321
6.1.2 Collection接口框架 .322
6.1.3 Map接口框架 324
6.2 Set接口 . 324
6.2.1 Set接口方法 324
6.2.2 HashSet使用 325
6.2.3 TreeSet使用 .326
6.2.4 Comparable接口 327
6.3 Iterator迭代器 . 329
6.3.1 Iterator接口方法 329
6.3.2 Iterator使用 330
6.3.3 增強for循環 .332
6.4 List接口 333
6.4.1 List接口方法 .333
6.4.2 ArrayList使用 334
6.4.3 LinkedList使用 336
6.5 Map接口. 336
6.5.1 HashMap使用 336
6.5.2 Map接口方法 338
6.6 工具類. 338
6.6.1 Collections工具類常用方法338
6.6.2 Collections工具類使用 .340
6.6.3 Comparable與Comparator 341
6.6.4 Arrays工具類使用 .345
6.7 自動拆箱和裝箱. 347
6.7.1 自動拆箱和裝箱概念347
6.7.2 自動拆箱和裝箱使用348
6.8 泛型. 349
任務實施 .351
6.9 任務1 集合應用. 351
6.9.1 子任務1 實現學生信息存放與刪除351
6.9.2 子任務2 改寫“租車系統”,逆序輸出車輛名稱351
6.9.3 子任務3 為“租車系統”增加附加車輛信息功能351
6.9.4 子任務4 域名與內容關聯存儲實現352
6.10 任務2 集合工具類應用 352
6.10.1 子任務1 利用工具類實現學生信息比較352
6.10.2 子任務2 泛型方式實現“租車系統”352
拓展訓練 .352
對“瑞達系統”進行結構優化和功能完善352
綜合訓練 .353
第7章 文件操作應用
學習目標 .355
任務引導 .355
相關知識 .355
7.1 File類 355
7.1.1 File類構造方法 .355
7.1.2 File類使用 .357
7.1.3 靜態導入359
7.1.4 獲取目錄和文件360
7.2 字節流和字符流. 362
7.2.1 字節流363
7.2.2 字符流366
7.3 其他流. 369
7.3.1 緩衝流369
7.3.2 字節流轉換為字符流371
7.3.3 數據流372
7.4 XML解析 . 374
7.4.1 XML概述 .374
7.4.2 XML解析 .378
任務實施 .385
7.5 任務1 文件基本操作應用 385
7.5.1 子任務1 獲取目錄和文件路徑385
7.5.2 子任務2 字符流方式實現文件複製385
7.5.3 子任務3 數據流方式存取車輛信息385
7.6 任務2 XML文件操作應用 385
7.6.1 子任務1 XML方式存放車輛信息385
7.6.2 子任務2 解析XML車輛信息386
拓展訓練 .386
為“租車系統”增加信息保存功能386
綜合訓練 .387
第8章 線程應用
學習目標 .389
任務引導 .389
相關知識 .389
8.1 多線程. 389
8.1.1 線程引入389
8.1.2 多線程優勢390
8.1.3 線程狀態392
8.2 創建和使用線程. 393
8.2.1 創建線程類393
8.2.2 多線程使用394
8.3 線程控制. 396
8.3.1 線程控制方法397
8.3.2 終止線程398
8.3.3 線程等待和中斷等待400
8.3.4 等待其他線程完成402
8.3.5 設置線程優先級404
8.3.6 守護線程407
8.4 共享數據. 408
8.4.1 數據不一致408
8.4.2 控制共享數據410
8.4.3 多線程同步412
8.5 線程死鎖和協作. 417
8.5.1 線程死鎖417
8.5.2 線程協作419
任務實施 .424
8.6 任務 線程應用. 424
8.6.1 子任務1 多線程實現輸出424
8.6.2 子任務2 線程等待與中斷方式實現計數425
8.6.3 子任務3 多線程同步計數425
拓展訓練 .425
完成吃熱狗活動425
綜合訓練 .426
第9章 網絡編程應用
學習目標 .428
任務引導 .428
相關知識 .428
9.1 計算機網絡. 428
9.1.1 主要功能和分類428
9.1.2 網絡協議430
9.1.3 網絡分層模型430
9.1.4 TCP/IP協議簡介 432
9.1.5 數據封裝和解封435
9.2 IP地址和域名. 436
9.2.1 IP地址 436
9.2.2 IP地址類型 436
9.2.3 子網掩碼438
9.2.4 域名439
9.3 網絡配置. 439
9.3.1 配置和查看439
9.3.2 常用TCP/IP網絡命令440
9.4 Java與網絡. 441
9.4.1 IP地址類 442
9.4.2 URL類444
9.4.3 URLConnection類 .446
9.5 Socket編程 . 449
9.5.1 基於TCP的Socket編程449
9.5.2 基於UDP的Socket編程454
任務實施 .456
9.6 任務1 IP地址配置與ping測試 456
9.7 任務2 網絡編程常用類測試 457
拓展訓練 .457
客戶端與服務器信息交互457
綜合訓練 .458
第 10章 軟件測試應用
學習目標 .460
任務引導 .460
相關知識 .460
10.1 軟件測試. 460
10.1.1 軟件測試概念460
10.1.2 測試與調試461
10.2 軟件缺陷. 462
10.2.1 確定軟件缺陷462
10.2.2 有效記錄缺陷463
10.3 缺陷報告處理. 465
10.3.1 缺陷報告處理流程465
10.3.2 缺陷報告詳細內容466
10.4 軟件測試流程. 467
10.4.1 需求分析階段467
10.4.2 設計和編碼階段468
10.4.3 集成、系統和驗收測試469
10.4.4 單元、集成、系統和驗收測試469
10.5 軟件測試分類. 471
10.5.1 黑盒測試和白盒測試471
10.5.2 手工測試和自動測試472
10.6 JUnit初探 . 472
10.6.1 “加”類JUnit 4測試 .473
10.6.2 “計算器”類測試474
10.6.3 JUnit 4知識拓展 479
任務實施 .483
10.7 任務 JUnit測試Add方法 483
拓展訓練 .483
使用JUnit 4對計算器類單元測試483
綜合訓練 .484
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

