Java程序設計(第2版) ——增量式項目驅動一體化教程

陳海山,何廣贏,苑俊英 等

  • 出版商: 電子工業
  • 出版日期: 2021-06-01
  • 定價: $390
  • 售價: 8.5$332
  • 語言: 簡體中文
  • 頁數: 432
  • 裝訂: 平裝
  • ISBN: 7121412012
  • ISBN-13: 9787121412011
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

本書共四部分:第一部分和第三部分為Java程序設計基本技能,第二部分和第四部分為Java語言實訓內容。在教學安排上,教師可以打亂基本技能的編寫順序,通過項目驅動的形式進行基本技能的講解,即在第二部分簡易計算器項目基礎上,進行第一部分內容的融合與展開;在第四部分局域網聊天工具項目基礎上,進行第三部分內容的融合與展開。本書既可作為電腦及相關專業的Java語言課程的教材,也可作為工程人員和科技工作者的自學參考書。

作者簡介

陳海山,男,中山大學南方學院電氣與計算機工程學院教師,廣東省"千百十”校級培養對象,廣東省育苗工程(自然科學)項目負責人。

目錄大綱

目錄
第一部分Java程序設計基本技能(一)
第1章Java的特點、基本內容和編程環境3
1.1 Java語言的歷史和特點3
1.1.1 Java語言的發展歷史3
1.1.2 Java語言的特點4
1.2本書基本內容與教學思路5
1.3 Java開發環境介紹6
1.3.1 JDK的下載、安裝和環境變量的設置6
1.3.2 Eclipse的安裝及使用9
1.3.3 MyEclipse 8.5.0安裝、界面介紹13
1.3.4 MySQL的安裝及功能介紹16
1.3.5程序調試技術24
1.4項目開發模板24
1.4.1增量開發簡介24
1.4.2本書項目開發採用的模板25
實驗01開發環境搭建與使用26
習題1 27

第2章Java應用基礎28
2.1標識符和關鍵字28
2.1.1標識符28
2.1.2關鍵字29
2.2數據類型29
2.2.1基本數據類型30
2.2.2複合數據類型30
2.2.3枚舉類型30
2.2.4類型轉換31
2.3變量和常量32
2.3.1常量32
2.3.2變量34
2.4運算符和表達式36
2.4.1賦值運算符36
2.4.2算術運算符37
2.4.3關係運算符37
2.4.4條件運算符38
2.4.5邏輯運算符38
2.4.6位運算符38
2.4.7其他運算符39
2.4.8運算的優先級和結合性40
2 .4.9表達式41
2.5程序控制結構43
2.5.1選擇結構44
2.5.2循環結構48
2.5.3跳轉語句52
本章小結55
習題2 55

第3章面向對象編程57
3.1類和對象57
3.1.1類的聲明58
3.1.2類的成員58
3.1.3對象的創建和使用60
3.1.4對象的生命週期61
3. 2句柄61
3.3方法的調用和參數的傳遞62
3.3.1構造方法62
3.3.2方法調用63
3.3.3方法的參數傳遞66
3.4類的繼承和多態71
3.4.1繼承71
3.4.2多態78
3.5包80
3.6抽像類和接口83
3.6.1抽像類83
3.6.2接口84
3.7內部類和匿名的內部類86
本章小結87
習題3 88

第4章數組、字符串、向量和泛型89
4.1數組89
4.1.1一維數組89
4.1.2多維數組93
4.2增強的for循環96
4.3字符串和字符串緩衝區97
4.3.1 String 98
4.3.2 StringBuffer 100
4.4向量102
4.4.1 Vector類的構造方法103
4.4.2 Vector類的常用成員方法103
4 .4.3 Vector應用舉例104
4.5鍊錶104
4.5.1鍊錶LinkedList 105
4.5.2數組鍊錶ArrayList 106
4.6泛型107
4.6.1使用泛型的原因107
4.6 .2泛型在集合類中的使用108
4.6.3定義泛型類和泛型接口109
4.7枚舉110
本章小結111
習題4 112

第5章圖形用戶界面113
5.1 Swing概述113
5.1.1 Swing組件113
5.1.2 Swing容器116
5.1.3基於Swing的JavaGUI設計思路119
5.2 Swing佈局管理器120
5 .2.1流式佈局管理器FlowLayout 120
5.2.2網格佈局管理器GridLayout 122
5.2.3邊界佈局管理器BorderLayout 123
5.2.4 CardLayout卡片佈局管理器125
5.2.5網格袋佈局管理器GridBagLayout 126
5.2.6盒式佈局管理器BoxLayout 127
5.3 Swing事件處理128
5.3.1 Java事件處理機制129
5.3.2鼠標事件處理130
5.3. 3按鈕動作事件處理132
5.4 Swing高級圖形用戶界面135
5.4.1菜單135
5.4.2表格147
5.4.3樹149
5.5 JavaFX 151
5.5.1 JavaFX概述151
5 .5.2 JavaFX窗口結構151
5.5.3 JavaFX CSS樣式155
5.5.4 JavaFX佈局面板155
5.5.5 JavaFX常用控件161
5.5.6 JavaFX事件處理164
本章小結170
習題5 170

第二部分Java GUI實訓――簡易計算器
第6章標準型計算器175
6.1需求分析與項目目標175
6.1.1需求分析175
6.1.2項目目標179
6.2功能分析與軟件設計179
6.2.1功能分析179
6.2.2軟件設計180
6.2.3四則運算過程181
6.3標準型計算器增量項目開發計劃182
6.4增量6-1:顯示界面183
6.4.1 Java GUI程序設計過程183
6.4.2增量6-1的編程實現184
6.4.3增量6-1的程序分析:GUI界面編程模板分析187
6.4.4 Java圖形界面的程序編碼流程187
6.4.5圖形設計:Swing容器188
6.4 .6圖形設計:Swing基本組件――文本框JTextField 190
6.4.7圖形設計:Swing基本組件――按鈕JButton 191
6.5增量6-2:處理數字和運算符輸入193
6.5. 1按鈕的事件響應193
6.5.2使用字符串數組鍊錶記錄輸入內容195
6.5.3增量6-2的編程實現196
6.6增量6-3:四則運算(一) 197
6.6.1用startCaculation方法實現四則運算過程197
6.6.2增量6 -3的編程實現198
6.7增量6-4:四則運算(二) 199
6.8增量6-5:處理回退鍵輸入和清空鍵輸入200
6.9四則運算的另一種算法201
本章小結202
實驗02標準型計算器:實現增量6-1 202
實驗03標準型計算器:實現增量6-2 203
實驗04標準型計算器:實現增量6-3 204
實驗05標準型計算器:實現增量6-4 205
實驗06標準型計算器:實現增量6-5和界面優化205
實驗07標準型計算器:程序優化206
習題6 207

第7章科學型計算器208
7. 1需求分析和項目目標209
7.1.1需求分析209
7.1.2項目目標210
7.2功能分析與軟件設計210
7.3增量項目開發211
7.3.1增量7-1 :直接實現科學型計算器212
7.3.2增量7-2:通過繼承實現科學計算器213
本章小結216
實驗08直接實現科學計算器217
實驗09通過繼承實現科學計算器217

第8章複合型計算器219
8.1需求分析與項目目標219
8.1.1需求分析220
8.1.2項目目標223
8.2功能分析與軟件設計223
8.3技術準備和增量項目開發223
8.4複合型計算器增量開發計劃224
8.5增量8-1:複合型計算器Ⅰ型和Ⅱ型224
8.6增量8- 2:複合計算器Ⅲ型226
8.7增量8-3:複合計算器Ⅳ型226
本章小結226
實驗10實現複合型計算器(三選一) 227

第三部分Java程序設計基本技能(二)
第9章異常處理231
9.1異常和錯誤231
9.2異常的處理方式232
9.2.1捕獲異常233
9.2.2聲明拋出異常234
9.3異常處理的基本原則235
9. 4 try…catch…resources語句237
9.5斷言238
本章小結239
習題9 239

第10章文件處理與數據流241
10.1流的概念241
10.2字節流241
10.2.1字節輸入流和字節輸出流242
10.2.2文件字節流243
10.2.3字節數組流245
10.2.4數據流247
10.2.5緩衝字節流249
10.2.6標準輸入流和輸出流250
10.3字符流252
10.3.1 Reader和Writer 252
10.3.2文件字符流253
10.3.3字符數組流255
10.3.4緩衝字符流257
10.3.5字符流打印類259
10.3.6字符與字節相互轉換流259
10.4隨機訪問文件261
10.5對象序列化262
10.6文件264
本章小結266
習題10 266

第11章網絡編程268
11.1計算機網絡基本知識268
11.2 URL類270
11.2.1創建URL對象270
11.2.2讀取頁面信息271
11.2.3創建一個到URL的連接272
11.3 InetAddress類273
11.4 TCP Socket通信274
11.5 UDP通信278
11.5.1數據報包DatagramPacket類278
11.5.2收發數據報DatagramSocket類280
11.5.3基於UDP通信舉例281
本章小結283
習題11 283

第12章多線程284
12.1線程的基本概念284
12.2線程的創建284
12. 2.1繼承Thread類285
12.2.2實現Runnable接口286
12.3線程的狀態與線程調度287
12.4線程同步293
12.4.1線程同步的示例293
12.4.2線程同步方法1:synchronized方法295
12.4.3線程同步方法2:synchronized數據296
12.4.4線程同步方法3:class同步296
12.5線程間的通信297
12.6多線程中的死鎖問題300
12.6.1死鎖問題的產生的例子300
12.6.2死鎖問題常用解決方法301
本章小結302
習題12 303

第13章Java數據庫編程技術304
13.1關係型數據庫304
13.1. 1數據庫表304
13.1.2約束條件305
13.2 SQL基本知識306
13.2.1 SQL基本語句306
13.2.2 SQL的基本數據類型307
13.2.3 SQL數據庫創建過程308
13.3 JDBC基本知識309
13.3.1 java.sql軟件包309
13.3.2 JDBC數據庫訪問過程309
13.4 MySQL與Java數據庫開發311
13.4.1使用JDBC實現與MySQL 5.0數據庫的開發311
13.4.2通過JDBC實現MySQL數據庫開發的一般過程316
本章小結316
習題13 317

第四部分網絡通信與數據庫實訓――局域網聊天工具
第14章點到點聊天工具:網絡通信321
14.1需求分析和項目目標321
14.1. 1需求分析321
14.1.2用例分析323
14.1.3需求列表324
14.1.4項目目標324
14.2功能分析和軟件設計325
14.2.1界面設計325
14.2.2文本聊天功能325
14.2.3文件傳輸功能326
14.2.4網絡通信功能327
14.2.5增量開發計劃330
14.3增量項目開發330
14.3.1增量14-1 :實現聊天工具界面330
14.3.2增量14-2:實現文本聊天331
14.3.3增量14-3:實現文件傳輸過程336
本章小結339
實驗11增量14-1:實現聊天器界面339
實驗12增量14-2:實現文本聊天340
實驗13增量14-3:實現文件傳輸341
習題14 343

第15章基於C/S的聊天工具Ⅰ:多線程技術344
15.1 C/S模式與多線程技術的知識準備344
15.1.1 C/S模式344
15.1.2多線程技術351
15.2需求分析和項目目標353
15.2.1需求分析354
15.2.2項目目標358
15 .3功能分析和軟件設計360
15.3.1 C/S模式中的客戶機軟件設計360
15.3.2 C/S模式中服務器軟件設計362
15.3.3 C/S模式中的通信協議365
15.3.4增量開發計劃366
15.4增量實現367
15.4.1增量15-1:採用多線程技術分離服務器和客戶機代碼367
15.4.2增量15- 2:採用JTable實現好友列表、用戶列表368
15.4.3增量15-3:實現服務器端的用戶管理功能373
15.4.4增量15-4:實現C/S模式中客戶機之間的聊天功能375
15.4.5增量15-5:實現C/S模式的群聊功能378
本章小結379
實驗14增量15-1:用多線程技術分離服務器與客戶機代碼379
實驗15增量15-2 :採用JTable實現好友列表383
實驗16增量15-3:實現C/S模式中端的用戶管理385
實驗17增量15-4:實現C/S模式客戶機間的聊天功能386
實驗18增量15 -5:實現C/S模式中的群聊功能389
習題15 390

第16章基於C/S的聊天工具II:數據庫技術392
16.1需求分析與項目目標392
16.1.1需求分析392
16 .1.2需求列表393
16.2功能分析與軟件設計393
16.2.1登錄驗證功能393
16.2.2用戶數據下載功能394
16.2.3用戶信息數據表的設計396
16.2 .4服務器與數據庫中用戶信息數據表的接口設計399
16.2.5增量計劃401
16.3增量實現401
16.3.1增量16-1:採用數據庫保存用戶數據401
16.3 .2增量16-2:實現服務器數據初始化、用戶註冊/登錄404
16.3.3增量16-3:實現用戶數據下載功能409
本章小結411
實驗19增量16-1:採用數據庫保存用戶數據412
實驗20增量16-2:實現數據庫初始化與用戶註冊/登錄412
實驗21增量16-3:實現用戶數據下載功能415
習題16 416
參考文獻417