瘋狂Java講義(第3版)(含CD光盤1張) epub pdf mobi txt 電子書 下載 2024
發表於2024-12-25
瘋狂Java講義(第3版)(含CD光盤1張) epub pdf mobi txt 電子書 下載 2024
媒體評論
我在Java編程教學中把《瘋狂Java講義》列為重要的中文參考資料。它覆蓋瞭“夠用”的Java語言和技術,作者有實際的編程和教學經驗,也盡力把相關問題講解明白、分析清楚,這在同類書籍中是比較難得的。
北京大學信息科學技術學院副教授 劉揚
內容簡介
《瘋狂Java講義(第3版)(含CD光盤1張)》是《瘋狂Java講義》的第3版,第3版保持瞭前兩版係統、全麵、講解淺顯、細緻的特性,全麵新增介紹瞭Java 8的新特性,《瘋狂Java講義(第3版)(含CD光盤1張)》大部分示例程序都采用Lambda錶達式、流式API進行瞭改寫,因此務必使用Java 8的JDK來編譯、運行。
《瘋狂Java講義(第3版)(含CD光盤1張)》深入介紹瞭Java編程的相關方麵,全書內容覆蓋瞭Java的基本語法結構、Java的麵嚮對象特徵、Java集閤框架體係、Java泛型、異常處理、Java GUI編程、JDBC數據庫編程、Java注釋、Java的IO流體係、Java多綫程編程、Java網絡通信編程和Java反射機製。覆蓋瞭java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下絕大部分類和接口。本書全麵介紹瞭Java 8的新的接口語法、Lambda錶達式、方法引用、構造器引用、函數式編程、流式編程、新的日期、時間API、並行支持、改進的類型推斷、重復注解、JDBC 4.2新特性等新特性。
與前兩版類似,《瘋狂Java講義(第3版)(含CD光盤1張)》並不單純從知識角度來講解Java,而是從解決問題的角度來介紹Java語言,所以《瘋狂Java講義(第3版)(含CD光盤1張)》中涉及大量實用案例開發:五子棋遊戲、梭哈遊戲、仿QQ的遊戲大廳、MySQL企業管理器、仿EditPlus的文本編輯器、多綫程、斷點下載工具、Spring框架的IoC容器……這些案例既能讓讀者鞏固每章的知識,又可以讓讀者學以緻用,激發編程自豪感,進而引爆內心的編程激情。《瘋狂Java講義(第3版)(含CD光盤1張)》光盤裏包含書中所有示例的代碼和《瘋狂Java實戰演義》的所有項目代碼,這些項目可以作為《瘋狂Java講義(第3版)(含CD光盤1張)》課後練習的“非標準答案”,如果讀者需要獲取關於課後習題的解決方法、編程思路,可以登錄站點與筆者及《瘋狂Java講義(第3版)(含CD光盤1張)》龐大的讀者群相互交流。
《瘋狂Java講義(第3版)(含CD光盤1張)》為所有打算深入掌握Java編程的讀者而編寫,適閤各種層次的Java學習者和工作者閱讀,也適閤作為大學教育、培訓機構的Java教材。但如果隻是想簡單涉獵Java,則本書過於龐大,不適閤閱讀。
目錄
第1章 Java語言概述與開發環境 1
1.1 Java語言的發展簡史 2
1.2 Java的競爭對手及各自優勢 4
1.2.1 C#簡介和優勢 4
1.2.2 Ruby簡介和優勢 5
1.2.3 Python簡介和優勢 5
1.3 Java程序運行機製 6
1.3.1 高級語言的運行機製 6
1.3.2 Java程序的運行機製和JVM 6
1.4 開發Java的準備 8
1.4.1 下載和安裝Java 8的JDK 8
不是說JVM是運行Java程序的虛擬機嗎?那JRE和JVM的關係是怎樣的呢? 8
為什麼不安裝公共JRE呢? 9
1.4.2 設置PATH環境變量 10
為什麼選擇用戶變量?用戶變量與係統變量有什麼區彆? 11
1.5 第一個Java程序 12
1.5.1 編輯Java源代碼 12
1.5.2 編譯Java程序 12
當編譯C程序時,不僅需要指定存放目標文件的位置,也需要指定目標文件的文件名,這裏使用javac編譯Java程序時怎麼不需要指定目標文件的文件名呢? 13
1.5.3 運行Java程序 13
1.5.4 根據CLASSPATH環境變量定位類 14
1.6 Java程序的基本規則 15
1.6.1 Java程序的組織形式 15
1.6.2 Java源文件的命名規則 16
1.6.3 初學者容易犯的錯誤 17
1.7 垃圾迴收機製 19
1.8 何時開始使用IDE工具 20
我想學習Java編程,到底是學習Eclipse好,還是學習NetBeans好呢? 21
1.9 本章小結 21
第2章 理解麵嚮對象 22
2.1 麵嚮對象 23
2.1.1 結構化程序設計簡介 23
2.1.2 程序的三種基本結構 24
2.1.3 麵嚮對象程序設計簡介 26
2.1.4 麵嚮對象的基本特徵 27
2.2 UML(統一建模語言)介紹 28
2.2.1 用例圖 30
2.2.2 類圖 30
2.2.3 組件圖 32
2.2.4 部署圖 33
2.2.5 順序圖 33
2.2.6 活動圖 34
2.2.7 狀態機圖 35
2.3 Java的麵嚮對象特徵 36
2.3.1 一切都是對象 36
2.3.2 類和對象 36
2.4 本章小結 37
第3章 數據類型和運算符 38
3.1 注釋 39
3.1.1 單行注釋和多行注釋 39
3.1.2 文檔注釋 40
API文檔是什麼? 40
為什麼要學習查看API文檔的方法?
3.2 標識符和關鍵字 46
3.2.1 分隔符 46
3.2.2 標識符規則 47
3.2.3 Java關鍵字 47
3.3 數據類型分類 48
什麼是變量?變量有什麼用? 48
3.4 基本數據類型 49
3.4.1 整型 49
3.4.2 字符型 51
什麼是字符集? 51
3.4.3 浮點型 53
3.4.4 數值中使用下畫綫分隔 54
3.4.5 布爾型 54
3.5 基本類型的類型轉換 55
3.5.1 自動類型轉換 55
3.5.2 強製類型轉換 56
3.5.3 錶達式類型的自動提升 58
3.6 直接量 59
3.6.1 直接量的類型 59
3.6.2 直接量的賦值 59
3.7 運算符 60
3.7.1 算術運算符 60
3.7.2 賦值運算符 63
3.7.3 位運算符 63
3.7.4 擴展後的賦值運算符 66
3.7.5 比較運算符 66
3.7.6 邏輯運算符 67
3.7.7 三目運算符 68
3.7.8 運算符的結閤性和優先級 69
3.8 本章小結 70
第4 章 流程控製與數組 71
4.1 順序結構 72
4.2 分支結構 72
4.2.1 if條件語句 72
4.2.2 Java 7增強後的switch分支語句 76
4.3 循環結構 78
4.3.1 while循環語句 78
4.3.2 do while循環語句 79
4.3.3 for循環 80
4.3.4 嵌套循環 83
4.4 控製循環結構 84
4.4.1 使用break結束循環 84
4.4.2 使用continue忽略本次循環剩下語句 85
4.4.3 使用return結束方法 86
4.5 數組類型 86
4.5.1 理解數組:數組也是一種類型 86
int[]是一種類型嗎?怎麼使用這種類型呢? 87
4.5.2 定義數組 87
4.5.3 數組的初始化 88
能不能隻分配內存空間,不賦初始值呢? 88
4.5.4 使用數組 89
為什麼要我記住這些異常信息? 89
4.5.5 foreach循環 90
4.6 深入數組 91
4.6.1 內存中的數組 91
為什麼有棧內存和堆內存之分? 92
4.6.2 基本類型數組的初始化 94
4.6.3 引用類型數組的初始化 95
4.6.4 沒有多維數組 97
我是否可以讓圖4.13中灰色覆蓋的數組元素再次指嚮另一個數組?這樣不就可以擴展成三維數組,甚至擴展成更多維的數組嗎? 98
4.6.5 Java 8增強的工具類:Arrays 99
4.6.6 數組的應用舉例 102
4.7 本章小結 105
本章練習 105
第5 章 麵嚮對象(上) 106
5.1 類和對象 107
5.1.1 定義類 107
構造器不是沒有返迴值嗎?為什麼不能用void聲明呢? 109
5.1.2 對象的産生和使用 110
5.1.3 對象、引用和指針 110
5.1.4 對象的this引用 111
5.2 方法詳解 115
5.2.1 方法的所屬性 115
5.2.2 方法的參數傳遞機製 116
5.2.3 形參個數可變的方法 119
5.2.4 遞歸方法 120
5.2.5 方法重載 122
為什麼方法的返迴值類型不能用於區分重載的方法? 122
5.3 成員變量和局部變量 123
5.3.1 成員變量和局部變量 123
5.3.2 成員變量的初始化和內存中的運行機製 126
5.3.3 局部變量的初始化和內存中的
運行機製 128
5.3.4 變量的使用規則 129
5.4 隱藏和封裝 130
5.4.1 理解封裝 130
5.4.2 使用訪問控製符 130
5.4.3 package、import和import static 133
5.4.4 Java的常用包 138
5.5 深入構造器 138
5.5.1 使用構造器執行初始化 138
構造器是創建Java對象的途徑,是不是說構造器完全負責創建Java對象? 139
5.5.2 構造器重載 139
為什麼要用this來調用另一個重載的構造器?我把另一個構造器裏的代碼復製、粘貼到這個構造器裏不就可以瞭嗎? 141
5.6 類的繼承 141
5.6.1 繼承的特點 141
5.6.2 重寫父類的方法 142
5.6.3 super限定 144
5.6.4 調用父類構造器 146
為什麼我創建Java對象時從未感覺到java.lang. Object類的構造器被調用過? 148
5.7 多態 148
5.7.1 多態性 148
5.7.2 引用變量的強製類型轉換 150
5.7.3 instanceof運算符 151
5.8 繼承與組閤 152
5.8.1 使用繼承的注意點 152
5.8.2 利用組閤實現復用 153
使用組閤關係來實現復用時,需要創建兩個Animal對象,是不是意味著使用組閤關係時係統開銷更大? 156
5.9 初始化塊 156
5.9.1 使用初始化塊 156
5.9.2 初始化塊和構造器 158
5.9.3 靜態初始化塊 159
5.10 本章小結 161
第6 章 麵嚮對象(下) 162
6.1 Java 8增強的包裝類 163
Java為什麼要對這些數據進行緩存呢? 166
6.2 處理對象 167
6.2.1 打印對象和toString方法 167
6.2.2 ==和equals方法 169
上麵程序中判斷obj是否為Person類的實例時,為何不用obj instanceof Person來判斷呢? 172
6.3 類成員 172
6.3.1 理解類成員 172
6.3.2 單例(Singleton)類 173
6.4 final修飾符 174
6.4.1 final成員變量 175
6.4.2 final局部變量 176
6.4.3 final修飾基本類型變量和引用類型變量的區彆 177
6.4.4 可執行“宏替換”的final變量 178
6.4.5 final方法 180
6.4.6 final類 180
6.4.7 不可變類 181
6.4.8 緩存實例的不可變類 183
6.5 抽象類 186
6.5.1 抽象方法和抽象類 186
6.5.2 抽象類的作用 189
6.6 Java 8改進的接口 190
6.6.1 接口的概念 190
6.6.2 Java 8中接口的定義 190
6.6.3 接口的繼承 193
6.6.4 使用接口 193
6.6.5 接口和抽象類 195
6.6.6 麵嚮接口編程 195
6.7 內部類 199
6.7.1 非靜態內部類 199
非靜態內部類對象和外部類對象的關係是怎樣的? 203
6.7.2 靜態內部類 203
為什麼靜態內部類的實例方法也不能訪問外部類的實例屬性呢? 204
接口裏是否能定義內部接口? 205
6.7.3 使用內部類 205
既然內部類是外部類的成員,那麼是否可以為外部類定義子類,在子類中再定義一個內部類來重寫其父類中的內部類呢? 208
6.7.4 局部內部類 208
6.7.5 Java 8改進的匿名內部類 209
6.8 Java 8新增的Lambda錶達式 212
6.8.1 Lambda錶達式入門 212
6.8.2 Lambda錶達式與函數式接口 214
6.8.3 方法引用與構造器引用 216
6.8.4 Lambda錶達式與匿名內部類的聯係和區彆 218
6.8.5 使用Lambda錶達式調用Arrays的類方法 219
6.9 枚舉類 220
6.9.1 手動實現枚舉類 220
6.9.2 枚舉類入門 221
6.9.3 枚舉類的成員變量、方法和構造器 222
6.9.4 實現接口的枚舉類 224
枚舉類不是用final修飾瞭嗎?怎麼還能派生子類呢? 225
6.9.5 包含抽象方法的枚舉類 225
6.10 對象與垃圾迴收 226
6.10.1 對象在內存中的狀態 227
6.10.2 強製垃圾迴收 227
6.10.3 finalize方法 229
6.10.4 對象的軟、弱和虛引用 230
6.11 修飾符的適用範圍 233
6.12 使用JAR文件 234
6.12.1 jar命令詳解 235
6.12.2 創建可執行的JAR包 236
6.12.3 關於JAR包的技巧 237
6.13 本章小結 238
本章練習 238
第7 章 Java基礎類庫 239
7.1 與用戶互動 240
7.1.1 運行Java程序的參數 240
7.1.2 使用Scanner獲取鍵盤輸入 241
7.2 係統相關 243
7.2.1 System類 243
7.2.2 Runtime類 245
7.3 常用類 246
7.3.1 Object類 246
7.3.2 Java 7新增的Objects類 247
7.3.3 String、StringBuffer和
StringBuilder類 248
7.3.4 Math類 251
7.3.5 Java 7的ThreadLocalRandom與Random 253
7.3.6 BigDecimal類 255
7.4 Java 8的日期、時間類 257
7.4.1 Date類 257
7.4.2 Calendar類 258
7.4.3 Java 8新增的日期、時間包 261
7.5 正則錶達式 263
7.5.1 創建正則錶達式 263
7.5.2 使用正則錶達式 266
7.6 國際化與格式化 270
7.6.1 Java國際化的思路 270
7.6.2 Java支持的國傢和語言 270
7.6.3 完成程序國際化 271
7.6.4 使用MessageFormat處理包含占位符的字符串 273
7.6.5 使用類文件代替資源文件 274
7.6.6 使用NumberFormat格式化數字 274
7.6.7 使用DateFormat格式化日期、時間 276
7.6.8 使用SimpleDateFormat格式化日期 277
7.7 Java 8新增的日期、時間格式器 278
7.7.1 使用DateTimeFormatter完成格式化 278
7.7.2 使用DateTimeFormatter解析字符串 279
7.8 本章小結 280
本章練習 280
第8 章 Java集閤 281
8.1 Java集閤概述 282
8.2 Collection和Iterator接口 283
8.2.1 使用Lambda錶達式遍曆集閤 285
8.2.2 使用Java 8增強的Iterator遍曆集閤元素 286
8.2.3 使用Lambda錶達式遍曆Iterator 287
8.2.4 使用foreach循環遍曆集閤元素 288
8.2.5 使用Java 8新增的Predicate操作集閤 288
8.2.6 使用Java 8新增的Stream操作集閤 289
8.3 Set集閤 291
8.3.1 HashSet類 292
hashCode()方法對於HashSet是不是十分重要? 293
8.3.2 LinkedHashSet類 295
8.3.3 TreeSet類 296
8.3.4 EnumSet類 302
8.3.5 各Set實現類的性能分析 303
8.4 List集閤 304
8.4.1 Java 8改進的List接口和ListIterator接口 304
8.4.2 ArrayList和Vector實現類 307
8.4.3 固定長度的List 308
8.5 Queue集閤 308
8.5.1 PriorityQueue實現類 309
瘋狂Java講義(第3版)(含CD光盤1張) epub pdf mobi txt 電子書 下載 2024
瘋狂Java講義(第3版)(含CD光盤1張) 下載 epub mobi pdf txt 電子書瘋狂Java講義(第3版)(含CD光盤1張) mobi pdf epub txt 電子書 下載 2024
瘋狂Java講義(第3版)(含CD光盤1張) epub pdf mobi txt 電子書 下載評分
評分
評分
評分
評分
評分
評分
評分
瘋狂Java講義(第3版)(含CD光盤1張) epub pdf mobi txt 電子書 下載 2024