內容簡介
本書是為指導學生進行Java語言課程設計及套用實踐而編寫的。書中選取了Java語言在套用基礎、遠程圖像傳輸、管理信息系統、串口通信技術、移動通信程式設計五個不同方面的典型套用。本書深入剖析了套用系統的開發思路、方法和技巧,詳細地介紹了基於Java的套用系統開發的全過程。對於系統設計、開發環境選擇、系統功能模組設計、各個功能模組的創建等套用系統開發過程進行了詳細的講解。這對學生進一步系統掌握Java套用系統的設計思想及培養學生解決實際生產套用技術問題具有重要的引導作用。
本書適合作高等院校學生課程設計、畢業設計及套用實踐課程教學用書,也可作為Java程式設計套用開發人員參考用書。
目錄
第1章 Java概述 1
1.1 Java的發展 1
1.1.1 Java的發展史 1
1.1.2 Java與C、C++和C#的
關係 2
1.2 Java的特點 3
1.3 面向對象程式設計 4
1.3.1 封裝 5
1.3.2 繼承 5
1.3.3 多態性 6
1.3.4 Java的開發工具 6
1.4 一個簡單的Java程式 7
1.4.1 編寫Java程式 7
1.4.2 編譯和執行Java程式 8
1.4.3 Java程式的基本要素 9
1.5 實驗指導 12
1.6 思考與練習 13
第2章 數據類型與運算符 15
2.1 常量、變數和表達式 15
2.1.1 常量 15
2.1.2 變數 16
2.2 數據類型 18
2.2.1 整數類型 19
2.2.2 浮點類型 20
2.2.3 字元類型 21
2.2.4 布爾類型 22
2.2.5 類型之間的轉換 22
2.2.6 轉義序列 23
2.3 運算符和表達式 24
2.3.1 算術運算符 25
2.3.2 關係運算符和邏輯運算符 28
2.3.3 位運算符 29
2.3.4 賦值運算符和條件運算符 30
2.3.5 擴展運算符 31
2.3.6 其他運算符 32
2.3.7 運算符優先權 33
2.4 實驗指導 33
2.5 思考與練習 34
第3章 程式控制語句 36
3.1 選擇語句 36
3.1.1 簡單的if語句 36
3.1.2 if-else語句 37
3.1.3 if嵌套語句 38
3.1.4 switch語句 40
3.2 循環語句 42
3.2.1 while循環語句 42
3.2.2 do-while循環語句 43
3.2.3 for循環語句 45
3.3 與程式有關的其他語句 47
3.3.1 break語句 47
3.3.2 continue語句 51
3.3.3 return語句 52
3.4 實驗指導 53
3.5 思考與練習 53
第4章 數組 56
4.1 一維數組 56
4.1.1 聲明數組和創建數組 56
4.1.2 一維數組初始化及元素
引用 57
4.2 多維數組 60
4.2.1 聲明數組和創建數組 60
4.2.2 初始化數組 61
4.2.3 數組程式舉例 62
4.3 不規則數組 67
4.4 搜尋數組 70
4.5 排序數組 72
4.5.1 選擇排序 72
4.5.2 冒泡排序 73
4.5.3 快速排序 75
4.6 實驗指導 76
4.7 思考與練習 78
第5章 類、對象和方法 79
5.1 Java類 79
5.1.1 類的基本形式 79
5.1.2 類的定義 80
5.2 創建對象 82
5.3 對象引用變數 83
5.4 方法 84
5.4.1 添加方法 85
5.4.2 調用對象的方法 86
5.4.3 將對象傳遞給方法 87
5.5 構造函式和垃圾回收 88
5.5.1 構造函式 88
5.5.2 垃圾回收 89
5.6 new運算符 90
5.7 類成員的訪問控制 90
5.8 共享變數、常量和靜態方法 91
5.9 this關鍵字 94
5.10 對象數組 95
5.11 實驗指導 97
5.12 思考與練習 98
第6章 繼承和接口 101
6.1 繼承 101
6.1.1 超類和子類 101
6.1.2 成員訪問和繼承 103
6.2 super關鍵字 105
6.2.1 使用super調用超類
構造函式 106
6.2.2 使用super訪問超類成員 109
6.2.3 創建多級層次結構 110
6.2.4 何時調用構造函式 112
6.3 方法重載和方法重寫 113
6.3.1 方法重載 113
6.3.2 方法重寫 114
6.3.3 重寫的方法支持多態性 115
6.3.4 使用重寫方法的原因 116
6.4 抽象類 117
6.5 繼承中的final修飾符 119
6.5.1 使用final防止重寫 119
6.5.2 使用final防止繼承 120
6.6 Object類 120
6.6.1 clone方法 121
6.6.2 equals方法 121
6.6.3 toString方法 122
6.7 接口 122
6.7.1 接口定義 122
6.7.2 實現接口 123
6.7.3 接口引用 126
6.7.4 接口中的變數 128
6.7.5 接口的擴展 129
6.8 實驗指導 130
6.9 思考與練習 131
第7章 字元串 133
7.1 字元類 133
7.1.1 構造字元串 133
7.1.2 匹配字元串 136
7.1.3 求字元串長度和檢索
單個字元 136
7.1.4 字元串比較 137
7.1.5 查找子字元串 138
7.2 Character類 141
7.2.1 Character類的介紹 141
7.2.2 Character類方法的套用 142
7.3 StringBuffer類 144
7.3.1 構造StringBuffer類 145
7.3.2 StringBuffer類常用方法 146
7.3.3 StringBuffer類特有的
方法 148
7.3.4 StringBuffer類特有方法
的套用示例 148
7.4 實驗指導 151
7.5 思考與練習 152
第8章 包和Applet 155
8.1 包 155
8.1.1 定義包 155
8.1.2 導入包 156
8.1.3 類路徑(CLASSPATH) 157
8.1.4 訪問控制 157
8.2 applet程式 160
8.2.1 applet類 160
8.2.2 請求重繪 163
8.3 HTML APPLET標記 164
8.4 將參數傳遞到applet 165
8.5 實驗指導 166
8.6 思考與練習 167
第9章 GUI編程基礎 169
9.1 GUI類 169
9.2 框架 171
9.2.1 創建框架 171
9.2.2 在框架內添加組件 172
9.3 布局管理 173
9.3.1 FlowLayout 173
9.3.2 GridLayout 174
9.3.3 BorderLayout 175
9.3.4 CardLayout 177
9.3.5 GridBagLayout 179
9.3.6 null 182
9.4 面板容器 183
9.5 事件 185
9.5.1 事件和事件源 185
9.5.2 事件監聽 186
9.5.3 處理事件 188
9.6 用戶界面對象(UI) 192
9.6.1 按鈕 192
9.6.2 標籤 195 [1]
9.6.3單行文本框和多行文本域 196
9.6.4複選框和單選按鈕 199
9.6.5組合框 203
9.6.6滾動條 206
9.6.7滾動面板 209
9.6.8選單 210
9.7GUI繪圖 213
9.7.1顏色 214
9.7.2繪製幾何圖形 214
9.7.3顯示字型 218
9.8實驗指導 221
9.9思考與練習 223
第10章異常處理 227
10.1異常和異常類型 227
10.1.1異常的含義 227
10.1.2異常類型 228
10.2理解異常處理 228
10.3聲明異常(throws) 230
10.4拋出異常(throw) 231
10.5捕獲異常 233
10.5.1使用try-catch 233
10.5.2使用多重catch語句 235
10.5.3嵌套try語句 236
10.6finally的用法 238
10.7異常的套用 240
10.7.1Java中的內置異常 241
10.7.2創建自定義的異常類 242
10.7.3輸出警告信息 244
10.7.4套用異常的建議 245
10.8實驗指導 246
10.9思考與練習 248
第11章執行緒與多執行緒 251
11.1執行緒與多執行緒 251
11.1.1執行緒的性質 252
11.1.2執行緒的狀態 254
11.1.3守護執行緒 254
11.2創建執行緒 256
11.2.1擴展Thread類創建執行緒 257
11.2.2實現Runnable接口創建執行緒 259
11.2.3創建多執行緒 260
11.3多執行緒程式設計 263
11.3.1多執行緒同時運行 263
11.3.2多執行緒優先權調度 267
11.3.3多執行緒的互斥和同步 269
11.3.4死鎖 276
11.4多執行緒的控制 280
11.4.1判斷執行緒是否結束 281
11.4.2執行緒阻塞 283
11.4.3處理執行緒阻塞 284
11.5執行緒的套用 288
11.5.1為applet創建執行緒 289
11.5.2使用Timer類來控制動畫 290
11.6實驗指導 295
11.7思考與練習 295
第12章輸入輸出系統 297
12.1Java的I/O基於流 297
12.1.1位元組流 298
12.1.2字元流 299
12.1.3預定義流 300
12.2位元組流 302
12.2.1InputStream類和OutputStream類 302
12.2.2檔案位元組流的順序輸入輸出 303
12.2.3檔案位元組流的隨機訪問 306
12.3過濾流 308
12.3.1DataInputStream和DataOutputStream 309
12.3.2BufferedInputStream和BufferedOutputStream 310
12.3.3LineNumberInputStream 311
12.3.4PushbackInputStream 312
12.4字元流 313
12.4.1基類Reader和Writer 313
12.4.2InputStreamReader和OutputStreamWriter 314
12.4.3FileReader和
FileWriter 315
12.4.4BufferedReader和
BufferedWriter 316
12.4.5PrintWriter類 317
12.5File類 318
12.5.1File類的3種構造函式 318
12.5.2File類的常用方法 319
12.6對象的串列化 321
12.7實驗指導 325
12.8思考與練習 326
第13章網路通信和多媒體 328
13.1網路基礎知識 328
13.1.1域名和IP位址 328
13.1.2連線埠號(port) 330
13.2Socket(套接字)通信 330
13.3UDP和FTP類型通信 334
13.3.1UDP通信介紹 334 [3]
13.3.2FTP通信介紹 335
13.4applet通信 336
13.4.1同頁applet之間的通信 336
13.4.2applet和瀏覽器之間的通信 340
13.5多媒體 342
13.5.1Applet中播放音頻 342
13.5.2Applet中顯示圖像 345
13.5.3在應用程式中載入圖像和音頻檔案 347
13.5.4顯示一列圖像 351
13.5.5MediaTracker 353
13.6實驗指導 355
13.7思考與練習 356
第14章資料庫編程 358
14.1JDBC簡介 358
14.2JDBC套用模型 359
14.3java.sql包 360
14.4訪問資料庫 360
14.4.1配置ODBC數據源 360
14.4.2載入JDBC驅動程式 361
14.4.3創建資料庫連線 362
14.4.4執行SQL語句 363
14.4.5處理結果集 364
14.4.6更新資料庫 369
14.4.7資料庫連線 372
14.5使用預編譯SQL語句 373
14.6獲取資料庫信息 375
14.7實驗指導 377
14.8思考與練習 378
第15章Java的數據結構 381
15.1了解Java集合架構 381
15.2Collection接口、Map接口及其子接口 383
15.2.1Collection接口 383
15.2.2Set接口和SortedSet接口 384
15.2.3List接口 384
15.2.4Map接口和SortedMap接口 385
15.3AbstractSet類和HashSet類 386
15.4TreeSet類和Comparator接口 387
15.4.1使用TreeSet類 387
15.4.2使用Comparator接口 388
15.5ArrayList類和LinkedList類 389
15.6Vector類和Stack類 390
15.7HashMap類和TreeMap類 392
15.8Collections類和Arrays類 395
15.8.1使用Collections類 395
15.8.2使用Arrays類 398
15.9實驗指導 400
15.10思考與練習 400
附錄思考與練習答案 402