Java編程從入門到精通(c端定製書)
扶松柏
商品描述
本書全面講解Java語言的編程知識,內容覆蓋從基礎知識到高級應用,從Java傳統編程到AI(Artificial Intelligence)自動化編程,從單個技術實例再到綜合實戰的知識。全書分25章,主要內容如下:第1章和第2章為Java的入門基礎部分,涵蓋了Java開發環境的搭建和開發工具的選擇;第3章至第10章為Java的核心語法部分,分別講解了Java的基礎語法、條件語句、循環語句和跳轉語句、數組、面向對象的基本概念、面向對象的高級特性、構造器,以及內部類、匿名類和枚舉類等;第11章至第16章為Java開發進階提高部分,系統地介紹了集合、泛型、Java常用類庫的深入應用、異常處理機制,以及I/O文件處理和流處理技術;第17章至第21章為Java典型應用部分,涵蓋了GUI編程、數據庫編程、因特網程序開發、多線程開發,以及網絡爬蟲程序開發等實用技術;第22章為綜合實戰部分,通過一個大數據挖掘和分析系統的開發案例,講解Java語言的綜合應用技術,包括網絡爬蟲技術、MySQL以及大數據分析等;特別值得一提的是,第23章至第25章介紹了人工智能與AI自動化編程的前沿知識,探討了人工智能的編程技術及其在編程中的應用,詳細介紹了ChatGPT和Kimi在編程輔助、代碼摘要、代碼解釋、代碼生成、註釋添加、補全、重構、優化及糾錯等方面的強大功能,並通過實現一個簡易版的切水果游戲,展示了大模型在項目開發中的實際應用。
本書內容循序漸進,並將傳統編程與AI自動化編程相結合,不僅幫助讀者扎實地掌握Java編程技術,還能讓讀者緊跟技術潮流,瞭解並應用新的AI編程技術。本書不僅適合Java語言的初學者學習,也適合有一定Java語言基礎的讀者閱讀,還可以作為高等院校相關專業的教學用書和培訓學校的教材。
作者簡介
扶松柏,上海大學電腦科學技術學院碩士,通信工程博士,精通Java、C語言、C++程序開發,擅長底層技術和應用程序的結合。具有豐富的Java開發經驗和編程心得。
目錄大綱
第 1 章 Java 開發基礎 1
1.1 初步認識 Java 語言 1
1.1.1 Java 語言介紹 1
1.1.2 Java 語言的特點 1
1.2 搭建 Java 運行環境 2
1.2.1 安裝 JDK 2
1.2.2 配置開發環境—Windows 10 4
1.3 編寫第 一個 Java 程序 5
1.3.1 第 一個 Java 程序 5
1.3.2 關鍵字 6
1.3.3 標識符 6
1.3.4 註釋 7
1.3.5 方法 main() 8
1.3.6 控制台的輸入和輸出 8
1.4 編譯並運行 Java 程序 8
1.4.1 編譯 Java 程序 8
1.4.2 運行 Java 代碼 9
1.4.3 Java 11 新特性:新的程序運行方式 9
1.5 技術解惑 9
1.5.1 遵循源文件命名規則 9
1.5.2 忽視系統文件的擴展名 10
1.5.3 大小寫問題 10
1.5.4 到底用不用 IDE 工具 10
1.5.5 區分 JRE 和 JDK 10
1.6 常見面試題分析 11
1.7 課後練習 11
第 2 章 選擇 Java 開發工具 12
2.1 使用 Eclipse 12
2.1.1 Eclipse 介紹 12
2.1.2 獲得並安裝 Eclipse 12
2.1.3 使用 Eclipse 新建一個 Java工程 15
2.1.4 編譯並運行 Eclipse 工程 16
2.1.5 使用 Eclipse 打開一個 Java工程—打開本書配套資源中的項目 17
2.2 使用 IntelliJ IDEA 18
2.2.1 搭建 IntelliJ IDEA 開發環境 18
2.2.2 使用 IntelliJ IDEA 新建 Java工程 19
2.2.3 使用 IntelliJ IDEA 運行 Java程序 21
2.3 使用手機開發 Java 程序 21
2.4 常見面試題分析 22
2.5 課後練習 22
第 3 章 Java 基礎語法 23
3.1 常量和變量 23
3.1.1 常量 23
3.1.2 變量 24
3.2 數據類型 25
3.2.1 Java 數據類型的分類 25
3.2.2 基本數據類型的取值範圍 26
3.2.3 字符類型 26
3.2.4 整數類型 27
3.2.5 浮點類型 28
3.2.6 布爾類型 28
3.3 運算符 29
3.3.1 算術運算符 29
3.3.2 關系運算符和布爾邏輯運算符 31
3.3.3 位邏輯運算符 32
3.3.4 條件運算符 33
3.3.5 賦值運算符 33
3.3.6 運算符的優先級 34
3.4 類型轉換 35
3.4.1 自動類型轉換 35
3.4.2 強制類型轉換 36
3.5 技術解惑 36
3.5.1 定義常量時的註意事項 36
3.5.2 char 類型中單引號的意義 36
3.6 常見面試題分析 37
3.7 課後練習 37
第 4 章 條件語句 38
4.1 使用 if 語句 38
4.1.1 if 語句 38
4.1.2 使用 if else 語句 ...................... 39
4.1.3 對多種情況進行判斷 39
4.2 使用 switch 選擇語句 40
4.2.1 switch 語句的形式 41
4.2.2 無 break 的情況 41
4.2.3 default 可以不在末尾 42
4.3 switch 語句和表達式 43
4.4 技術解惑 44
4.4.1 if else 語句的意義................... 44
4.4.2 switch 語句和 if elseif 語句的選擇 44
4.4.3 if 語句和 switch 語句的選擇 44
4.5 常見面試題解析 44
4.6 課後練習 45
第 5 章 循環語句和跳轉語句 46
5.1 Java 循環語句 46
5.1.1 基本 for 循環 46
5.1.2 for 循環語句的嵌套 47
5.1.3 使用 while 循環語句 48
5.1.4 使用 do while 循環語句.......... 48
5.2 使用跳轉語句 49
5.2.1 break 語句的應用 49
5.2.2 使用 return 語句 51
5.2.3 使用 continue 跳轉語句 52
5.3 技術解惑 52
5.3.1 使用 for 循環的技巧 52
5.3.2 for 循環和 while 循環、do while循環的區別 52
5.4 常見面試題解析 52
5.5 課後練習 53
第 6 章 數組 54
6.1 使用一維數組 54
6.1.1 聲明一維數組 54
6.1.2 創建一維數組 54
6.1.3 初始化一維數組 55
6.2 使用二維數組 56
6.2.1 聲明二維數組 56
6.2.2 創建二維數組 56
6.2.3 初始化二維數組 57
6.3 使用三維數組 58
6.3.1 聲明三維數組 59
6.3.2 創建並初始化三維數組 59
6.4 操作數組 60
6.4.1 復制數組中的元素 60
6.4.2 比較數組的大小 61
6.4.3 對數組中的元素排序 61
6.4.4 搜索數組中的元素 62
6.4.5 使用 foreach 遍歷數組 62
6.5 技術解惑 63
動態初始化數組的規則 63
6.6 常見面試題解析 63
6.7 課後練習 63
第 7 章 面向對象基礎 64
7.1 面向對象的基礎 64
7.1.1 面向對象的定義 64
7.1.2 Java 的面向對象編程 64
7.1.3 Java 面向對象的幾個核心概念 65
7.2 創建類 66
7.2.1 定義類 66
7.2.2 定義屬性 67
7.2.3 定義方法 67
7.2.4 定義構造器 68
7.3 使用修飾符 68
7.3.1 使用 public 修飾符 69
7.3.2 使用 private 修飾符 69
7.3.3 使用 protected 修飾符 70
7.4 使用方法 70
7.4.1 傳遞方法參數 70
7.4.2 長度可變的方法 71
7.4.3 遞歸方法 72
7.5 使用 this 73
7.6 使用類和對象 74
7.6.1 創建和使用對象 74
7.6.2 使用靜態變量和靜態方法 74
7.7 使用抽象類和抽象方法 75
7.7.1 抽象類和抽象方法的基礎 75
7.7.2 抽象類必須有一個抽象方法 76
7.8 使用包 77
7.8.1 定義軟件包 77
7.8.2 在 Eclipse 中定義軟件包 78
7.8.3 在程序中插入軟件包 78
7.9 技術解惑 79
7.9.1 static 修飾符的作用 79
7.9.2 數組內是同一類型的數據 79
7.10 常見面試題解析 79
7.11 課後練習 80
第 8 章 面向對象編程進階 81
8.1 類的繼承 81
8.1.1 定義繼承 81
8.1.2 調用父類的構造方法 82
8.1.3 訪問父類的屬性和方法 83
8.1.4 多層繼承 83
8.2 重寫和重載 85
8.2.1 重寫 85
8.2.2 重載 86
8.3 使用接口 87
8.3.1 定義接口 87
8.3.2 接口中的常量 88
8.3.3 接口中的方法 88
8.3.4 引用接口 89
8.3.5 接口間的繼承 90
8.3.6 接口的私有方法 91
8.4 技術解惑 94
8.4.1 重寫方法的註意事項 94
8.4.2 接口和抽象類的區別與聯系 94
8.5 常見面試題解析 94
8.6 課後練習 95
第 9 章 構造器、多態和引用類型 96
9.1 使用構造器 96
9.1.1 初始化構造器 96
9.1.2 構造器重載 97
9.1.3 調用父類構造器 97
9.2 使用多態 98
9.2.1 定義多態 98
9.2.2 使用多態 99
9.3 引用類型 100
9.3.1 4 種引用類型 100
9.3.2 引用變量的強制類型轉換 102
9.4 組合 102
9.5 初始化塊 105
9.5.1 初始化塊介紹 105
9.5.2 使用靜態初始化塊 106
9.6 技術解惑 107
9.7 常見面試題解析 107
9.8 課後練習 108
第 10 章 內部類、匿名類和枚舉類 109
10.1 使用內部類 109
10.1.1 內部類概述 109
10.1.2 非靜態內部類 110
10.1.3 成員內部類 111
10.1.4 使用局部內部類 111
10.2 使用匿名類 113
10.2.1 定義匿名類 113
10.2.2 定義匿名內部類 114
10.2.3 匿名內部類使用 final形參 114
10.3 使用枚舉類 115
10.3.1 模擬枚舉類 116
10.3.2 枚舉類的方法 117
10.3.3 枚舉類型 117
10.4 嵌套訪問控制 118
10.4.1 嵌套訪問控制基礎 118
10.4.2 在 Java 11 程序中訪問嵌套
成員 119
10.5 技術解惑 120
10.6 常見面試題解析 120
10.7 課後練習 121
第 11 章 集合 122
11.1 Java 中的集合類 122
11.2 使用 Collection 接口和 Iterator接口 123
11.2.1 Collection 接口概述 123
11.2.2 Iterator 接口概述 124
11.2.3 使用 Collection 接口中的方法操作集合中的元素 124
11.3 使用 Set 接口 125
11.3.1 Set 接口概述 125
11.3.2 使用 HashSet 126
11.3.3 使用 TreeSet 類 127
11.4 使用 List 接口 128
11.4.1 List 接口基礎 128
11.4.2 根據索引操作集合內的元素 129
11.5 使用 Map 接口 130
11.5.1 Map 接口中的方法 130
11.5.2 使用 HashMap 和 Hashtable實現類 131
11.5.3 使用 SortedMap 接口和 TreeMap實現類 132
11.6 使用 Queue 接口 133
11.6.1 Queue 接口中的成員 134
11.6.2 LinkedList 類 134
11.7 使用集合工具類 Collections 135
11.7.1 排序操作 135
11.7.2 查找和替換操作 136
11.8 創建不可變的 List 、Set 和 Map 137
11.8.1 Java 9 以前版本的解決方案 137
11.8.2 Java 9 版本的解決方案 138
11.9 使用 var 類型推斷 140
11.9.1 var 類型推斷基礎 140
11.9.2 使用 var 聲明局部變量 140
11.10 使用新的默認方法 141
11.11 技術解惑 142
11.11.1 使用 EnumSet 類的註意事項 142
11.11.2 ArrayList 和 Vector 的區別 142
11.11.3 分析 Map 類的性能 142
11.12 常見面試題解析 142
11.13 課後練習 143
第 12 章 使用泛型 144
12.1 泛型基礎 144
12.1.1 泛型的優點 144
12.1.2 類型檢查 145
12.1.3 使用泛型 146
12.1.4 在類中使用泛型 147
12.2 類型通配符 147
12.2.1 使用泛型通配符 147
12.2.2 泛型限定 148
12.3 泛型方法 150
12.3.1 泛型方法介紹 150
12.3.2 使用泛型方法 150
12.4 使用泛型接口 151
12.5 泛型繼承 152
12.5.1 以泛型類為父類 153
12.5.2 將非泛型類作為父類 154
12.6 強制類型轉換 154
12.7 技術解惑 155
12.8 常見面試題解析 156
12.9 課後練習 156
第 13 章 Java 常用類庫(上) 157
13.1 字符串 157
13.1.1 字符串的初始化 157
13.1.2 String 類 158
13.1.3 Java 11 新特性:新增的String 方法 160
13.2 使用 StringBuffer 類 162
13.2.1 StringBuffer 類基礎 162
13.2.2 使用字符追加方法 163
13.3 使用 Runtime 類 164
13.3.1 Runtime 類的常用方法 164
13.3.2 使用 Runtime 類 165
13.4 程序國際化 165
13.4.1 國際化基礎 166
13.4.2 Locale 類 166
13.4.3 ResourceBundle 類 166
13.4.4 處理動態文本 167
13.5 使用 System 類 168
13.5.1 System 類的常用方法 169
13.5.2 垃圾對象的回收 169
13.6 技術解惑 170
13.6.1 StringBuffer 和 String 的異同 170
13.6.2 通過 System 類獲取本機的全部環境屬性 170
13.7 常見面試題解析 171
13.8 課後練習 171
第 14 章 Java 常用類庫(下) 172
14.1 使用日期處理類 172
14.1.1 使用 Date 類 172
14.1.2 使用 Calendar 類獲取當前的時間 172
14.1.3 使用 DateFormat 類格式化處理時間 173
14.2 使用 Math 類 174
14.3 使用 Random 類生成隨機數 175
14.4 使用 NumberFormat 類格式化處理數字 176
14.5 復制對象 178
14.6 使用 Comparable 接口操作數組 179
14.6.1 Comparable 接口介紹 179
14.6.2 使用 Comparator 接口 180
14.7 使用 Observable 類和 Observer接口 182
14.8 使用正則表達式 183
14.8.1 正則表達式基礎 183
14.8.2 Java 中的正則表達式類 184
14.8.3 驗證一個字符串是否為合法的日期格式 185
14.8.4 String 類和正則表達式 185
14.8.5 Java 9 新增的正則表達式方法 186
14.8.6 正則表達式參數的局部變量語法 187
14.9 使用 Timer 類和 TimerTask 類 188
14.9.1 Timer 類基礎 188
14.9.2 TimerTask 類基礎 189
14.9.3 使用 TimerTask 子類建立測試類並實現任務調度 189
14.10 技術解惑 190
14.11 常見面試題解析 190
14.12 課後練習 191
第 15 章 異常處理 192
15.1 異常概述 192
15.1.1 認識異常 192
15.1.2 異常處理類 193
15.2 Java 的異常處理方式 193
15.2.1 使用 try catch 語句.............194
15.2.2 處理多個異常 194
15.2.3 finally 語句 195
15.2.4 訪問異常信息 196
15.3 拋出異常 197
15.3.1 使用 throws 拋出異常 197
15.3.2 使用關鍵字 throw 拋出異常 199
15.4 自定義異常 200
15.4.1 Throwable 類及其子類 200
15.4.2 使用 Throwable 類自定義異常 201
15.5 技術解惑 202
15.5.1 區別 throws 關鍵字和 throw關鍵字 202
15.5.2 區別子類 Error 和Exception 203
15.6 常見面試題解析 203
15.7 課後練習 203
第 16 章 I/O 文件處理和流處理 204
16.1 使用 File 類 204
16.1.1 File 類中的方法 204
16.1.2 創建文件 205
16.1.3 刪除文件 205
16.1.4 創建文件夾 205
16.2 使用 RandomAccessFile 類 206
16.2.1 RandomAccessFile 類的常用方法 206
16.2.2 使用 RandomAccessFile 類 207
16.3 使用字節流與字符流 208
16.3.1 字節流類和字符流類 208
16.3.2 使用字節輸出流OutputStream 208
16.3.3 使用字節輸入流InputStream 209
16.3.4 字符輸出流 Writer 210
16.3.5 使用 FileWriter 追加文件內容 211
16.3.6 使用字符輸入流 Reader 212
16.4 使用字節轉換流 213
16.5 使用內存操作流 214
16.6 使用管道流 215
16.7 使用打印流 216
16.7.1 打印流基礎 216
16.7.2 使用打印流 217
16.8 使用 Scanner 類 217
16.8.1 Scanner 類概述 218
16.8.2 使用 Scanner 類 218
16.9 實現數據操作流 219
16.9.1 DataOutputStream 類 219
16.9.2 DataInputStream 類 220
16.10 使用合並流 221
16.11 使用 Stream API 222
16.11.1 Java 8 中的流 222
16.11.2 Java 9 中的流 224
16.12 使用 try with…resources 語句 ....... 226
16.12.1 try with…resources 語句概述 226
16.12.2 try with…resources 的改進 227
16.13 Java I/O 模塊的新特性 230
16.13.1 處理空的文件對象 230
16.13.2 改進的方法readNBytes() 231
16.13.3 新的構造方法 231
16.14 技術解惑 232
16.15 常見面試題分析 232
16.16 課後練習 233
第 17 章 GUI 編程 234
17.1 GUI 開發基礎 234
17.1.1 GUI 的發展歷程 234
17.1.2 初識 Swing 234
17.1.3 Swing 包 235
17.1.4 Swing 中的組件 236
17.2 窗口與面板 237
17.2.1 JFrame 窗口 237
17.2.2 JPanel 面板 238
17.3 常用佈局管理器 239
17.3.1 邊框佈局管理器 239
17.3.2 流式佈局管理器 241
17.3.3 卡片佈局管理器 242
17.3.4 網格佈局管理器 243
17.4 基本組件 244
17.4.1 按鈕組件 244
17.4.2 標簽組件 245
17.4.3 單行文本框組件 246
17.4.4 復選框和單選按鈕組件 247
17.4.5 邊框組件 248
17.4.6 JToolBar 工具條組件 250
17.4.7 選擇對話框組件 JColorChooser和 JFileChooser 251
17.4.8 下拉列表組件 252
17.5 進度條組件 253
17.5.1 使用 JProgressBar 創建進度條 254
17.5.2 使用 ProgressMonitor 創建進度對話框 255
17.6 技術解惑 256
17.6.1 事件處理的模型 256
17.6.2 實現樹結構 257
17.7 常見面試題解析 257
17.8 課後練習 257
第 18 章 數據庫編程 258
18.1 使用 JDBC API 258
18.1.1 JDBC API 介紹 258
18.1.2 JDBC 的常用接口和類 258
18.2 連接 Access 數據庫 260
18.2.1 Access 數據庫概述 260
18.2.2 連接本地 Access 數據庫 260
18.3 連接 SQL Server 數據庫 262
18.3.1 下載並安裝 SQL Sever 2016驅動 262
18.3.2 測試連接 263
18.3.3 獲取 SQL Server 數據庫中指定的表 264
18.4 連接 MySQL 數據庫 265
18.4.1 下載並配置 MySQL 驅動 266
18.4.2 將 MySQL 驅動加載到Eclipse 中 266
18.4.3 測試連接 267
18.5 技術解惑 267
18.5.1 連接池的功效 267
18.5.2 數據模型、概念模型和關系數據模型的關系 268
18.5.3 數據庫系統的結構 268
18.6 常見面試題解析 269
18.7 課後練習 269
第 19 章 開發因特網程序 270
19.1 Java 語言中的內置網絡包 270
19.1.1 InetAddress 類概述 270
19.1.2 URLDecoder 類和 URLEncoder類概述 271
19.1.3 URL 類和 URLConnection 類概述 271
19.1.4 使用 InetAddress 訪問指定的網址 272
19.2 開發 TCP 程序 272
19.2.1 使用 ServerSocket 273
19.2.2 使用 Socket 273
19.2.3 開發多線程 TCP 程序 274
19.3 開發 UDP 程序 276
19.3.1 使用 DatagramSocket 276
19.3.2 使用 MulticastSocket 278
19.4 開發代理服務器程序 280
19.4.1 代理服務器概述 280
19.4.2 使用 Proxy 創建連接 280
19.4.3 使用 ProxySelector 選擇代理服務器 281
19.5 HTTP/2 Client API 283
19.5.1 孵化器模塊 usergrid 概述 283
19.5.2 HTTP/2 Client API 概述 283
19.5.3 處理 HTTP 請求 284
19.6 技術解惑 285
19.6.1 使用異常處理完善程序 285
19.6.2 體會煩瑣的DatagramPacket 286
19.6.3 MulticastSocket 類的重要意義 286
19.6.4 繼承 ProxySelector 時需要做的工作 286
19.6.5 生成 jdk.incubator.httpclient模塊的 Javadoc 287
19.7 常見面試題解析 287
19.8 課後練習 288
第 20 章 開發多線程 Java 程序 289
20.1 線程基礎 289
20.1.1 線程與進程 289
20.1.2 Java 語言的線程模型 289
20.2 創建線程 290
20.2.1 使用 Thread 類創建線程 290
20.2.2 使用 Runnable 接口創建線程 292
20.2.3 使用 Thread.onSpinWait()方法實現循環等待 293
20.3 線程的生命周期 294
20.3.1 線程的運行與停止 294
20.3.2 線程的掛起和喚醒 294
20.3.3 使用退出標志終止線程 295
20.3.4 使用 interrupt()方法終止線程 296
20.3.5 線程的阻塞 296
20.3.6 線程的死亡 297
20.4 控制線程 298
20.4.1 使用 join()方法 298
20.4.2 慎重使用 volatile 關鍵字 299
20.4.3 後台、讓步和睡眠 301
20.5 進程處理 302
20.5.1 使用 ProcessBuilder 類 302
20.5.2 使用 Process 類 303
20.5.3 使用 ProcessHandle 類 304
20.6 技術解惑 306
20.6.1 線程和函數的關系 306
20.6.2 在 run()方法中使用線程名時產生的問題 306
20.6.3 start()和 run()的區別 306
20.6.4 線程的優先級 307
20.6.5 如何確定發生死鎖 307
20.6.6 關鍵字 synchronized 和volatile 的區別 307
20.7 常見面試題解析 307
20.8 課後練習 308
第 21 章 開發網絡爬蟲程序 309
21.1 網絡爬蟲的原理 309
21.1.1 基本結構及工作流程 309
21.1.2 抓取策略算法 310
21.2 使用 URLConnection 開發爬蟲程序 311
21.3 使用 jsoup 框架 312
21.3.1 jsoup 框架介紹 312
21.3.2 使用 jsoup 獲取指定頁面中的指定元素 313
21.3.3 使用jsoup 獲取指定格式的URL網址 314
21.4 使用 WebCollector 框架 315
21.4.1 WebCollector 框架概述 315
21.4.2 抓取新聞信息 315
21.4.3 抓取圖片信息 316
21.5 技術解惑 317
21.5.1 廣度優先爬蟲算法 317
21.5.2 Java 爬蟲初識之模擬登錄 320
21.6 常見面試題解析 320
21.7 課後練習 321
22.1 系統介紹 322
22.2 需求分析 322
22.3 系統模塊和實現流程 323
22.4 爬蟲抓取模塊 323
22.4.1 網頁概覽 323
22.4.2 破解 JS API 反爬機制 325
22.4.3 爬蟲抓取 Java 圖書信息 328
22.4.4 爬蟲抓取 Python 圖書信息 330
22.4.5 爬蟲抓取主分類圖書信息 332
22.4.6 爬蟲抓取子分類圖書信息 335
22.5 大數據可視化分析 337
22.5.1 搭建 Java Web 平臺 337
22.5.2 大數據分析並可視化電腦圖書數據 339
22.5.3 大數據分析並可視化近期 Java圖書和 Python 圖書的數據 341
22.5.4 大數據分析並可視化主分類圖書數據 342
22.5.5 大數據分析並可視化電腦子類圖書數據 343
第 23 章 人工智能和 AI 自動化編程 346
23.1 人工智能介紹 346
23.1.1 人工智能的發展方向和技術 346
23.1.2 人工智能的作用 347
23.2 人工智能與自動化編程 347
23.2.1 自動化編程介紹 347
23.2.2 AIGC(人工智能生成內容)介紹 348
23.2.3 AIGC 和自動化編程的關系 349
23.2.4 常用的 AIGC 自動化編程工具 349
23.3 ChatGPT 與自動化編程 350
23.3.1 ChatGPT 的主要特點 350
23.3.2 ChatGPT 在編程方面的功能 350
23.4 Kimi 與自動化編程 351
23.4.1 Kimi 的主要特點 351
23.4.2 Kimi 在編程方面的功能 351
第 24 章 AIGC 自動化編程實戰 352
24.1 AI 自動化編程學習助手 352
24.1.1 基於 ChatGPT 的學習助手 352
24.1.2 基於 Kimi 的學習助手 353
24.2 用 AIGC 工具生成代碼摘要和代碼解釋 354
24.2.1 基於 ChatGPT 生成代碼摘要和解釋 354
24.2.2 基於 Kimi 生成代碼摘要和解釋 354
24.3 AIGC 工具用於代碼生成和註釋添加 355
24.3.1 基於 ChatGPT 的代碼生成和註釋添加 355
24.3.2 基於 Kimi 的代碼生成和註釋添加 356
24.4 AIGC 工具用於代碼補全 357
24.4.1 基於 ChatGPT 的代碼補全 358
24.4.2 基於 Kimi 的代碼補全 358
24.5 用 AIGC 進行代碼重構和優化 359
24.5.1 基於 ChatGPT 的代碼重構和優化 360
24.5.2 基於 Kimi 的代碼重構和優化 361
24.6 用 AIGC 進行代碼糾錯 362
24.6.1 基於 ChatGPT 的代碼糾錯 362
24.6.2 基於 Kimi 的代碼糾錯 363
24.7 用 AIGC 輔助學習技術文檔 363
25.1 基於 ChatGPT 實現的游戲背景介紹 366
25.2 基於 Kimi 的需求分析 366
25.3 用大模型實現一個簡易版的切水果游戲 368
25.4 用大模型劃分游戲區域 370
25.5 使用 Kimi 大模型美化游戲界面 372
25.5.1 用大模型幫助美觀佈局和樣式 372
25.5.2 用大模型增加游戲背景圖 374
25.5.3 用大模型增加 Game Over特效 377
25.5.4 用大模型增加背景音樂 380
25.6 用大模型對代碼進行講解 384
25.6.1 用大模型對游戲的功能和技術棧進行總結 384
25.6.2 用大模型對代碼進行剖析 385