圖書簡介
Java具有面向對象、與平台無關、安全、穩定和多執行緒等特點,是目前最流行的程式設計語言之一。全書共分9章,按Java知識的系統性,由淺入深、循序漸進地介紹了Java語言實用知識與編程技術。內容包括Java語言概述、流程控制與異常處理、Java面向對象程式設計、數組與集合、GUI程式設計、Java資料庫編程、流和檔案、多執行緒與Applet以及Java網路編程。每部分內容既有示例,又有案例。通過示例可以幫助學生理解知識,通過案例可以將各知識點結合起來,指導學生套用知識,學以致用。教材中引進了一些新知識和新方法,內容實用,重點突出,講解精練,案例典型,既方便學習,又便於套用。每章配備的課後習題參考了目前市場上常用的企業面試題,針對性強,訓練價值大。
本書內容豐富,實例典型,知識講解系統,適合作為高等院校計算機及相關專業的教材或參考書,也適合軟體開發人員及其他有關人員作為自學參考書或培訓教程。
圖書目錄
第1章Java語言概述 1
1.1Java語言簡介 1
1.1.1Java語言的產生 1
1.1.2Java套用體系 2
1.2Java的工作原理及特點 2
1.2.1Java的工作原理 2
1.2.2Java語言的特點 3
1.3Java編程環境 5
1.3.1JSEDK及其安裝 5
1.3.2Java開發工具 6
1.4Java程式結構 7
1.4.1Java應用程式 8
1.4.2案例1-1:包含兩個類的程式 10
1.4.3Applet程式 11
1.4.4案例1-2:一個簡單的繪圖程式 12
1.4.5Application與Applet程式的比較 12
1.5Java語言基礎 13
1.5.1基本編碼規則 13
1.5.2案例1-3:代碼注釋 14
1.5.3數據類型 16
1.5.4常量和變數 18
1.5.5運算符和表達式 19
1.5.6Math類 23
1.5.7數據類型轉換 24
1.6字元串和日期 25
1.6.1字元串 25
1.6.2案例1-4:對輸入的字元串進行處理 29
1.6.3日期和時間 31
1.6.4案例1-5:日期工具類 33
1.7本章小結 36
1.8習題 36
第2章流程控制與異常處理 38
2.1分支結構 38
2.1.1if語句 38
2.1.2案例2-1:求一元二次方程的根 42
2.1.3switch語句 43
2.1.4案例2-2:求下一天日期 46
2.2循環結構 48
2.2.1for循環 48
2.2.2案例2-3:求素數 49
2.2.3while循環 50
2.2.4循環嵌套 51
2.2.5案例2-4:求sinx 51
2.2.6do…while循環 53
2.2.7案例2-5:進制轉換 53
2.2.8疊代循環 55
2.3異常處理 56
2.3.1異常及其體系結構 56
2.3.2異常處理機制 57
2.3.3拋出異常 60
2.3.4案例2-6:整數的算術計算 61
2.3.5自定義異常 62
2.3.6案例2-7:求三角形面積 63
2.4本章小結 64
2.5習題 65
第3章Java面向對象程式設計 66
3.1面向對象編程 66
3.1.1對象和類 66
3.1.2面向對象程式設計 67
3.1.3OOP的4個基本特徵 68
3.2類與對象 69
3.2.1定義類 69
3.2.2創建和使用對象 70
3.2.3案例3-1:測試圓類 71
3.2.4構造方法 72
3.2.5析構方法 73
3.2.6案例3-2:Person類 73
3.3訪問控制 75
3.3.1包與類的訪問控制 75
3.3.2成員的訪問控制與屬性方法 76
3.3.3案例3-3:使用許可權修飾符的Person類 76
3.4類變數、類常量和類方法 78
3.4.1實例變數、類變數和類常量 78
3.4.2變數的作用域與this關鍵字 79
3.4.3實例方法和類方法 80
3.4.4案例3-4:銀行賬戶 81
3.5類的方法重載 83
3.5.1方法的參數類型 83
3.5.2案例3-5:演示方法的參數類型 83
3.5.3方法重載 85
3.6類的繼承 86
3.6.1繼承的基本概念 86
3.6.2創建子類 86
3.6.3方法覆蓋 89
3.6.4案例3-6:用繼承的方式定義Student類和Teacher類 90
3.7抽象類、接口及多態性 92
3.7.1抽象類 92
3.7.2案例3-7:一組圖形類 93
3.7.3接口 96
3.7.4案例3-8:模擬學生管理系統的數據訪問層和邏輯層 100
3.7.5多態性 103
3.8最終類和內部類 103
3.8.1最終類 103
3.8.2內部類 103
3.8.3案例3-9:內部類使用演示 105
3.9Java枚舉類型 107
3.9.1枚舉類型概述 107
3.9.2案例3-10:Week枚舉類型 109
3.10本章小結 110
3.11習題 111
第4章數組與集合 113
4.1數組 113
4.1.1數組的概念 113
4.1.2數組的定義 113
4.1.3案例4-1:成績排序和統計 115
4.2Collection 117
4.2.1Java集合框架 117
4.2.2Collection接口常用方法 117
4.2.3遍歷Collection 118
4.2.4Collection的批量操作 119
4.3集 120
4.3.1HashSet類 120
4.3.2案例4-2:用HashSet存儲用戶對象 121
4.3.3TreeSet類 123
4.3.4案例4-3:使用TreeSet存儲學生對象 123
4.4列表 126
4.4.1List接口 126
4.4.2ArrayList類 127
4.4.3案例4-4:競賽評分程式 128
4.4.4Vector類 131
4.5映射 131
4.5.1Map接口 131
4.5.2HashMap類 132
4.5.3案例4-5:購物車 132
4.5.4Hashtable類 135
4.6Collections和Arrays 136
4.6.1Collections類 136
4.6.2Arrays類 137
4.7本章小結 138
4.8習題 139
第5章GUI程式設計 141
5.1Java圖形API 141
5.1.1AWT與Swing 141
5.1.2圖形API與Swing組件結構 142
5.1.3怎樣在容器中添加組件 143
5.2圖形界面基礎 143
5.2.1視窗 143
5.2.2案例5-1:學生管理系統啟動界面和主界面設計 145
5.2.3對話框 147
5.2.4常用組件 149
5.2.5案例5-2:登錄視窗 151
5.3選單和工具列 153
5.3.1選單 153
5.3.2案例5-3:為學生管理系統主界面設計選單 155
5.3.3工具列 158
5.3.4案例5-4:為學生管理系統主界面增加工具列 159
5.4界面布局和其他組件使用 160
5.4.1界面布局 160
5.4.2案例5-5:布局演示 162
5.5其他組件的使用 166
5.5.1其他組件介紹 166
5.5.2案例5-6:添加學生界面設計 169
5.6事件處理機制 170
5.6.1事件處理模型 171
5.6.2事件處理 172
5.6.3常用事件 174
5.6.4案例5-7:利用滑鼠和鍵盤控制圖片顯示 175
5.7圖形圖像基礎 178
5.7.1設定字型 178
5.7.2設定顏色 179
5.7.3Graphics類與繪圖方法 180
5.7.4案例5-8:繪製一個小車 181
5.7.52D繪圖簡介 183
5.7.6顯示圖像 184
5.7.7案例5-9:按不同方式顯示圖像 185
5.8本章小結 186
5.9習題 186
第6章Java資料庫編程 188
6.1JDBC簡介 188
6.1.1什麼是JDBC 188
6.1.2JDBC的重要類和接口 189
6.2基於JDBC編寫資料庫程式 189
6.2.1設計準備 189
6.2.2案例6-1:學生管理系統資料庫設計 194
6.2.3使用JDBC訪問資料庫的一般步驟 196
6.2.4套用MVC設計模式 196
6.3資料庫的連線 197
6.3.1DriverManager 197
6.3.2Connection 197
6.3.3使用JDBC-ODBC橋實現資料庫的連線 198
6.3.4使用純JavaJDBC驅動程式 198
6.3.5案例6-2:連線學生管理資料庫 200
6.4數據的基本操作 201
6.4.1數據操作的基本原理 201
6.4.2常用的查詢方法 203
6.4.3案例6-3:顯示學生數據 204
6.4.4更新數據 208
6.4.5案例6-4:修改學生數據 209
6.4.6事務處理 214
6.5數據查詢界面設計 214
6.5.1案例6-5:以表格形式顯示學生數據查詢結果 214
6.5.2案例6-6:分頁顯示學生數據查詢結果 217
6.6使用存儲過程 222
6.6.1存儲過程的定義 222
6.6.2調用存儲過程 223
6.6.3案例6-7:使用存儲過程查詢學生成績 224
6.7大對象的存取 227
6.7.1大對象存儲的基本方法 227
6.7.2案例6-8:設定學生照片 228
6.8本章小結 232
6.9習題 232
第7章流和檔案 234
7.1檔案管理基礎 234
7.1.1使用File類管理檔案 234
7.1.2案例7-1:遞歸顯示或刪除檔案 237
7.1.3過濾器與檔案選擇對話框 238
7.2字元流與文本檔案讀寫 242
7.2.1字元流簡介 242
7.2.2檔案字元流 243
7.2.3案例7-2:用字元流複製檔案 244
7.3位元組流與二進制檔案讀寫 246
7.3.1位元組流簡介 246
7.3.2檔案位元組流簡介 247
7.3.3案例7-3:用位元組流複製檔案 248
7.4數據流和對象流 250
7.4.1數據流簡介 250
7.4.2案例7-4:使用數據流讀寫檔案 251
7.4.3對象流簡介 252
7.4.4案例7-5:以對象為單位讀寫數據 253
7.5檔案的隨機讀寫 254
7.5.1RandomAccessFile簡介 254
7.5.2案例7-6:隨機讀寫檔案 254
7.6本章小結 256
7.7習題 256
第8章多執行緒與Applet 258
8.1執行緒概述 258
8.1.1執行緒與進程 258
8.1.2執行緒的優點 259
8.1.3執行緒體與執行緒載體 259
8.2執行緒的創建 259
8.2.1實現Runnable接口創建執行緒 259
8.2.2案例8-1:為學生管理系統增加狀態欄 260
8.2.3擴展Thread類建立執行緒 261
8.2.4案例8-2:利用執行緒設計啟動界面 262
8.2.5建立執行緒的兩種方法的比較 263
8.2.6Thread類 264
8.3執行緒的狀態與控制 264
8.3.1執行緒的狀態 264
8.3.2執行緒的控制 266
8.3.3案例8-3:圖片切換 268
8.3.4執行緒組 271
8.4執行緒的優先權 272
8.4.1Java執行緒優先權 272
8.4.2案例8-4:數數程式 272
8.5執行緒同步 274
8.5.1Java執行緒同步機制 274
8.5.2案例8-5:取款和存款 275
8.5.3死鎖 277
8.6執行緒通信 278
8.6.1Java執行緒通信機制 278
8.6.2案例8-6:哲學家用餐問題 279
8.6.3“生產者-消費者”問題 281
8.6.4案例8-7:吃蘋果 281
8.7執行緒新特徵 284
8.7.1阻塞佇列與障礙器 284
8.7.2執行緒池、鎖及條件變數 286
8.7.3案例8-8:不能透支的取款和存款 288
8.8Applet程式設計 291
8.8.1Applet程式原理 291
8.8.2案例8-9:在Applet中隨機畫圓 293
8.8.3Applet中實現動畫的基本原理 294
8.8.4案例8-10:在Applet中實現動畫 295
8.8.5向Applet傳遞參數 297
8.8.6案例8-11:繪製統計圖 297
8.9本章小結 298
8.10習題 299
第9章Java網路編程 300
9.1網路編程基礎 300
9.1.1網路基本概念 300
9.1.2網路協定 301
9.2獲取網路信息 302
9.2.1獲取網路地址信息 302
9.2.2案例9-1:通過InetAddress獲取主機名或IP 303
9.2.3獲取網路資源屬性 304
9.2.4案例9-2:通過URL獲取絡資源屬性 305
9.3訪問網路資源 306
9.3.1獲取網路資源 306
9.3.2案例9-3:讀取網路文本檔案 307
9.3.3使用JEditorPane瀏覽HTML網頁 309
9.3.4案例9-4:簡單的瀏覽器 310
9.4基於TCP/IP協定的通信 312
9.4.1客戶機/伺服器模式和套接字 312
9.4.2客戶端程式的原理 313
9.4.3案例9-5:TCP的客戶端程式 314
9.4.4伺服器程式的原理 318
9.4.5案例9-6:TCP伺服器端程式 319
9.5基於UDP/IP協定的通信 324
9.5.1數據報通信的原理 324
9.5.2案例9-7:基於數據報的主機通信 325
9.6本章小結 329
9.7習題 329
參考文獻 331
XII
Java語言最新實用案例教程(第2版)
XI
目錄