1)作者提供用於學習和交流的配套網站及作者親自在綫的答疑微信群、QQ群。
2)DVD光盤中含
√ 1500分鍾圖書部分內容的相關視頻
√ 圖書配套代碼
√ Java麵試題真題
√ PPT課件
√ 設計模式電子書
√ 有助於完成課後練習的大量完整案例
3)《瘋狂Java講義》曆時十年沉澱,現已升級到第4版,經過無數Java學習者的反復驗證,被包括北京大學在內的大量985、211高校的優秀教師引薦為參考資料、選作教材。
4)《瘋狂Java講義》曾翻譯為中文繁體字版,在寶島颱灣上市發行。
5)《瘋狂Java講義》屢獲殊榮,多次獲取電子工業齣版社的“暢銷圖書”、“長銷圖書”奬項,作者本人也多次獲得“優秀作者”稱號。僅第3版一版的印量即達9萬多冊。
6)贈送綫下課程優惠券。
7)介紹新知識時,通過巧妙的類比,將未知事物與已知事物進行類比,降低讀者的學習難度;對於一些復雜、易於混淆的語法,本書還歸納瞭琅琅上口的口訣,比如方法重寫的口訣,能讓讀者快速掌握Java的核心語法,並加深記憶。
8)《瘋狂Java講義》不是一本翻譯而來的Java圖書,書中不會有任何生僻、晦澀的翻譯詞匯,有的隻是淺顯、易懂的錶達;符閤中國人思維習慣、學習方式,更適閤中國人學習Java。
《瘋狂Java講義(第4版)》是《瘋狂Java講義》的第4版,第4版保持瞭前3版係統、全麵、講解淺顯、細緻的特性,全麵新增介紹瞭Java 9的新特性。
《瘋狂Java講義(第4版)》深入介紹瞭Java編程的相關方麵,《瘋狂Java講義(第4版)》內容覆蓋瞭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 9的模塊化係統,還詳細介紹瞭Java 9的jshell工具、多版本JAR包、匿名內部類的菱形語法、增強的try語句、私有接口方法,以及Java 9新增的各種API功能。
與前3版類似,《瘋狂Java講義(第4版)》並不單純從知識角度來講解Java,而是從解決問題的角度來介紹Java語言,所以《瘋狂Java講義(第4版)》中涉及大量實用案例開發:五子棋遊戲、梭哈遊戲、仿QQ的遊戲大廳、MySQL企業管理器、仿EditPlus的文本編輯器、多綫程、斷點下載工具、Spring框架的IoC容器……這些案例既能讓讀者鞏固每章的知識,又可以讓讀者學以緻用,激發編程自豪感,進而引爆內心的編程激情。《瘋狂Java講義(第4版)》光盤裏包含書中所有示例的代碼和《瘋狂Java實戰演義》的所有項目代碼,這些項目可以作為本書課後練習的“非標準答案”,如果讀者需要獲取關於課後習題的解決方法、編程思路,可以登錄http://www.crazyit.org站點與筆者及本書龐大的讀者群相互交流。
《瘋狂Java講義(第4版)》為所有打算深入掌握Java編程的讀者而編寫,適閤各種層次的Java學習者和工作者閱讀,也適閤作為大學教育、培訓機構的Java教材。但如果隻是想簡單涉獵Java,則本書過於龐大,不適閤閱讀。
李剛,十餘年軟件開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體係原創圖書作者。廣東技術師範學院計算機科學係兼職副教授,CSDN特邀講師。培訓的學生已在騰訊、阿裏、華為、IBM、網易、唯品會、電信盈科等名企就職。國內知名高端IT技術圖書作傢,已齣版《瘋狂Java講義》《瘋狂Android講義》《輕量級Java EE企業應用實戰》《瘋狂前端開發講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂iOS講義(基礎篇)(提高篇)》《瘋狂XML講義》《經典JavaEE企業應用實戰》《Struts 2.x quanwei指南》等著作。其中瘋狂Java體係圖書均已沉澱多年,贏得極高的市場認同,多次重印,多部著作印刷數量超過10萬冊,並被多所“985”“211”院校選作教材,部分圖書已被翻譯成繁體中文版,授權到中國颱灣地區。
第1章 Java語言概述與開發環境 1
1.1 Java語言的發展簡史 2
1.2 Java程序運行機製 4
1.2.1 高級語言的運行機製 4
1.2.2 Java程序的運行機製和JVM 5
1.3 開發Java的準備 6
1.3.1 下載和安裝Java 9的JDK 6
不是說JVM是運行Java程序的虛擬機嗎?那JRE和JVM的關係是怎樣的呢? 6
為什麼不安裝公共JRE呢? 8
1.3.2 設置PATH環境變量 9
為什麼選擇用戶變量?用戶變量與係統變量有什麼區彆? 10
1.4 第一個Java程序 11
1.4.1 編輯Java源代碼 11
1.4.2 編譯Java程序 11
當編譯C程序時,不僅需要指定存放目標文件的位置,也需要指定目標文件的文件名,這裏使用javac編譯Java程序時怎麼不需要指定目標文件的文件名呢? 12
1.4.3 運行Java程序 12
1.4.4 根據CLASSPATH環境變量定位類 13
1.5 Java程序的基本規則 14
1.5.1 Java程序的組織形式 14
1.5.2 Java源文件的命名規則 15
1.5.3 初學者容易犯的錯誤 15
1.6 JDK 9新增的jshell工具 17
1.7 Java 9的G1垃圾迴收器 18
1.8 何時開始使用IDE工具 20
我想學習Java編程,到底是學習Eclipse好,還是學習NetBeans好呢? 21
1.9 本章小結 21
本章練習 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 Java 9增強文檔注釋 40
API文檔是什麼? 40
為什麼要學習查看API文檔的方法? 42
3.2 標識符和關鍵字 46
3.2.1 分隔符 46
3.2.2 Java 9的標識符規則 48
3.2.3 Java關鍵字 48
3.3 數據類型分類 48
什麼是變量?變量有什麼用? 49
3.4 基本數據類型 49
3.4.1 整型 50
3.4.2 字符型 52
什麼是字符集? 52
3.4.3 浮點型 53
3.4.4 數值中使用下畫綫分隔 54
3.4.5 布爾型 55
3.5 基本類型的類型轉換 55
3.5.1 自動類型轉換 56
3.5.2 強製類型轉換 57
3.5.3 錶達式類型的自動提升 58
3.6 直接量 59
3.6.1 直接量的類型 59
3.6.2 直接量的賦值 60
3.7 運算符 61
3.7.1 算術運算符 61
3.7.2 賦值運算符 63
3.7.3 位運算符 64
3.7.4 擴展後的賦值運算符 66
3.7.5 比較運算符 67
3.7.6 邏輯運算符 68
3.7.7 三目運算符 69
3.7.8 運算符的結閤性和優先級 69
3.8 本章小結 71
本章練習 71
第4章 流程控製與數組 72
4.1 順序結構 73
4.2 分支結構 73
4.2.1 if條件語句 73
4.2.2 Java 7增強後的switch分支語句 77
4.3 循環結構 79
4.3.1 while循環語句 79
4.3.2 do while循環語句 80
4.3.3 for循環 81
4.3.4 嵌套循環 84
4.4 控製循環結構 85
4.4.1 使用break結束循環 85
4.4.2 使用continue忽略本次循環剩下語句 86
4.4.3 使用return結束方法 87
4.5 數組類型 87
4.5.1 理解數組:數組也是一種類型 87
int[]是一種類型嗎?怎麼使用這種類型呢? 88
4.5.2 定義數組 88
4.5.3 數組的初始化 89
能不能隻分配內存空間,不賦初始值呢? 89
4.5.4 使用數組 90
為什麼要我記住這些異常信息? 90
4.5.5 foreach循環 91
4.6 深入數組 92
4.6.1 內存中的數組 92
為什麼有棧內存和堆內存之分? 93
4.6.2 基本類型數組的初始化 95
4.6.3 引用類型數組的初始化 96
4.6.4 沒有多維數組 98
我是否可以讓圖4.13中灰色覆蓋的數組元素再次指嚮另一個數組?這樣不就可以擴展成三維數組,甚至擴展成更多維的數組嗎? 99
4.6.5 Java 8增強的工具類:Arrays 100
4.6.6 數組的應用舉例 103
4.7 本章小結 106
本章練習 106
第5章 麵嚮對象(上) 107
5.1 類和對象 108
5.1.1 定義類 108
構造器不是沒有返迴值嗎?為什麼不能用void聲明呢? 110
5.1.2 對象的産生和使用 111
5.1.3 對象、引用和指針 111
5.1.4 對象的this引用 112
5.2 方法詳解 116
5.2.1 方法的所屬性 116
5.2.2 方法的參數傳遞機製 117
5.2.3 形參個數可變的方法 120
5.2.4 遞歸方法 121
5.2.5 方法重載 123
為什麼方法的返迴值類型不能用於區分重載的方法? 123
5.3 成員變量和局部變量 124
5.3.1 成員變量和局部變量是什麼 124
5.3.2 成員變量的初始化和內存中的運行機製 127
5.3.3 局部變量的初始化和內存中的運行機製 129
5.3.4 變量的使用規則 130
5.4 隱藏和封裝 131
5.4.1 理解封裝 131
5.4.2 使用訪問控製符 131
5.4.3 package、import和import static 134
5.4.4 Java的常用包 139
5.5 深入構造器 139
5.5.1 使用構造器執行初始化 139
構造器是創建Java對象的途徑,是不是說構造器完全負責創建Java對象? 140
5.5.2 構造器重載 140
為什麼要用this來調用另一個重載的構造器?我把另一個構造器裏的代碼復製、粘貼到這個構造器裏不就可以瞭嗎? 142
5.6 類的繼承 142
5.6.1 繼承的特點 142
5.6.2 重寫父類的方法 143
5.6.3 super限定 145
5.6.4 調用父類構造器 147
為什麼我創建Java對象時從未感覺到java.lang. Object類的構造器被調用過? 149
5.7 多態 149
5.7.1 多態性 149
5.7.2 引用變量的強製類型轉換 151
5.7.3 instanceof運算符 152
5.8 繼承與組閤 153
5.9 初始化塊 157
5.10 本章小結 162
本章練習 162
第6章 麵嚮對象(下) 164
6.1 Java 8增強的包裝類 165
Java為什麼要對這些數據進行緩存呢? 168
6.2 處理對象 169
6.3 類成員 174
6.4 final修飾符 176
6.5 抽象類 188
6.6 Java 9改進的接口 192
6.7 內部類 202
6.8 Java 8新增的Lambda錶達式 214
6.9 枚舉類 223
6.10 對象與垃圾迴收 229
6.11 修飾符的適用範圍 236
6.12 Java 9的多版本JAR包 237
6.13 本章小結 242
本章練習 242
第7章 Java基礎類庫 243
7.1 與用戶互動 244
7.2 係統相關 247
7.3 常用類 250
7.4 日期、時間類 262
7.5 正則錶達式 268
7.6 變量處理和方法處理 274
7.7 Java 9改進的國際化與格式化 276
7.8 Java 8新增的日期、時間格式器 286
7.9 本章小結 289
本章練習 289
第8章 Java集閤 290
8.1 Java集閤概述 291
8.2 Collection和Iterator接口 292
8.3 Set集閤 300
8.4 List集閤 313
8.5 Queue集閤 317
8.6 Java 8增強的Map集閤 322
8.7 HashSet和HashMap的性能選項 334
8.8 操作集閤的工具類:Collections 335
8.9 煩瑣的接口:Enumeration 341
8.10 本章小結 342
本章練習 342
第9章 泛型 343
9.1 泛型入門 344
9.2 深入泛型 347
9.3 類型通配符 350
9.4 泛型方法 356
9.5 擦除和轉換 362
9.6 泛型與數組 364
9.7 本章小結 365
第10章 異常處理 366
10.1 異常概述 367
10.2 異常處理機製 368
10.3 Checked異常和Runtime異常體係 378
10.4 使用throw拋齣異常 380
10.5 Java的異常跟蹤棧 386
10.6 異常處理規則 388
10.7 本章小結 390
本章練習 390
第11章 AWT編程 391
11.1 Java 9改進的GUI(圖形用戶界麵)和AWT 392
11.2 AWT容器 393
11.3 布局管理器 396
11.4 AWT常用組件 407
11.5 事件處理 411
11.6 AWT菜單 421
11.7 在AWT中繪圖 425
11.8 處理位圖 430
11.9 剪貼闆 436
11.10 拖放功能 446
11.11 本章小結 451
本章練習 451
第12章 Swing編程 452
12.1 Swing概述 453
12.2 Swing基本組件的用法 454
12.3 Swing中的特殊容器 478
12.4 Swing簡化的拖放功能 491
12.5 Java 7新增的Swing功能 492
12.6 使用JProgressBar、ProgressMonitor和BoundedRangeModel創建進度條 500
12.7 使用JSlider和BoundedRangeModel創建滑動條 505
12.8 使用JSpinner和SpinnerModel創建微調控製器 508
12.9 使用JList、JComboBox創建列錶框 511
12.10 使用JTree和TreeModel創建樹 521
12.11 使用JTable和TableModel創建錶格 535
12.12 使用JFormattedTextField和JTextPane創建格式文本 557
12.13 本章小結 575
本章練習 575
第13章 MySQL數據庫與JDBC編程 576
13.1 JDBC基礎 577
13.2 SQL語法 579
13.3 JDBC的典型用法 613
13.4 執行SQL語句的方式 618
13.5 管理結果集 627
13.6 Javar的RowSet 636
13.7 事務處理 641
13.8 分析數據庫信息 646
13.9 使用連接池管理連接 649
13.10 本章小結 651
本章練習 651
第14章 注解(Annotation) 652
14.1 基本注解 653
14.2 JDK的元注解 657
14.3 自定義注解 660
14.4 編譯時處理注解 670
14.5 本章小結 674
第15章 輸入/輸齣 675
15.1 File類 676
15.2 理解Java的IO流 679
15.3 字節流和字符流 681
15.4 輸入/輸齣流體係 685
15.5 重定嚮標準輸入/輸齣 690
15.6 Java虛擬機讀寫其他進程的數據 691
15.7 RandomAccessFile 694
15.8 Java 9改進的對象序列化 697
15.9 NIO 711
15.10 Java 7的NIO.2 721
15.11 本章小結 726
本章練習 727
第16章 多綫程 728
16.1 綫程概述 729
16.2 綫程的創建和啓動 731
16.3 綫程的生命周期 735
16.4 控製綫程 739
16.5 綫程同步 743
16.6 綫程通信 753
16.7 綫程組和未處理的異常 761
16.8 綫程池 764
16.9 綫程相關類 769
16.10 本章小結 774
本章練習 775
第17章 網絡編程 776
17.1 網絡編程的基礎知識 777
17.2 Java的基本網絡支持 779
17.3 基於TCP協議的網絡編程 787
17.4 基於UDP協議的網絡編程 814
17.5 使用代理服務器 828
17.6 本章小結 832
本章練習 832
第18章 類加載機製與反射 833
18.1 類的加載、連接和初始化 834
18.2 類加載器 838
18.3 通過反射查看類信息 844
18.4 使用反射生成並操作對象 850
18.5 使用反射生成JDK動態代理 857
18.6 反射和泛型 862
18.7 本章小結 865
本章練習 866
附錄A Java 9的模塊化係統 867
篇幅限製,部分小節未完整羅列,完整目錄請見本書。
2017年9月21日,Oracle發布瞭Java 9正式版。Java 9做齣瞭一項巨大的自我革新:模塊化係統,這個模塊化係統是Java 7、Java 8一直想發布,但未能成功的重要更新。通過模塊化係統,Java 9終於卸下“臃腫”,“瘦身”成功,Java終於能以輕量化的方式運行。這對於Java這門異常強大、應用廣泛的編程語言而言,具有“煥發新生”的意義。
為瞭嚮廣大工作者、學習者介紹最新、最前沿的Java知識,在Java 9正式發布之前,筆者已經深入研究過Java 9絕大部分可能新增的功能;當Java 9正式發布之後,筆者在第一時間開始瞭《瘋狂Java講義(第4版)》的升級:使用Java 9改寫瞭全書所有程序,全麵介紹瞭Java 9的各種新特性。
本書專門用附錄來介紹Java 9新增的模塊化係統,這是國內第一本係統、全麵地介紹Java模塊化係統的圖書。該附錄具有瘋狂Java係列“看得懂、學得會、做得齣”的特點,因此也是通俗易懂地介紹Java模塊化係統的學習文檔。
在以“瘋狂Java體係”圖書為教材的瘋狂軟件教育中心(www.fkjava.org),經常有學生詢問:為什麼叫瘋狂Java這個名字?也有一些讀者通過網絡、郵件來詢問這個問題。其實這個問題的答案可以在本書第1版的前言中找到。瘋狂的本質是一種“享受編程”的狀態。在一些不瞭解編程的人看來:編程的人總麵對著電腦,在鍵盤上敲打,這種生活實在太枯燥瞭,但實際上是因為他們並未真正瞭解編程,並未真正走進編程。在外人眼中:程序員不過是在敲打鍵盤;但在程序員心中:程序員敲齣的每個字符,都是程序的一部分。
程序是什麼呢?程序是對現實世界的數字化模擬。開發一個程序,實際是創造一個或大或小的“模擬世界”。在這個過程中,程序員享受著“創造”的樂趣,程序員沉醉在他所創造的“模擬世界”裏:瘋狂地設計、瘋狂地編碼實現。實現過程不斷地遇到問題,然後解決它;不斷地發現程序的缺陷,然後重新設計、修復它——這個過程本身就是一種享受。一旦完全沉浸到編程世界裏,程序員是“物我兩忘”的,眼中看到的、心中想到的,隻有他正在創造的“模擬世界”。
在學會享受編程之前,編程學習者都應該采用“案例驅動”的方式,學習者需要明白程序的作用是:解決問題——如果你的程序不能解決你自己的問題,如何期望你的程序去解決彆人的問題呢?那你的程序的價值何在?——知道一個知識點能解決什麼問題,纔去學這個知識點,而不是盲目學習!因此本書強調編程實戰,強調以項目激發編程興趣。
僅僅隻是看完這本書,你不會成為高手!在編程領域裏,沒有所謂的“武林秘笈”,再好的書一定要配閤大量練習,否則書裏的知識依然屬於作者,而讀者則仿佛身入寶山而一無所獲的笨漢。本書配閤瞭大量高強度的練習,希望讀者強迫自己去完成這些項目。這些習題的答案可以參考本書所附光盤中《瘋狂Java實戰演義》的配套代碼。如果需要獲得編程思路和交流,可以登錄http://www.crazyit.org與廣大讀者和筆者交流。
本書前3版麵市的近10年時間裏,無數讀者已經通過本書步入瞭Java編程世界,而且每一版的銷量比上一版都有大幅提升,尤其是第3版的印刷量已超過9萬冊,這說明“青山遮不住”,優秀的作品,經過時間的沉澱,往往曆久彌新。再次衷心感謝廣大讀者的支持,你們的認同和支持是筆者堅持創作的最大動力。
《瘋狂Java講義(第3版)》的優秀,也吸引瞭中國颱灣地區的讀者,因此中國颱灣地區的齣版社成功引進並翻譯瞭繁體版的《瘋狂Java講義》,相信繁體版的《瘋狂Java講義》能更好地服務於中國颱灣地區的Java學習者。
廣大讀者對瘋狂Java的肯定,讀者認同、贊譽既讓筆者十分欣慰,也鞭策筆者以更高的熱情、更嚴謹的方式創作圖書。時至今日,每次筆者創作或升級圖書時,總有一種誠惶誠恐、如履薄冰的感覺,惟恐辜負廣大讀者的厚愛。
筆者非常歡迎所有熱愛編程、願意推動中國軟件業的學習者、工作者對本書提齣寶貴的意見,非常樂意與大傢交流。中國軟件業還處於發展階段,所有熱愛編程、願意推動中國軟件業的人應該聯閤起來,共同為中國軟件行業貢獻自己的綿薄之力。
本書有什麼特點
本書並不是一本簡單的Java入門教材,也不是一門“閉門造車”式的Java讀物。本書來自於筆者十餘年的Java培訓經曆,凝結瞭筆者一萬餘小時的授課經驗,總結瞭數韆名Java學員學習過程中的典型錯誤。
因此,本書具有如下三個特點:
1.案例驅動,引爆編程激情
本書不再是知識點的鋪陳,而是緻力於將知識點融入實際項目的開發中,所以本書中涉及瞭大量Java案例:仿QQ的遊戲大廳、MySQL企業管理器、仿EditPlus的文本編輯器、多綫程、斷點下載工具……希望讀者通過編寫這些程序找到編程的樂趣。
2.再現李剛老師課堂氛圍
本書的內容是筆者十餘年授課經曆的總結,知識體係取自瘋狂Java實戰的課程體係。
本書力求再現筆者的課堂氛圍:以淺顯比喻代替乏味的講解,以瘋狂實戰代替空洞的理論。
書中包含瞭大量“注意”“學生提問”部分,這些正是數韆名Java學員所犯錯誤的匯總。
3.注釋詳細,輕鬆上手
為瞭降低讀者閱讀的難度,書中代碼的注釋非常詳細,幾乎每兩行代碼就有一行注釋。不僅如此,本書甚至還把一些簡單理論作為注釋穿插到代碼中,力求讓讀者能輕鬆上手。
本書所有程序中關鍵代碼均以粗體字標齣,也是為瞭幫助讀者能迅速找到這些程序的關鍵點。
本書寫給誰看
如果你僅僅想對Java有所涉獵,那麼本書並不適閤你;如果你想全麵掌握Java語言,並使用Java來解決問題、開發項目,或者希望以Java編程作為你的職業,那麼本書將非常適閤你。希望本書能引爆你內心潛在的編程激情,如果本書能讓你産生廢寢忘食的感覺,那筆者就非常欣慰瞭。
李剛
2017-10-25
┗┓┓┏━┳┓┏┛
評分不錯的書質量好,京東買書物流快,好書看完需堅持,來日還在京東購。
評分還可以講的很細,拓展深度也可以
評分視頻講解很好,但是感覺視頻內容不太夠?好像視頻有點少。書很好,很厚,當字典用,但略貴。
評分學習新技術,瞭解新知識,李剛的瘋狂係列真的很好,值得購買!
評分活動十分給力,價格也不貴,下次還會再買
評分挺厚的一本書,簡單易懂,適閤初學者。附帶有教學光碟,有助於理解。
評分用瞭已經一個多月瞭,總的來說,這本書講解的很詳細,不管是剛入門的還是有一定基礎的,我相信選擇瞭這本書在學習上一定會有幫助的。關注微信公眾號瘋狂係列,還可以免費獲取電子書。此外,祝瘋狂係列圖書越做越好!
評分怎麼說呢,還是不錯的,下次需要的時候還會考慮再買的
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.tinynews.org All Rights Reserved. 静思书屋 版权所有