內容簡介
本書基於“案例分析——知識學習——案例實現”和“每章案例——綜合案例”的結構,本著Java基礎和架構套用並重的原則進行編寫,教材內容主要包括:Java的淵源和特點、Java編程基礎、Java流程控制與算法、類的結構及套用、面向對象編程基本原則、多執行緒提享套用、Java常用的API和GUI圖形界面等。本書中的程式在JDK 7.0中經過驗證,並都給出運行結果,教材案例通過跨獄勸二維碼輔以微視頻進行線上解讀。本書在編寫過程中,重要內容注意提煉,重點內容重點提示,使平面教材具有立體感,使讀者便於學習和理解。同時為了教師教學方便,主要的程式代碼都增加了行號。課後習題分為學習內容“積木化”的練習和拓展研討題,並提供參考答案,每章內容都安排實訓內槓頌兵容,便於讀者“用中學,學中用”。本書既可作為大中專學校的Java程式設計的教材,又可作為Java自學者的入門用書。
圖書目錄
第1章 Java概述 1
1.1 Java崛起 1
1.2 Java與C、C++ 3
1.2.1 Java和C++ 3
1.2.2 Java與C 3
1.3 Java語言特點及更新 5
1.4 Java程式的類型及其不同的編程模式 6
1.5 Java開發工具入門 8
1.5.1 JDK的下載、安裝 8
1.5.2 配置環境變數 9
1.5.3 JDK開發工具簡介 11
1.6 Java程式開發過程 11
1.7 實訓 18
習題1 18
問題探究1 18
第2章 Java編程基礎 20
2.1 標識符、關鍵字和分隔設定 20
2.1.1 標識符和關鍵字 20
2.1.2 分隔設定 21
2.2 數據類型 22
2.2.1 基本數據類型 23
2.2.2 常量和變數 24
2.3 運算符與表達式 26
2.3.1 算術運算符 26
2.3.2 賦值運算符 27
2.3.3 關係運算符 28
2.3.4 邏輯運算符 29
2.3.5 條件運算符 29
2.3.6 其他運算符 30
2.3.7 運算符的優先權 30
2.4 Scanner鍵盤輸入 30
2.5 案例實現 33
習題2 33
問題探究2 34
第3章 程式流程控制結構和方法 36
3.1 語句和程式流程控制結構 36
3.2 選擇結構 37
3.2.1 選擇語句 37
3.2.2 多選擇結構switch語句 41
3.3 循環結構 44
3.3.1 三種循環語句 44
3.3.2 循環程式結構小結 48
3.3.3 循環嵌套與continue、break語句 48
3.4 算法設計* 51
3.4.1 疊代算法 51
3.4.2 窮舉算法 52
3.4.3 遞歸算法 54
3.5 案例實現 55
習題3 55
問題探究3 56
第4章 數組 57
4.1 數組的基本概念 57
4.2 一維數組 58
4.2.1 一維數組的聲明 58
4.2.2 一維數組記憶體申請 58
4.2.3 一維數組的初始化 59
4.2.4 測定數組的長遷只燥度 60
4.2.5 for each語句與數組 61
4.3 二維數組 62
4.3.1 認識二維數組 62
4.3.2 二維數組的奔霸挨歡聲明與創建 63
4.3.3 二維數組元素的初始化 64
4.3.4 二維數組的引用 65
4.4 案例實現*(課外研學) 67
習題4 70
問題探究4 71
第5章 Java類和對象 73
5.1 面向對象編程 73
5.2 類的描述 76
5.2.1 類的定義 76
5.2.2 成員變數的訪問控制符 78
5.2.3 成員方法 79
5.2.4 成員變數和局部變數 81
5.2.5 final變數 82
5.3 對象的創建與使用 82
5.3.1 對象的創建 82
5.3.2 對象的比較 84
5.3.3 對象的譽鴉欠戲使用 85
5.3.4 釋放對象 89
5.3.5 Java變數記憶體分配 89
5.3.6 匿名對象 90
5.4 類的構造方法 91
5.4.1 構造方法的作用和定義 91
5.4.2 this引用 93
5.5 static變數及static方法 99
5.5.1 static變數 99
5.5.2 static方法 100
5.6 對象初始化過程 103
5.7 成員方法 106
5.7.1 方法調用與參數傳遞方式 106
5.7.2 方法重載 111
5.7.3 final最終方法和abstract抽象方法 113
5.8 複雜程式解決方案和方法 113
5.9 案例實現 117
習題5 120
問題協去遷探究5 123
第6章 類的繼承和接口 126
6.1 類的繼承 126
6.1.1 繼承的概念 126
6.1.2 創建子類 127
6.1.3 關於父類的構造方法 128
6.2 成員變數的隱藏和成員方法的重構 131
6.3 抽象類 133
6.4 接口 135
6.4.1 接口概述 135
6.4.2 接口的定義 136
6.4.3 實現接口的類定義 136
6.4.4 接口的多態性 139
6.4.5 Java 8接口擴展方法 141
6.5 泛型 142
6.5.1 泛型的概念和泛型類的聲明 142
6.5.2 泛型套用 142
6.6 案例實現 144
習題6 148
問題探究6 149
第7章 Java API初步 150
7.1 Java SE API官網下載 150
7.2 Java輸入/輸出 151
7.2.1 標準輸出方法 151
7.2.2 命令行參數輸入法的套用 153
7.2.3 流式互動輸入/輸出的套用 154
7.2.4 Java I/O基本模型 155
7.2.5 檔案數據的讀/寫 157
7.2.6 JOptionPane對話框輸入法 159
7.3 字元串類 160
7.3.1 創建String對象 161
7.3.2 創建StringBuffer對象 162
7.3.3 正則表達式與模式匹配實例 163
7.3.4 Java中正則表達式常用的語法 164
7.3.5 模式匹配方法 164
7.4 顏色類與圖形繪製類 166
7.4.1 圖形的顏色控制 166
7.4.2 類Graphics的基本圖形 167
7.5 集合ArrayList 170
7.5.1 集合概述 170
7.5.2 類ArrayList的套用 171
7.5.3 ArrayList的綜合套用 174
7.5.4 類Arrays 175
7.6 Java 8新特性* 177
7.7 Java 9 入門體驗 178
7.8 案例實現*(課外研學) 181
習題7 182
問題探究7 183
第8章 包和異常 185
8.1 包 185
8.1.1 創建包 186
8.1.2 類的包外引用 187
8.2 異常處理 189
8.2.1 異常的基本概念 190
8.2.2 異常處理機制 193
8.2.3 自定義異常類 197
8.2.4 GUI應用程式的異常處理 198
8.3 案例實現 200
習題8 203
問題探究8 203
第9章 面向對象程式設計的基本原則及初步設計模式* 204
9.1 UML類圖 204
9.1.1 類的UML圖 205
9.1.2 UML接口表示 205
9.1.3 UML依賴關係 205
9.1.4 UML關聯關係 206
9.1.5 UML聚合關係 206
9.1.6 UML組合關係 207
9.1.7 泛化關係 207
9.1.8 實現關係 208
9.2 面向對象程式設計的基本原則 209
9.2.1 發現變化,封裝變化 209
9.2.2 單一職責原則和最少知識原則 212
9.2.3 開放—封閉原則 212
9.2.4 子類型能夠替換基類型原則 213
9.2.5 合成/聚合復用原則 215
9.3 案例實現 215
習題9 219
問題探究9 219
第10章 圖形用戶界面 221
10.1 圖形用戶界面概述 221
10.1.1 圖形用戶界面組件 221
10.1.2 組件分類 222
10.1.3 常用容器類的套用 223
10.2 事件處理 227
10.2.1 基本概念 227
10.2.2 事件處理機制 229
10.2.3 事件處理的實現方式 230
10.2.4 適配器類 234
10.3 一般組件 237
10.3.1 標籤 237
10.3.2 按鈕 237
10.3.3 文本框 238
10.3.4 文本區 238
10.3.5 列表框 240
10.3.6 滾動窗格 242
10.3.7 複選框和單選按鈕 243
10.3.8 滑動條 245
10.4 選單與對話框 250
10.4.1 創建選單 250
10.4.2 彈出式選單 254
10.4.3 對話框 255
10.5 布局管理器* 260
10.5.1 順序布局 261
10.5.2 邊界布局 261
10.5.3 格線布局 262
10.5.4 卡片布局 263
10.5.5 手工布局 264
10.6 JApplet類的使用 265
10.7 Java事件類方法列表 266
10.8 案例實現 267
習題10 271
問題探究10 274
第11章 多執行緒 275
11.1 多執行緒概述 275
11.1.1 基本概念 276
11.1.2 執行緒的狀態與生命周期 277
11.1.3 執行緒的調度與優先權 279
11.2 創建和運行執行緒 279
11.2.1 利用Thread類創建執行緒 280
11.2.2 用Runnable接口創建執行緒 282
11.3 執行緒間的數據共享 284
11.4 多執行緒的同步控制* 287
11.4.1 執行緒同步相關概念 287
11.4.2 synchronized套用 289
11.4.3 synchronized的進一步說明 292
11.5 案例實現 293
習題11 295
問題探究11 296
第12章 綜合案例——聊天通信 298
12.1 界面及原始碼 298
12.2 應用程式框架分解 302
12.2.1 Socket連線的建立 303
12.2.2 基於TCP的Socket數據通信架構 305
12.2.3 圖形用戶界面與事件處理界面的設計 308
12.3 網路通信基礎知識 310
12.3.1 網路通信的層次 310
12.3.2 通信連線埠 311
12.3.3 Java網路編程中主要使用的類和可能產生的異常 311
12.3.4 Socket通信模式 312
12.3.5 Socket類和ServerSocket類的構造方法及常用方法 312
12.3.6 API系統中DataInputStream和DataOutputStream的套用 313
12.3.7 多執行緒處理機制 315
習題12 316
參考文獻 317
3.4.3 遞歸算法 54
3.5 案例實現 55
習題3 55
問題探究3 56
第4章 數組 57
4.1 數組的基本概念 57
4.2 一維數組 58
4.2.1 一維數組的聲明 58
4.2.2 一維數組記憶體申請 58
4.2.3 一維數組的初始化 59
4.2.4 測定數組的長度 60
4.2.5 for each語句與數組 61
4.3 二維數組 62
4.3.1 認識二維數組 62
4.3.2 二維數組的聲明與創建 63
4.3.3 二維數組元素的初始化 64
4.3.4 二維數組的引用 65
4.4 案例實現*(課外研學) 67
習題4 70
問題探究4 71
第5章 Java類和對象 73
5.1 面向對象編程 73
5.2 類的描述 76
5.2.1 類的定義 76
5.2.2 成員變數的訪問控制符 78
5.2.3 成員方法 79
5.2.4 成員變數和局部變數 81
5.2.5 final變數 82
5.3 對象的創建與使用 82
5.3.1 對象的創建 82
5.3.2 對象的比較 84
5.3.3 對象的使用 85
5.3.4 釋放對象 89
5.3.5 Java變數記憶體分配 89
5.3.6 匿名對象 90
5.4 類的構造方法 91
5.4.1 構造方法的作用和定義 91
5.4.2 this引用 93
5.5 static變數及static方法 99
5.5.1 static變數 99
5.5.2 static方法 100
5.6 對象初始化過程 103
5.7 成員方法 106
5.7.1 方法調用與參數傳遞方式 106
5.7.2 方法重載 111
5.7.3 final最終方法和abstract抽象方法 113
5.8 複雜程式解決方案和方法 113
5.9 案例實現 117
習題5 120
問題探究5 123
第6章 類的繼承和接口 126
6.1 類的繼承 126
6.1.1 繼承的概念 126
6.1.2 創建子類 127
6.1.3 關於父類的構造方法 128
6.2 成員變數的隱藏和成員方法的重構 131
6.3 抽象類 133
6.4 接口 135
6.4.1 接口概述 135
6.4.2 接口的定義 136
6.4.3 實現接口的類定義 136
6.4.4 接口的多態性 139
6.4.5 Java 8接口擴展方法 141
6.5 泛型 142
6.5.1 泛型的概念和泛型類的聲明 142
6.5.2 泛型套用 142
6.6 案例實現 144
習題6 148
問題探究6 149
第7章 Java API初步 150
7.1 Java SE API官網下載 150
7.2 Java輸入/輸出 151
7.2.1 標準輸出方法 151
7.2.2 命令行參數輸入法的套用 153
7.2.3 流式互動輸入/輸出的套用 154
7.2.4 Java I/O基本模型 155
7.2.5 檔案數據的讀/寫 157
7.2.6 JOptionPane對話框輸入法 159
7.3 字元串類 160
7.3.1 創建String對象 161
7.3.2 創建StringBuffer對象 162
7.3.3 正則表達式與模式匹配實例 163
7.3.4 Java中正則表達式常用的語法 164
7.3.5 模式匹配方法 164
7.4 顏色類與圖形繪製類 166
7.4.1 圖形的顏色控制 166
7.4.2 類Graphics的基本圖形 167
7.5 集合ArrayList 170
7.5.1 集合概述 170
7.5.2 類ArrayList的套用 171
7.5.3 ArrayList的綜合套用 174
7.5.4 類Arrays 175
7.6 Java 8新特性* 177
7.7 Java 9 入門體驗 178
7.8 案例實現*(課外研學) 181
習題7 182
問題探究7 183
第8章 包和異常 185
8.1 包 185
8.1.1 創建包 186
8.1.2 類的包外引用 187
8.2 異常處理 189
8.2.1 異常的基本概念 190
8.2.2 異常處理機制 193
8.2.3 自定義異常類 197
8.2.4 GUI應用程式的異常處理 198
8.3 案例實現 200
習題8 203
問題探究8 203
第9章 面向對象程式設計的基本原則及初步設計模式* 204
9.1 UML類圖 204
9.1.1 類的UML圖 205
9.1.2 UML接口表示 205
9.1.3 UML依賴關係 205
9.1.4 UML關聯關係 206
9.1.5 UML聚合關係 206
9.1.6 UML組合關係 207
9.1.7 泛化關係 207
9.1.8 實現關係 208
9.2 面向對象程式設計的基本原則 209
9.2.1 發現變化,封裝變化 209
9.2.2 單一職責原則和最少知識原則 212
9.2.3 開放—封閉原則 212
9.2.4 子類型能夠替換基類型原則 213
9.2.5 合成/聚合復用原則 215
9.3 案例實現 215
習題9 219
問題探究9 219
第10章 圖形用戶界面 221
10.1 圖形用戶界面概述 221
10.1.1 圖形用戶界面組件 221
10.1.2 組件分類 222
10.1.3 常用容器類的套用 223
10.2 事件處理 227
10.2.1 基本概念 227
10.2.2 事件處理機制 229
10.2.3 事件處理的實現方式 230
10.2.4 適配器類 234
10.3 一般組件 237
10.3.1 標籤 237
10.3.2 按鈕 237
10.3.3 文本框 238
10.3.4 文本區 238
10.3.5 列表框 240
10.3.6 滾動窗格 242
10.3.7 複選框和單選按鈕 243
10.3.8 滑動條 245
10.4 選單與對話框 250
10.4.1 創建選單 250
10.4.2 彈出式選單 254
10.4.3 對話框 255
10.5 布局管理器* 260
10.5.1 順序布局 261
10.5.2 邊界布局 261
10.5.3 格線布局 262
10.5.4 卡片布局 263
10.5.5 手工布局 264
10.6 JApplet類的使用 265
10.7 Java事件類方法列表 266
10.8 案例實現 267
習題10 271
問題探究10 274
第11章 多執行緒 275
11.1 多執行緒概述 275
11.1.1 基本概念 276
11.1.2 執行緒的狀態與生命周期 277
11.1.3 執行緒的調度與優先權 279
11.2 創建和運行執行緒 279
11.2.1 利用Thread類創建執行緒 280
11.2.2 用Runnable接口創建執行緒 282
11.3 執行緒間的數據共享 284
11.4 多執行緒的同步控制* 287
11.4.1 執行緒同步相關概念 287
11.4.2 synchronized套用 289
11.4.3 synchronized的進一步說明 292
11.5 案例實現 293
習題11 295
問題探究11 296
第12章 綜合案例——聊天通信 298
12.1 界面及原始碼 298
12.2 應用程式框架分解 302
12.2.1 Socket連線的建立 303
12.2.2 基於TCP的Socket數據通信架構 305
12.2.3 圖形用戶界面與事件處理界面的設計 308
12.3 網路通信基礎知識 310
12.3.1 網路通信的層次 310
12.3.2 通信連線埠 311
12.3.3 Java網路編程中主要使用的類和可能產生的異常 311
12.3.4 Socket通信模式 312
12.3.5 Socket類和ServerSocket類的構造方法及常用方法 312
12.3.6 API系統中DataInputStream和DataOutputStream的套用 313
12.3.7 多執行緒處理機制 315
習題12 316
參考文獻 317