Java應用開發與實踐
劉乃琦 蘇暢 主編
相關主題
商品描述
本書作為Java 技術課程的教材,系統全面地介紹了有關Java 開發所涉及的各類知識。全書共分22 章,內容包括初識Java、Eclipse 開發工具、Java 語言基礎、流程控制、數組、字符串、類和對象、接口、繼承與多態、類的高特、異常處理、輸入輸出、Swing 程序設計、事件處理、表格組件的應用、樹組件的應用、多線程、圖形繪制技術、常用工具類、數據庫編程應用、綜合案例--快遞打印系統、課程設計--軟件註冊程序、課程設計--決策分析程序。每章內容都與實例緊密結合,有助於學生理解知識、應用知識,達到學以致用的目的。
作者簡介
作者负责和参与了十余项科研和应用工程项目,获得若干技术认证,在国内外学术刊物、学术会议上发表学术论文50余篇,编著出版学术著作和教材十余本。2010年9月,被评为四川省级教学名师。
目錄大綱
目 錄
第 1章 初識Java 1
1.1 什麽是Java語言 1
1.1.1 Java語言歷史 1
1.1.2 Java的運行機制 2
1.2 Java語言現狀 2
1.3 Java語言特性 3
1.3.1 簡單 3
1.3.2 面向對象 3
1.3.3 分佈性 3
1.3.4 可移植性 3
1.3.5 解釋型 4
1.3.6 安全性 4
1.3.7 健壯性 4
1.3.8 多線程 4
1.3.9 高性能 4
1.3.10 動態 4
1.4 JDK的下載和安裝 4
1.4.1 下載JDK 4
1.4.2 安裝JDK 6
1.4.3 配置JDK 8
1.5 第 一個Java程序 9
1.5.1 編寫源代碼 10
1.5.2 編譯源代碼 10
1.5.3 運行class文件 10
1.6 綜合實例——用星號繪制等腰三角形 11
知識點提煉 12
習題 12
實驗:驗證Java開發環境 12
實驗目的 12
實驗內容 12
實驗步驟 13
第 2章 Eclipse開發工具 14
2.1 Eclipse簡介 14
2.2 Eclipse安裝與漢化 14
2.2.1 下載Eclipse 14
2.2.2 安裝Eclipse 15
2.2.3 啟動Eclipse 16
2.2.4 漢化Eclipse 17
2.3 第 一個Java項目 19
2.3.1 創建Java項目 19
2.3.2 創建類文件 19
2.3.3 編寫程序代碼 19
2.3.4 運行Java程序 20
2.3.5 以調試方式運行程序 20
2.4 綜合實例——在Eclispe中輸出字符表情 21
知識點提煉 21
習題 21
實驗:設置API提示信息 22
實驗目的 22
實驗內容 22
實驗步驟 22
第3章 Java語言基礎 24
3.1 Java程序的基本結構 24
3.2 標識符和關鍵字 26
3.2.1 標識符 26
3.2.2 關鍵字 26
3.3 基本數據類型 27
3.3.1 整數類型 27
3.3.2 浮點類型 29
3.3.3 字符類型 30
3.3.4 布爾類型 31
3.4 變量與常量 31
3.4.1 聲明變量 31
3.4.2 聲明常量 32
3.4.3 變量的有效範圍 32
3.5 運算符 33
3.5.1 賦值運算符 33
3.5.2 算術運算符 33
3.5.3 自增和自減運算符 34
3.5.4 比較運算符 34
3.5.5 邏輯運算符 35
3.5.6 位運算符 36
3.5.7 三元運算符 38
3.5.8 運算符優先級 39
3.6 類型轉換 39
3.6.1 自動類型轉換 40
3.6.2 強制類型轉換 40
3.7 代碼註釋和編碼規範 40
3.7.1 代碼註釋 41
3.7.2 編碼規範 42
3.8 綜合實例——使用位運算加密字符串 42
知識點提煉 43
習題 43
實驗:實現兩個變量的互換 44
實驗目的 44
實驗內容 44
實驗步驟 44
第4章 流程控制 45
4.1 復合語句 45
4.2 分支結構 46
4.2.1 if條件語句 46
4.2.2 switch多分支語句 49
4.3 循環語句 51
4.3.1 while循環語句 51
4.3.2 do…while循環語句 51
4.3.3 for循環語句 52
4.4 跳轉語句 54
4.4.1 break語句 54
4.4.2 continue語句 55
4.4.3 return語句 55
4.5 綜合實例——判斷今年是否為閏年 56
知識點提煉 57
習題 57
實驗:使用for循環輸出空心菱形 57
實驗目的 57
實驗內容 57
實驗步驟 57
第5章 數組 59
5.1 數組概述 59
5.2 一維數組 60
5.2.1 創建一維數組 60
5.2.2 初始化一維數組 61
5.3 二維數組 61
5.3.1 創建二維數組 61
5.3.2 初始化二維數組 61
5.4 數組的基本操作 62
5.4.1 遍歷數組 62
5.4.2 復制數組 62
5.4.3 填充數組 63
5.4.4 排序數組元素 64
5.4.5 查找數組元素 65
5.5 綜合實例——實現冒泡排序算法 66
知識點提煉 66
習題 67
實驗:互換二維數組的行列 67
實驗目的 67
實驗內容 68
實驗步驟 68
第6章 字符串 69
6.1 創建字符串 69
6.2 字符串操作 70
6.2.1 字符串連接 70
6.2.2 獲取字符串信息 71
6.2.3 字符串比較 73
6.2.4 字符串替換 74
6.2.5 字符串分割 75
6.2.6 大小寫轉換 76
6.2.7 去除首末空格 76
6.3 格式化字符串 77
6.3.1 格式化方法 77
6.3.2 日期格式化 77
6.3.3 時間格式化 78
6.3.4 日期時間組合格式化 79
6.3.5 常規類型格式化 80
6.4 正則表達式 81
6.4.1 判斷是否符合正則表達式的方法 81
6.4.2 正則表達式的元字符 81
6.4.3 正則表達式的限定符 82
6.4.4 方括號中元字符的含義 83
6.5 可變字符串 84
6.6 綜合實例——驗證IP地址合法性 85
知識點提煉 86
習題 86
實驗:統計漢字個數 86
實驗目的 86
實驗內容 86
實驗步驟 87
第7章 類和對象 88
7.1 面向對象編程基本概念 88
7.1.1 什麽是對象? 88
7.1.2 什麽是類? 89
7.1.3 什麽是封裝? 90
7.1.4 什麽是繼承? 91
7.1.5 什麽是多態? 91
7.2 類和對象 92
7.2.1 訪問權限修飾符 92
7.2.2 類的定義 93
7.2.3 成員變量的定義 93
7.2.4 普通方法的定義 94
7.2.5 局部變量的定義 95
7.2.6 構造方法的定義 95
7.2.7 方法參數的傳遞 96
7.2.8 對象創建和使用 99
7.2.9 this關鍵字的用途 101
7.2.10 static關鍵字的用途 102
7.2.11 final關鍵字的用途 103
7.2.12 包的定義與使用 103
7.3 註解 104
7.3.1 預定義註解 104
7.3.2 自定義註解 104
7.4 綜合實例——構造方法的應用 105
知識點提煉 106
習題 106
實驗:溫度單位轉換工具 107
實驗目的 107
實驗內容 107
實驗步驟 107
第8章 接口、繼承與多態 108
8.1 接口的使用 108
8.1.1 接口的定義 108
8.1.2 接口的實現 109
8.2 類的繼承 110
8.2.1 繼承的實現 110
8.2.2 繼承中的重寫 111
8.2.3 使用super關鍵字 112
8.3 多態 112
8.4 Object類 113
8.5 對象類型的轉換 115
8.5.1 向上轉型 115
8.5.2 向下轉型 116
8.6 instanceof判斷對象類型 117
8.7 綜合實例——簡單工廠模式應用 118
知識點提煉 119
習題 120
實驗:策略模式的應用 120
實驗目的 120
實驗內容 120
實驗步驟 120
第9章 類的高特 122
9.1 抽象類 122
9.2 內部類 124
9.2.1 成員內部類 124
9.2.2 局部內部類 127
9.2.3 匿名內部類 128
9.2.4 靜態內部類 129
9.3 Class類與Java反射 130
9.3.1 獲得Class類對象 130
9.3.2 獲得修飾符 131
9.3.3 訪問構造方法 131
9.3.4 訪問成員變量 133
9.3.5 訪問成員方法 134
9.4 使用註解功能 135
9.4.1 定義Annotation類型 135
9.4.2 訪問Annotation信息 137
9.5 綜合實例——自定義toString()方法 138
知識點提煉 139
習題 139
實驗:靜態內部類的應用 140
實驗目的 140
實驗內容 140
實驗步驟 140
第 10章 異常處理 142
10.1 異常概述 142
10.2 異常分類 143
10.2.1 可控式異常 143
10.2.2 運行時異常 144
10.3 獲取異常信息 144
10.4 處理異常 146
10.4.1 使用try-catch處理異常 146
10.4.2 使用try-catch-finally處理異常 146
10.4.3 使用try-finally處理異常 147
10.5 拋出異常 149
10.5.1 使用throws聲明拋出異常 149
10.5.2 使用throw語句拋出異常 150
10.6 自定義異常 151
10.6.1 創建自定義異常類 151
10.6.2 使用自定義異常類 152
10.7 異常的使用原則 153
10.8 綜合實例——空指針異常 153
知識點提煉 153
習題 154
實驗:自定義異常類 154
實驗目的 154
實驗內容 154
實驗步驟 154
第 11章 輸入/輸出 156
11.1 流概述 156
11.2 輸入輸出流 157
11.2.1 輸入流 157
11.2.2 輸出流 158
11.3 File類 159
11.3.1 文件的創建與刪除 160
11.3.2 獲取文件信息 161
11.4 文件輸入輸出流 162
11.4.1 FileInputStream類與FileOutputStream類 162
11.4.2 FileReader類和FileWriter類 164
11.5 帶緩存的輸入輸出流 165
11.5.1 BufferedInputStream類與BufferedOutputStream類 165
11.5.2 BufferedReader類與BufferedWriter類 166
11.6 數據輸入輸出流 166
11.7 ZIP壓縮輸入輸出流 169
11.7.1 壓縮文件 169
11.7.2 解壓縮ZIP文件 171
11.8 綜合實例——合並文本文件 172
知識點提煉 174
習題 174
實驗:刪除TMP文件 174
實驗目的 174
實驗內容 174
實驗步驟 175
第 12章 Swing程序設計 176
12.1 Swing概述 176
12.2 Swing常用窗體 177
12.2.1 JFrame框架窗體 177
12.2.2 JDialog窗體 178
12.3 常用佈局管理器 180
12.3.1 佈局 180
12.3.2 流佈局管理器 181
12.3.3 邊界佈局管理器 183
12.3.4 網格佈局管理器 184
12.4 常用面板 185
12.4.1 JPanel面板 185
12.4.2 JScrollPane面板 186
12.5 標簽組件與圖標 187
12.5.1 標簽的使用 187
12.5.2 圖標的使用 187
12.6 按鈕組件 190
12.6.1 提交按鈕組件 190
12.6.2 單選按鈕組件 191
12.6.3 復選框組件 193
12.7 列表組件 194
12.7.1 下拉列表框組件 194
12.7.2 列表框組件 196
12.8 文本組件 197
12.8.1 文本框組件 198
12.8.2 密碼框組件 199
12.8.3 文本域組件 199
12.9 綜合實例——簡單的每日提示信息 200
知識點提煉 202
習題 202
實驗:實現用戶註冊界面 203
實驗目的 203
實驗內容 203
實驗步驟 203
第 13章 事件處理 206
13.1 監聽事件簡介 206
13.2 鍵盤事件 206
13.3 鼠標事件 209
13.4 窗體事件 211
13.4.1 捕獲窗體焦點變化事件 211
13.4.2 捕獲窗體狀態變化事件 212
13.4.3 捕獲其他窗體事件 214
13.5 選項事件 215
13.6 綜合實例——模擬相機拍攝 217
知識點提煉 218
習題 219
實驗:簡易配對游戲 219
實驗目的 219
實驗內容 219
實驗步驟 219
第 14章 表格組件的應用 222
14.1 創建表格 222
14.1.1 創建表格 222
14.1.2 定製表格 225
14.2 維護表格模型 229
14.2.1 創建表格模型 229
14.2.2 設置表格模型 230
14.2.3 維護模型對象 231
14.3 創建行標題欄 235
14.4 表格模型事件監聽與處理 239
14.5 綜合實例——表格柵欄特效 244
知識點提煉 245
習題 246
實驗:表格分頁技術 246
實驗目的 246
實驗內容 246
實驗步驟 246
第 15章 樹組件的應用 250
15.1 創建樹組件 250
15.2 維護樹模型 253
15.2.1 創建模型對象 253
15.2.2 設置樹組件的模型 255
15.2.3 維護樹的模型 259
15.3 綜合實例——查看節點的各種狀態 263
知識點提煉 264
習題 264
實驗:自定義樹節點的外觀 264
實驗目的 264
實驗內容 265
實驗步驟 265
第 16章 多線程 268
16.1 線程簡介 268
16.2 實現線程的兩種方式 269
16.2.1 繼承Thread類 269
16.2.2 實現Runnable接口 271
16.3 線程的生命周期 273
16.4 操作線程的方法 274
16.4.1 線程的休眠 274
16.4.2 線程的加入 275
16.4.3 線程的中斷 277
16.4.4 線程的禮讓 278
16.5 線程的優先級 278
16.6 線程同步 280
16.6.1 線程安全 280
16.6.2 線程同步機制 281
16.7 線程間的通信 283
16.8 綜合實例——查看線程的運行狀態 285
知識點提煉 286
習題 287
實驗:簡單的線程死鎖 287
實驗目的 287
實驗內容 287
實驗步驟 287
第 17章 圖形繪制技術 289
17.1 繪制圖形 289
17.1.1 Graphics 289
17.1.2 Graphics2D 291
17.2 繪圖顏色與筆畫屬性 293
17.2.1 設置顏色 293
17.2.2 筆畫屬性 294
17.3 繪制文本 294
17.3.1 設置字體 295
17.3.2 顯示文字 295
17.4 圖片處理 296
17.4.1 繪制圖片 296
17.4.2 放大與縮小 297
17.4.3 圖片翻轉 299
17.4.4 圖片旋轉 302
17.4.5 圖片傾斜 304
17.5 綜合實例——繪制直方圖 305
知識點提煉 306
習題 306
實驗:繪制彩色字符串 307
實驗目的 307
實驗內容 307
實驗步驟 307
第 18章 常用工具類 308
18.1 日期時間類 308
18.1.1 創建Date類的對象 308
18.1.2 比較Date對象 309
18.1.3 更改Date對象 310
18.2 數學運算 311
18.2.1 Math類 311
18.2.2 Math類的數學方法 311
18.3 隨機數 315
18.3.1 通過Math類生成隨機數 316
18.3.2 使用Random類生成隨機數 318
18.4 數字格式化類 319
18.4.1 DecimalFormat類 319
18.4.2 數字的格式化輸出 320
18.5 綜合實例——簡單的數字時鐘 322
知識點提煉 323
習題 323
實驗:製作公歷萬年歷 323
實驗目的 323
實驗內容 323
實驗步驟 323
第 19章 數據庫編程應用 325
19.1 JDBC技術 325
19.1.1 數據庫概述 325
19.1.2 JDBC-ODBC技術介紹 326
19.1.3 JDBC技術 327
19.2 JDBC中常用的類和接口 327
19.2.1 DriverManager類 328
19.2.2 Connection接口 328
19.2.3 Statement接口 329
19.2.4 PreparedStatement接口 329
19.2.5 ResultSet接口 330
19.3 數據庫連接 330
19.3.1 加載數據庫驅動 331
19.3.2 創建數據庫連接 331
19.3.3 向數據庫發送SQL語句 335
19.3.4 獲取查詢結果集 335
19.3.5 關閉連接 336
19.4 綜合實例——向數據表中添加信息 336
知識點提煉 338
習題 339
實驗:使用批處理刪除數據 339
實驗目的 339
實驗內容 339
實驗步驟 339
第 20章 綜合案例——快遞打印系統 341
20.1 需求分析 341
20.2 總體設計 342
20.2.1 系統目標 342
20.2.2 構建開發環境 343
20.2.3 系統功能結構 343
20.3 數據庫設計 343
20.3.1 數據庫概要說明 343
20.3.2 數據庫E-R圖 343
20.3.3 數據表結構 344
20.4 公共類設計 345
20.4.1 公共類DAO 345
20.4.2 公共類SaveUserStateTool 345
20.5 程序主要系統開發 346
20.5.1 系統登錄系統設計 346
20.5.2 系統主界面系統設計 349
20.5.3 添加快遞信息系統設計 351
20.5.4 修改快遞信息系統設計 355
20.5.5 打印快遞單與打印設置系統設計 360
20.5.6 添加用戶窗體系統設計 365
20.5.7 修改用戶密碼窗體系統設計 367
20.6 程序打包與安裝 369
20.6.1 打包 369
20.6.2 安裝 370
第 21章 課程設計——軟件註冊程序 371
21.1 課程設計目的 371
21.2 功能描述 371
21.2.1 註冊導航功能 372
21.2.2 軟件註冊功能 372
21.2.3 軟件註冊機功能 372
21.3 總體設計 372
21.3.1 構建開發環境 372
21.3.2 業務流程圖 372
21.4 實現過程 373
21.4.1 註冊導航功能 373
21.4.2 軟件註冊功能 379
21.4.3 軟件註冊機功能 389
21.5 調試運行 390
21.6 課程設計總結 392
第 22章 課程設計——決策分析程序 393
22.1 課程設計目的 393
22.2 功能描述 393
22.2.1 導出為Excel文件功能 394
22.2.2 導出為PDF文件功能 394
22.2.3 分析數據並生成圖表 394
22.3 總體設計 394
22.3.1 構建開發環境 394
22.3.2 業務流程圖 394
22.4 實現過程 395
22.4.1 主窗體設計 395
22.4.2 導出為Excel文件功能 397
22.4.3 導出為PDF文件功能 400
22.4.4 繪制餅圖 403
22.4.5 繪制柱形圖 405
22.4.6 繪制折線圖 408
22.4.7 繪制區域圖 410
22.5 調試運行 411
22.6 課程設計總結 412