Java程序設計案例教程(AI版 微課版)
範暢 唐雅玲 張朵 張翀
相關主題
商品描述
本書內容全面,涵蓋了Java語言的基礎篇和高級篇,主要包括Java基礎、數組、面向對象、異常和垃圾回收、Java常用類、集合、IO流、GUI、JDBC、線程、網絡編程、反射;以案例驅動的方式講解內容,理解知識;小節作為課次設計,方便學習和授課;每個課次圍繞回顧、講課、操練、總結和布置作業四大環節展開,貼近教學情景;每章後留有大量的練習題以及實驗題,讀者可以通過做大量的練習題來鞏固和提高。本書線上線下配套教學資源齊全。 本書可作為高等院校計算機及相關專業Java語言程序設計課程的教材,也適合Java語言初學者或相關技術人員的參考書。
作者簡介
範暢,成都東軟學院軟件工程系副教授,從事數據結構教學和研究工作多年,講授課程包括數據結構(Java),Java 程序設計,Web 應用開發。主要研究項目及領域為軟件工程。
目錄大綱
第 1 章 Java 基礎 ...................................... 1
1.1 Java 概述 ................................................ 1
1.1.1 JDK 安裝和配置 ............................. 1
1.1.2 Java 開發工具 ................................. 2
1.1.3 Java 簡介 ......................................... 3
1.1.4 創建項目、包和類 ......................... 4
1.1.5 運行第 一個程序 ............................. 8
1.1.6 在 DOS 中編譯運行 Java 程序 ...... 8
1.1.7 課堂操練、總結和作業 ................. 8
1.2 基本語法及變量和常量 ......................... 9
1.2.1 變量和常量以及類型轉換 ............. 9
1.2.2 超範圍類型轉換 ........................... 11
1.2.3 混合類型數字運算 ....................... 12
1.2.4 變量作用域 ................................... 13
1.2.5 課堂操練、總結和作業 ............... 13
1.3 運算符和選擇結構語句 ....................... 14
1.3.1 算術、賦值、比較運算符 ........... 14
1.3.2 邏輯、位、條件運算符及運算符優先級 ............................. 16
1.3.3 if 條件選擇語句 ............................ 19
1.3.4 if...else...條件選擇語句 ................. 19
1.3.5 if...else if...else...條件選擇語句 .... 20
1.3.6 switch 多分支條件選擇語句 ........ 21
1.3.7 課堂操練、總結和作業 ............... 22
1.4 循環結構語句 ...................................... 22
1.4.1 while 循環語句 ............................. 23
1.4.2 do...while 循環語句 ...................... 23
1.4.3 for 循環語句 .................................. 24
1.4.4 for 嵌套循環 .................................. 25
1.4.5 break 語句 ..................................... 26
1.4.6 break outer 跳出外層循環 ............ 27
1.4.7 continue 和 continue outer 語句 ... 28
1.4.8 課堂操練、總結和作業 ............... 29
1.5 AIGC 輔助編程 ................................... 30
1.5.1 AIGC 輔助編程類型 .................... 30
1.5.2 IDEA 中引入 AIGC 輔助編程 ..... 31
1.6 課後練習題 .......................................... 33
第 2 章 數組 .............................................. 38
2.1 數組的定義 .......................................... 38
2.2 數組索引和數組元素賦值 .................. 40
2.3 數組的遍歷 .......................................... 42
2.4 數組的應用 .......................................... 43
2.5 二維數組及其遍歷 .............................. 44
2.6 課堂操練、總結和作業 ...................... 45
2.7 AIGC 輔助編程案例——學生成績排序 ....................................... 46
2.8 課後練習題 .......................................... 47
第 3 章 面向對象 .................................... 49
3.1 類和對象以及類的封裝 ...................... 49
3.1.1 類和對象 ....................................... 50
3.1.2 對象實例化和調用對象的屬性、方法 ................................... 51
3.1.3 為什麼要封裝 ............................... 53
3.1.4 封裝 ............................................... 54
3.1.5 課堂操練、總結和作業 ............... 55
3.2 方法重載和遞歸以及驗證權限修飾符 ......................................... 55
3.2.1 在 main()函數中調用多個不同名的方法 ............................... 55
3.2.2 方法重載 ....................................... 56
3.2.3 遞歸方法 ....................................... 57
3.2.4 驗證權限修飾符 ........................... 59
3.2.5 課堂操練、總結和作業 ............... 60
3.3 構造方法 .............................................. 61
3.3.1 構造方法概念 ............................... 61
3.3.2 含參構造方法 ............................... 62
3.3.3 構造方法重載 ............................... 63
3.3.4 課堂操練、總結和作業 ............... 64
3.4 this 關鍵字和 static 修飾符 ................. 64
3.4.1 this 關鍵字 .................................... 64
3.4.2 static 修飾符 .................................. 66
3.4.3 課堂操練、總結和作業 ............... 68
3.5 繼承 ...................................................... 68
3.5.1 繼承的概念 ................................... 69
3.5.2 方法重寫 ....................................... 70
3.5.3 super 關鍵字 ................................. 71
3.5.4 構造方法在繼承中的執行順序 ... 72
3.5.5 Object 類和 toString()方法 ........... 73
3.5.6 重寫 toString()方法 ....................... 74
3.5.7 課堂操練、總結和作業 ............... 75
3.6 抽象類和接口 ...................................... 76
3.6.1 抽象類和抽象方法 ....................... 76
3.6.2 接口 ............................................... 77
3.6.3 接口的繼承和實現 ....................... 80
3.6.4 課堂操練、總結和作業 ............... 82
3.7 多態 ...................................................... 83
3.7.1 多態的概念 ................................... 83
3.7.2 多態的實現 ................................... 84
3.7.3 用 instanceof 判斷類型 ................. 85
3.7.4 課堂操練、總結和作業 ............... 86
3.8 內部類 .................................................. 88
3.8.1 內部類概念 ................................... 88
3.8.2 局部內部類 ................................... 89
3.8.3 靜態內部類 ................................... 90
3.8.4 匿名內部類 ................................... 91
3.8.5 課堂操練、總結和作業 ............... 92
3.9 final 關鍵字和 Lambda 表達式 ........... 93
3.9.1 final 關鍵字 .................................. 93
3.9.2 Lambda 表達式 ............................. 95
3.9.3 課堂操練、總結和作業 ............... 99
3.10 AIGC 輔助編程案例——動物管理系統 .................................. 100
3.11 課後練習題 ...................................... 102
第 4 章 異常和垃圾回收 .................... 107
4.1 異常 .................................................... 107
4.2 垃圾回收 ............................................ 113
4.3 課堂操練、總結和作業 .................... 115
4.4 AIGC 輔助編程案例——用戶註冊年齡異常 ............................. 115
4.5 課後練習題 ........................................ 117
第 5 章 Java 常用類 ............................. 119
5.1 字符串相關類 .................................... 119
5.2 Properties 類、System 類和Runtime 類 ................................ 125
5.3 Math 類、Random 類 ........................ 127
5.4 包裝類 ................................................ 129
5.5 日期時間相關類 ................................ 131
5.6 課堂操練、總結和作業 .................... 138
5.7 AIGC 輔助編程案例——員工信息格式化工具 ............................ 139
5.8 課後練習題 ........................................ 141
第 6 章 集合 ............................................ 144
6.1 Collection 接口和 List 接口 .............. 144
6.1.1 集合概念及其分類 ..................... 144
6.1.2 List 接口及其實現類 .................. 146
6.1.3 疊代器和集合的遍歷 ................. 147
6.1.4 使用疊代器刪除集合元素 ......... 150
6.1.5 課堂操練、總結和作業 ............. 151
6.2 Set 接口和 Map 接口 ......................... 151
6.2.1 Set 接口及其實現類 ................... 151
6.2.2 Map 接口及其實現類 ................. 157
6.2.3 課堂操練、總結和作業 ............. 160
6.3 泛型以及 Collections、Arrays 工具類 ............................... 161
6.3.1 泛型 ............................................. 161
6.3.2 Collections 工具類 ...................... 164
6.3.3 Arrays 工具類 ............................. 166
6.3.4 課堂操練、總結和作業 ............. 168
6.4 AIGC 輔助編程案例——搶救病人 ... 168
6.5 課後練習題 ........................................ 170
第 7 章 I/O 流 ........................................ 175
7.1 聚合操作和字節流 ............................ 175
7.1.1 聚合操作 ..................................... 175
7.1.2 字節流 ......................................... 181
7.1.3 課堂操練、總結和作業 ............. 185
7.2 字符流以及 File 類、RandomAccessFile 類 ........................ 185
7.2.1 字符流 ......................................... 186
7.2.2 File 類和 RandomAccessFile 類 ... 189
7.2.3 課堂操練、總結和作業 ............. 194
7.3 對象序列化以及 NIO、NIO.2 .......... 195
7.3.1 對象序列化 ................................. 195
7.3.2 NIO 和 NIO.2 .............................. 196
7.3.3 課堂操練、總結和作業 ............. 201
7.4 AIGC 輔助編程案例——統計文件內容的行數 ............................. 202
7.5 課後練習題 ........................................ 203
第 8 章 GUI ............................................. 206
8.1 Swing 頂級容器和布局管理器 ......... 206
8.1.1 GUI 概述和第 一個窗口程序 ..... 206
8.1.2 JDialog 類 ................................... 208
8.1.3 布局管理器 ................................. 209
8.1.4 課堂操練、總結和作業 ............. 212
8.2 事件處理和 Swing 常用組件 ............ 212
8.2.1 事件處理 ..................................... 212
8.2.2 Swing 常用組件 .......................... 217
8.2.3 課堂操練、總結和作業 ............. 229
8.3 Swing 組件的應用之 QQ 登錄 ......... 230
8.3.1 QQ 登錄程序 GUI 設計 ............. 230
8.3.2 課堂操練、總結和作業 ............. 236
8.4 JavaFX 圖形用戶界面工具 ............... 237
8.4.1 IDEA 中新建 JavaFX 項目 ........ 237
8.4.2 JavaFX 項目實現簡單登錄 ........ 239
8.4.3 課堂操練、總結和作業 ............. 243
8.5 AIGC 輔助編程案例——極簡計數器 .................................. 244
8.6 課後練習題 ........................................ 245
第 9 章 JDBC ......................................... 248
9.1 JDBC 常用 API 和編程 ..................... 248
9.1.1 JDBC 概述 .................................. 248
9.1.2 連接數據庫和實現查詢操作 ..... 249
9.1.3 實現增加、修改和刪除操作 ..... 254
9.1.4 課堂操練、總結和作業 ............. 255
9.2 JDBC 應用之實現 QQ 登錄 .............. 256
9.2.1 QQ 登錄程序訪問數據庫 .......... 256
9.2.2 課堂操練、總結和練習 ............. 259
9.3 AIGC 輔助編程案例——模糊查詢 ................................ 259
9.4 課後練習題 ........................................ 260
第 10 章 線程 ......................................... 262
10.1 線程概述及簡單應用 ...................... 262
10.1.1 線程概述 ................................... 262
10.1.2 創建線程 ................................... 264
10.1.3 多線程的簡單應用 ................... 267
10.1.4 前臺線程和後臺線程 ............... 269
10.1.5 課堂操練、總結和作業 ........... 270
10.2 線程的調度和同步 .......................... 270
10.2.1 線程的優先級 ........................... 271
10.2.2 線程的休眠、讓步和插隊 ....... 272
10.2.3 線程同步及其實現方法 ........... 275
10.2.4 死鎖 ........................................... 280
10.2.5 課堂操練、總結和作業 ........... 282
10.3 多線程通信和線程池 ...................... 286
10.3.1 多線程通信 ............................... 286
10.3.2 線程池 ....................................... 289
10.3.3 課堂操練、總結和作業 ........... 292
10.4 AIGC 輔助編程案例——灌溉系統 .................................... 293
10.5 課後練習題 ...................................... 294
第 11 章 網絡編程 ................................ 298
11.1 網絡編程基礎和 UDP 通信 ............. 298
11.1.1 網絡編程基礎 ........................... 298
11.1.2 UDP 通信編程 .......................... 299
11.1.3 課堂操練、總結和作業 ........... 301
11.2 TCP 通信 .......................................... 303
11.2.1 TCP 通信編程........................... 303
11.2.2 課堂操練、總結和作業 ........... 306
11.3 AIGC 輔助編程案例——聊天室.... 308
11.4 課後練習題 ...................................... 310
第 12 章 反射 ......................................... 313
12.1 反射概述 .......................................... 313
12.2 反射技術 .......................................... 313
12.3 課堂操練、總結和作業 .................. 323
12.4 AIGC 輔助編程案例——訪問私有 ................................. 324
12.5 課後練習題 ...................................... 325
附錄 1 反射實驗案例 .......................... 328
附錄 2 JDK 演進史 .............................. 329
附錄 3 IDEA 常用快捷鍵 ................. 332
參考文獻 ..................................................... 336

