推薦序
前言
知識圖譜
第一篇 Java基礎
第1章 開篇綜述 3
1.1 Java語言歷史 4
1.2 Java語言特點 4
1.3 Java平臺 6
…
1.4 Java虛擬機 6
1.5 本章小結 7
1.6 同步練習 7
第2章 開發(fā)環(huán)境搭建 8
2.1 JDK工具包 8
…
2.2 IntelliJ IDEA開發(fā)工具 13
…
2.3 使用文本編輯工具 15
2.4 本章小結 16
2.5 動手實踐 16
第3章 第一個Java程序 17
3.1 使用IntelliJ IDEA 實現(xiàn) 17
…
3.2 文本編輯工具+JDK實現(xiàn) 20
…
3.3 代碼解釋 21
3.4 本章小結 23
3.5 動手實踐: 世界,你好 23
第4章 Java語法基礎 24
4.1 標識符、關鍵字和保留字 24
…
4.2 Java分隔符 25
4.3 變量 26
…
4.4 常量 28
4.5 Java源代碼文件 28
4.6 包 29
…
4.7 本章小結 32
4.8 同步練習 32
第5章 Java編碼規(guī)范 33
5.1 命名規(guī)范 33
5.2 注釋規(guī)范 34
…
5.3 代碼排版 38
…
5.4 其他規(guī)范 41
5.5 本章小結 42
5.6 同步練習 43
第6章 數(shù)據(jù)類型 44
6.1 基本數(shù)據(jù)類型 44
…
6.2 數(shù)值表示方式 48
…
6.3 數(shù)值類型相互轉換 49
…
6.4 引用數(shù)據(jù)類型 51
6.5 本章小結 52
6.6 同步練習 52
第7章 運算符 53
7.1 算術運算符 53
…
7.2 關系運算符 56
7.3 邏輯運算符 57
7.4 位運算符 58
7.5 其他運算符 60
7.6 運算符優(yōu)先級 60
7.7 本章小結 61
7.8 同步練習 61
第8章 控制語句 62
8.1 分支語句 62
…
8.2 循環(huán)語句 66
…
8.3 跳轉語句 70
…
8.4 本章小結 73
8.5 同步練習 73
8.6 動手實踐: 計算水仙花 74
第9章 數(shù)組 75
9.1 一維數(shù)組 75
…
9.2 多維數(shù)組 78
…
9.3 本章小結 81
9.4 同步練習 81
9.5 動手實踐: 排序數(shù)列 81
第10章 字符串 82
10.1 Java中的字符串 82
10.2 使用 API文檔 82
10.3 不可變字符串 84
…
10.4 可變字符串 92
…
10.5 本章小結 95
10.6 同步練習 95
10.7 動手實踐: 身份證號碼識別 96
第二篇 面 向 對 象
第11章 面向對象基礎 99
11.1 面向對象編程 99
11.2 面向對象三個基本特性 99
11.3 類 100
…
11.4 方法重載 102
11.5 封裝性與訪問控制 104
…
11.6 靜態(tài)變量和靜態(tài)方法 108
11.7 靜態(tài)代碼塊 110
11.8 本章小結 111
11.9 同步練習 111
第12章 對象 113
12.1 創(chuàng)建對象 113
12.2 空對象 114
12.3 構造方法 114
…
12.4 this關鍵字 118
12.5 對象銷毀 119
12.6 本章小結 119
12.7 同步練習 119
第13章 繼承與多態(tài) 120
13.1 Java中的繼承 120
13.2 調用父類構造方法 122
13.3 成員變量隱藏和方法覆蓋 123
…
13.4 多態(tài) 126
…
13.5 再談final關鍵字 131
…
13.6 本章小結 133
13.7 同步練習 133
第14章 抽象類與接口 135
14.1 抽象類 135
…
14.2 接口 137
…
14.3 本章小結 143
14.4 同步練習 143
第15章 枚舉類 144
15.1 枚舉概述 144
15.2 枚舉類聲明 145
…
15.3 枚舉類常用方法 149
15.4 本章小結 150
15.5 同步練習 150
第16章 Java常用類 151
16.1 Java根類———Object 151
…
16.2 包裝類 153
…
16.3 Math類 159
16.4 大數(shù)值 161
…
16.5 日期時間相關類 164
…
16.6 本章小結 168
16.7 同步練習 168
第17章 內部類 170
17.1 內部類概述 170
…
17.2 成員內部類 171
…
17.3 局部內部類 174
17.4 匿名內部類 175
17.5 本章小結 177
17.6 同步練習 177
第18章 Java函數(shù)式編程 178
18.1 Lambda表達式概述 178
…
18.2 Lambda表達式簡化形式 181
…
18.3 作為參數(shù)使用Lambda表達式 183
18.4 訪問變量 184
…
18.5 方法引用 186
18.6 本章小結 187
18.7 同步練習 187
18.8 動手實踐: 找出素數(shù) 188
第三篇 Java進階
第19章 異常處理 191
19.1 從一個問題開始 191
19.2 異常類繼承層次 191
…
19.3 捕獲異常 194
…
19.4 釋放資源 199
…
19.5 throws與聲明方法拋出異常 203
19.6 自定義異常類 204
19.7 throw與顯式拋出異常 205
19.8 本章小結 206
19.9 同步練習 206
19.10 動手實踐: 自己的異常處理類 208
第20章 對象容器———集合 209
20.1 集合概述 209
20.2 List集合 210
…
20.3 Set集合 214
…
20.4 Map集合 217
…
20.5 本章小結 220
20.6 同步練習 220
第21章 泛型 221
21.1 一個問題的思考 221
21.2 使用泛型 223
21.3 自定義泛型類 224
21.4 自定義泛型接口 226
21.5 泛型方法 228
21.6 本章小結 229
21.7 同步練習 229
21.8 動手實踐: 編寫自己的泛型類 229
第22章 文件管理與I/O流 230
22.1 文件管理 230
…
22.2 I/O流概述 233
…
22.3 字節(jié)流 236
…
22.4 字符流 241
…
22.5 本章小結 246
22.6 同步練習 247
22.7 動手實踐: 讀寫日期 247
第23章 多線程編程 248
23.1 基礎知識 248
…
23.2 創(chuàng)建子線程 250
…
23.3 線程的狀態(tài) 255
23.4 線程管理 256
…
23.5 線程安全 261
…
23.6 線程間通信 266
23.7 本章小結 269
23.8 同步練習 269
23.9 動手實踐: 時鐘應用 270
第24章 網絡編程 271
24.1 網絡基礎 271
…
24.2 TCP Socket低層次網絡編程 273
…
24.3 UDP Socket低層次網絡編程 280
…
24.4 數(shù)據(jù)交換格式 286
…
24.5 訪問互聯(lián)網資源 293
…
24.6 本章小結 302
24.7 同步練習 302
24.8 動手實踐: 解析來自于 Web的結構化數(shù)據(jù) 302
第25章 Swing圖形用戶界面編程 303
25.1 Java圖形用戶界面技術 303
25.2 Swing技術基礎 304
…
25.3 事件處理模型 307
…
25.4 布局管理 313
…
25.5 Swing組件 320
…
25.6 案例: 圖書庫存 334
25.7 本章小結 340
25.8 同步練習 340
25.9 動手實踐: 展示 Web數(shù)據(jù) 340
第26章 反射 341
26.1 Java反射機制 API 341
…
26.2 創(chuàng)建對象 343
…
26.3 調用方法 346
26.4 調用成員變量 348
26.5 本章小結 350
26.6 同步練習 350
第27章 注解 351
27.1 基本注解 351
…
27.2 元注解 355
27.3 自定義注解 356
…
27.4 本章小結 361
27.5 同步練習 361
第28章 數(shù)據(jù)庫編程 362
28.1 數(shù)據(jù)持久化技術概述 362
28.2 MySQL數(shù)據(jù)庫管理系統(tǒng) 362
…
28.3 JDBC技術 371
…
28.4 案例: 數(shù)據(jù)CRUD操作 380
…
28.5 本章小結 385
28.6 同步練習 385
28.7 動手實踐: 從結構化文檔遷移數(shù)據(jù)到數(shù)據(jù)庫 385
第四篇 項 目 實 戰(zhàn)
第29章 項目實戰(zhàn)1: 開發(fā)PetStore寵物商店項目 389
29.1 系統(tǒng)分析與設計 389
…
29.2 任務1: 創(chuàng)建數(shù)據(jù)庫 395
…
29.3 任務2: 初始化項目 396
…
29.4 任務3: 編寫數(shù)據(jù)持久層代碼 397
…
29.5 任務4: 編寫表示層代碼 410
…
29.6 任務5: 應用程序打包發(fā)布 426
…
第30章 項目實戰(zhàn)2: 開發(fā)Java版QQ聊天工具 429
30.1 系統(tǒng)分析與設計 429
…
30.2 任務1: 創(chuàng)建服務器端數(shù)據(jù)庫 434
…
30.3 任務2: 創(chuàng)建項目 435
…
30.4 任務3: 編寫 QQ服務器項目外圍代碼 437
…
30.5 任務4: QQ客戶端項目 UI實現(xiàn) 442
…
30.6 任務5: 用戶登錄過程實現(xiàn) 452
…
30.7 任務6: 用戶登錄刷新好友列表 459
…
30.8 任務7: 聊天過程實現(xiàn) 462
…
30.9 任務8: 用戶下線刷新好友列表過程 467
…
30.10 測試與運行 470
…