Java程序設計(慕課版 第3版)AIGC高效編程
王方 李學國 閆海龍
相關主題
商品描述
本書系統地介紹Java程序設計的基礎知識、開發環境與開發工具。全書共16章,內容包括Java語言概述、Java語言的基本語法、運算符與流程控制、面向對象程序設計基礎、繼承與多態、接口、異常處理、常用的實用類、集合、Java輸入與輸出、Swing程序設計、Swing高級應用、多線程、網絡程序設計、JDBC數據庫編程、綜合案例——企業進銷存管理系統。本書所有知識都結合具體實例進行介紹,力求詳略得當,可使讀者快速掌握Java程序設計的方法。本書最後附有上機實驗,供讀者實踐練習。
近年來,AIGC技術高速發展,成為各行各業高質量發展和生產效率提升的重要推動力。本書將 AIGC技術融入理論學習、實例編寫、復雜系統開發等環節,幫助讀者提升編程效率。
本書既可以作為高等院校“Java程序設計”相關課程的教材,又可以作為從事 Java 程序設計工作的編程人員的參考用書。
作者簡介
楊松,工學博士,副教授,碩士生導師。任大連外國語大學軟件學院副院長,長期從事電腦視覺、數據挖掘方面的教學與科研工作。遼寧省圖學學會理事,遼企聯人工智能專委會專家、大連市政務數字化專家、大連市科普專家,中國電腦學會(CCF)會員。主持和參與省級科研項目8項,發表SCI、EI論文10篇,出版學術專著2部,發表專利2項,撰寫電腦類教材10部。
目錄大綱
第 1章 Java語言概述 1
1.1 Java語言誕生背景 1
1.2 Java語言的特點 2
1.3 安裝Java程序開發工具 2
1.3.1 下載JDK 3
1.3.2 在Win10-x64系統下配置並測試JDK 4
1.4 Java程序開發工具Eclipse 6
1.4.1 Eclipse簡介 6
1.4.2 下載並啟動Eclipse 6
1.4.3 Eclipse編寫Java程序的步驟 9
1.5 常用的AIGC工具 11
1.5.1 訊飛星火大模型 11
1.5.2 通義大模型 11
1.5.3 騰訊混元大模型 12
1.5.4 文心大模型 12
1.5.5 DeepSeek-R1推理大模型 12
小結 12
習題 12
第 2章 Java語言的基本語法 13
2.1 關鍵字和標識符 13
2.1.1 Unicode字符集 13
2.1.2 關鍵字 13
2.1.3 標識符 14
2.2 常量與變量 15
2.2.1 常量的概念及使用要點 15
2.2.2 變量的概念及使用要點 16
2.3 數據類型 16
2.3.1 基本數據類型 17
2.3.2 引用數據類型 20
2.3.3 數據類型之間的相互轉換 21
2.4 數組 24
2.5 借助AIGC工具快速學習 26
小結 27
習題 27
第3章 運算符與流程控制 28
3.1 運算符 28
3.1.1 賦值運算符 28
3.1.2 算術運算符 29
3.1.3 關系運算符 30
3.1.4 邏輯運算符 30
3.1.5 位運算符 32
3.1.6 對象運算符 34
3.1.7 其他運算符 34
3.1.8 運算符的優先級別及結合性 36
3.2 if語句 36
3.2.1 簡單的if條件語句 37
3.2.2 if…else條件語句 38
3.2.3 if…else if多分支條件語句 39
3.2.4 if語句的嵌套 40
3.3 switch語句 42
3.4 循環語句 43
3.4.1 for循環語句 43
3.4.2 while循環語句 45
3.4.3 do...while循環語句 46
3.4.4 循環的嵌套 47
3.5 跳轉語句 49
3.5.1 break跳轉語句 49
3.5.2 continue跳轉語句 49
3.5.3 return跳轉語句 49
3.6 借助AIGC工具編寫實例 50
3.6.1 使用break跳轉語句求10以內的素數 50
3.6.2 使用continue跳轉語句求100以內能被9整除的數 50
3.6.3 使用return跳轉語句判斷一個數字是否是偶數 51
小結 51
習題 52
第4章 面向對象程序設計基礎 53
4.1 面向對象程序設計概述 53
4.2 類 55
4.2.1 定義類 55
4.2.2 成員變量和局部變量 56
4.2.3 成員方法 58
4.2.4 類的UML圖 59
4.3 構造方法與對象 60
4.3.1 構造方法的概念及用途 60
4.3.2 對象概述 61
4.4 類與程序的結構關系 64
4.5 參數傳值 64
4.6 對象的組合 65
4.6.1 組合與復用 66
4.6.2 類的關聯關系和依賴關系的UML圖 66
4.7 this關鍵字 67
4.8 包 69
4.8.1 包的概念 69
4.8.2 創建包 69
4.8.3 使用包中的類 70
4.9 import語句 70
4.10 訪問權限 71
4.11 借助AIGC工具編寫實例 73
4.11.1 借助AIGC工具編寫一個簡單的import語句 73
4.11.2 借助AIGC工具編寫一個protected語句 74
小結 75
習題 75
第5章 繼承與多態 76
5.1 繼承概述 76
5.1.1 繼承的概念 76
5.1.2 extends關鍵字 77
5.1.3 繼承的使用原則 78
5.1.4 super關鍵字 79
5.2 子類的繼承 79
5.3 多態 81
5.3.1 成員方法的重載 81
5.3.2 避免重載出現的歧義 82
5.3.3 成員方法的覆蓋 82
5.3.4 向上轉型 83
5.4 抽象類 84
5.4.1 抽象類和抽象方法 84
5.4.2 抽象類和抽象方法的規則 86
5.4.3 抽象類的作用 86
5.5 final關鍵字 86
5.5.1 final變量 87
5.5.2 final類 87
5.5.3 final方法 88
5.6 內部類 88
5.6.1 成員內部類 88
5.6.2 局部內部類 89
5.6.3 靜態內部類 90
5.6.4 匿名類 91
5.7 借助AIGC工具解決多態向下轉型的問題 92
小結 93
習題 93
第6章 接口 94
6.1 接口簡介 94
6.2 接口的定義 94
6.3 接口的繼承 95
6.4 接口的實現 95
6.5 接口與抽象類 99
6.6 接口的UML圖 99
6.7 接口回調 100
6.8 接口參數 101
6.9 借助AIGC工具解決使用接口實現多態的問題 102
小結 103
習題 103
第7章 異常處理 104
7.1 異常的概念 104
7.2 異常處理的方法 105
7.2.1 使用try...catch語句 105
7.2.2 使用finally語句 107
7.2.3 使用try…with…resources語句 108
7.2.4 使用throws關鍵字 109
7.2.5 使用throw關鍵字 110
7.2.6 使用異常處理語句的註意事項 110
7.3 異常類 112
7.3.1 Error類 112
7.3.2 Exception類 112
7.4 自定義異常類 114
7.5 異常的使用原則 116
7.6 借助AIGC工具快速掃除異常 116
小結 117
習題 117
第8章 常用的實用類 118
8.1 String類 118
8.1.1 創建字符串對象 118
8.1.2 連接字符串 119
8.1.3 字符串操作 120
8.1.4 格式化字符串 125
8.1.5 對象的字符串表示 126
8.2 日期和時間的顯示形式 127
8.2.1 Date類 127
8.2.2 格式化日期和時間 127
8.3 Scanner類 129
8.4 Math類和Random類 130
8.5 數字格式化 131
8.5.1 Formatter類 131
8.5.2 格式化整數 131
8.5.3 格式化浮點數 132
8.6 包裝類 132
8.6.1 Integer類 132
8.6.2 Boolean類 135
8.6.3 Byte類 136
8.6.4 Character類 137
8.6.5 Double類 138
8.6.6 Number類 139
8.7 借助AIGC工具解決Random類和Math類的random()方法的混淆問題 139
小結 140
習題 140
第9章 集合 141
9.1 集合中主要接口概述 141
9.2 Collection接口 142
9.2.1 addAll()方法 143
9.2.2 removeAll()方法 143
9.2.3 retainAll()方法 144
9.2.4 containsAll()方法 145
9.2.5 toArray()方法 145
9.3 List集合 146
9.3.1 List集合的用法 146
9.3.2 ArrayList類 148
9.3.3 LinkedList類 150
9.4 Set集合 151
9.4.1 HashSet類 151
9.4.2 TreeSet類 153
9.5 Map集合 155
9.5.1 Map集合的用法 155
9.5.2 HashMap類 157
9.5.3 TreeMap類 159
9.6 借助AIGC工具編寫實例 160
9.6.1 使用LinkedList類自定義比較器 160
9.6.2 使用TreeSet類實現優先級隊列 162
小結 163
習題 163
第 10章 Java輸入與輸出 164
10.1 File類 164
10.2 流 167
10.2.1 流的基本概念 167
10.2.2 輸入/輸出流 167
10.3 字節流 168
10.3.1 InputStream類與OutputStream類 168
10.3.2 FileInputStream類與FileOutputStream類 169
10.4 字符流 171
10.4.1 Reader類與Writer類 171
10.4.2 InputStreamReader類與OutputStreamWriter類 172
10.4.3 FileReader類與FileWriter類 174
10.4.4 BufferedReader類與BufferedWriter類 175
10.4.5 PrintStream類與PrintWriter類 176
10.4.6 System類 178
10.5 對象序列化 178
10.5.1 ObjectInput接口與ObjectOutput接口 179
10.5.2 ObjectInputStream類與ObjectOutputStream類 179
10.6 借助AIGC工具編寫實例 181
10.6.1 使用AIGC工具編寫一個對象序列化的實例 181
10.6.2 使用AIGC工具編寫一個對象反序列化的實例 182
小結 183
習題 183
第 11章 Swing程序設計 184
11.1 Swing概述 184
11.2 創建窗體 185
11.3 常用佈局管理器 186
11.3.1 不使用佈局管理器 186
11.3.2 FlowLayout類佈局管理器 187
11.3.3 BorderLayout類佈局管理器 188
11.3.4 GridLayout類佈局管理器 189
11.4 常用面板 190
11.4.1 JPanel類面板 190
11.4.2 JScrollPane類面板 191
11.5 常用組件 192
11.5.1 JLabel組件 193
11.5.2 JButton組件 195
11.5.3 JRadioButton組件 196
11.5.4 JCheckBox組件 197
11.5.5 JComboBox組件 198
11.5.6 JList組件 200
11.5.7 JTextField組件 201
11.5.8 JPasswordField組件 203
11.5.9 JTextArea組件 205
11.6 常用事件處理 206
11.6.1 動作事件處理 207
11.6.2 焦點事件處理 208
11.6.3 鼠標事件處理 209
11.6.4 鍵盤事件處理 211
11.7 借助AIGC工具創建自適應大小的窗體 213
小結 214
習題 214
第 12章Swing高級應用 215
12.1 利用JTable類直接創建表格 215
12.1.1 創建表格 215
12.1.2 定義表格 217
12.1.3 操作表格 220
12.2 表格模型與表格 222
12.2.1 利用表格模型創建表格 222
12.2.2 維護表格模型 223
12.3 提供行標題欄的表格 224
12.4 借助AIGC工具解決表格模型的動態更新問題 227
小結 230
習題 230
第 13章 多線程 231
13.1 線程概述 231
13.2 線程的創建 232
13.2.1 線程的創建方式 232
13.2.2 繼承Thread類 233
13.2.3 實現Runnable接口 234
13.2.4 實現Callable接口 235
13.3 線程的生命周期 235
13.4 線程的控制 236
13.4.1 線程的啟動 236
13.4.2 線程的掛起 237
13.4.3 線程的狀態檢查 238
13.4.4 線程的結束 238
13.4.5 後台線程 239
13.5 線程的同步 239
13.6 線程的通信 242
13.7 借助AIGC工具解決線程池的創建問題 245
小結 247
習題 247
第 14章 網絡程序設計 248
14.1 協議的基礎知識 248
14.1.1 TCP 248
14.1.2 UDP 248
14.2 IP地址封裝 248
14.3 套接字 250
14.3.1 服務器端套接字 250
14.3.2 客戶端套接字 252
14.4 網絡聊天程序開發 254
14.5 借助AIGC工具解決使用UDP實現廣播的問題 258
小結 259
習題 259
第 15章 JDBC數據庫編程 260
15.1 JDBC概述 260
15.2 JDBC中的常用類和接口 261
15.2.1 Driver類 261
15.2.2 DriverManager類 261
15.2.3 Connection接口 261
15.2.4 Statement接口 262
15.2.5 PreparedStatement接口 263
15.2.6 ResultSet接口 264
15.3 連接數據庫 266
15.3.1 加載JDBC驅動程序 266
15.3.2 創建數據庫連接 266
15.3.3 執行SQL語句 268
15.3.4 獲得查詢結果 269
15.3.5 關閉連接 269
15.4 操作數據庫 270
15.4.1 順序查詢 270
15.4.2 模糊查詢 271
15.4.3 預處理語句 272
15.4.4 添加、修改和刪除記錄 273
15.5 向AIGC工具上傳錯誤圖片找到解決方案 276
小結 277
習題 277
第 16章 綜合案例——企業進銷存管理系統 278
16.1 開發背景 278
16.2 系統功能設計 278
16.3 數據庫設計 279
16.3.1 數據庫概述 279
16.3.2 設計數據表 280
16.4 項目組織結構 283
16.5 公共類設計 284
16.5.1 創建Item公共類 284
16.5.2 創建數據模型公共類 284
16.5.3 創建Dao公共類 287
16.6 系統主窗體概述 294
16.7 進貨單模塊設計 295
16.7.1 添加進貨商品的空模板 296
16.7.2 獲取商品名稱列表 297
16.7.3 更新商品詳細信息 297
16.7.4 統計進貨商品信息 298
16.7.5 商品入庫功能的實現 300
16.8 銷售單模塊設計 301
16.8.1 初始化銷售票號 302
16.8.2 添加銷售商品信息 302
16.8.3 統計銷售商品信息 303
16.8.4 商品銷售功能的實現 304
16.9 庫存盤點模塊設計 305
16.9.1 獲取所有庫存商品 306
16.9.2 統計商品的損益數量 307
16.10 數據庫備份與恢復模塊設計 308
16.10.1 獲取數據庫備份文件 308
16.10.2 備份數據庫 309
16.10.3 恢復數據庫 309
16.11 借助AIGC工具提高開發效率 310
小結 312
附錄 上機實驗 313
實驗1 Java基礎 313
實驗2 程序流程控制 315
實驗3 類的繼承 316
實驗4 使用集合類 317
實驗5 數據流 317
實驗6 線程控制 319
實驗7 異常處理 320
實驗8 Swing程序設計 321
實驗9 網絡程序設計 323
實驗10 通過JDBC方式操作數據庫 323
實驗11 計算器 325
實驗12 日誌簿 329