商品簡介
《瘋狂Java講義精粹》為所有打算深入掌握Java編程的讀者而編寫,適合各種層次的Java學習者和工作者閱讀。《瘋狂Java講義精粹》專門針對高校課程進行過調整,尤其適合作為大學教育、培訓機構的Java教材。《瘋狂Java講義精粹》不適合只想簡單涉獵Java的讀者閱讀。
作者簡介
名人/編輯推薦
目次
1.1 Java語言的發展簡史 2
1.2 Java的競爭對手及各自優勢 5
1.2.1 C#簡介和優勢 5
1.2.2 Ruby簡介和優勢 5
1.2.3 Python簡介和優勢 6
1.3 Java程序運行機制 7
1.3.1 高級語言的運行機制 7
1.3.2 Java程序的運行機制和JVM 7
1.4 開發Java的準備 9
1.4.1 下載和安裝Java 7的JDK 9
不是說JVM是運行Java程序的虛擬機嗎?那JRE和JVM的關系是怎樣的呢? 9
為什么不安裝公共JRE呢? 10
1.4.2 設置PATH環境變量 11
為什么選擇用戶變量?用戶變量與系統變量有什么區別? 13
1.5 第一個Java程序 13
1.5.1 編輯Java源代碼 13
1.5.2 編譯Java程序 14
當我們編譯C程序時,不僅需要指定存放目標文件的位置,也需要指定目標文件的文件名,這里使用javac編譯Java程序時怎么不需要指定目標文件的文件名呢? 14
1.5.3 運行Java程序 15
1.5.4 根據CLASSPATH環境變量定位類 16
1.6 Java程序的基本規則 17
1.6.1 Java程序的組織形式 17
1.6.2 Java源文件的命名規則 18
1.6.3 初學者容易犯的錯誤 19
1.7 垃圾回收機制 21
1.8 何時開始使用IDE工具 23
我想學習Java編程,到底是學習Eclipse好呢,還是學習NetBeans好呢? 23
1.9 本章小結 24
本章練習 24
第2章 數據類型和運算符 25
2.1 注釋 26
2.1.1 單行注釋和多行注釋 27
2.1.2 文檔注釋 27
API文檔是什么? 27
為什么要掌握查看API文檔的方法? 30
2.2 標識符和關鍵字 34
2.2.1 分隔符 34
2.2.2 標識符規則 36
2.2.3 Java關鍵字 36
2.3 數據類型分類 37
2.4 基本數據類型 37
2.4.1 整型 38
2.4.2 Java 7新增的二進制整數 39
2.4.3 字符型 40
2.4.4 浮點型 41
2.4.5 Java 7新增的數值中使用下畫線分隔 43
2.4.6 布爾型 43
2.5 基本類型的類型轉換 44
2.5.1 自動類型轉換 44
2.5.2 強制類型轉換 45
2.5.3 表達式類型的自動提升 47
2.6 直接量 48
2.6.1 直接量的類型 48
2.6.2 直接量的賦值 48
2.7 運算符 49
2.7.1 算術運算符 50
2.7.2 賦值運算符 52
2.7.3 位運算符 53
2.7.4 擴展後的賦值運算符 56
2.7.5 比較運算符 57
2.7.6 邏輯運算符 58
2.7.7 三目運算符 59
2.7.8 運算符的結合性和優先級 59
2.8 本章小結 61
本章練習 61
第3章 流程控制與數組 62
3.1 順序結構 63
3.2 分支結構 63
3.2.1 if條件語句 63
3.2.2 Java 7的switch分支語句 67
3.3 循環結構 70
3.3.1 while循環語句 70
3.3.2 do while循環語句 71
3.3.3 for循環 72
3.3.4 嵌套循環 75
3.4 控制循環結構 76
3.4.1 使用break結束循環 76
3.4.2 使用continue結束本次循環 78
3.4.3 使用return結束方法 79
3.5 數組類型 80
3.5.1 理解數組:數組也是一種類型 80
int[]是一種類型嗎?怎么使用這種類型呢? 80
3.5.2 定義數組 80
3.5.3 數組的初始化 81
能不能只分配內存空間,不賦初始值呢? 81
3.5.4 使用數組 83
為什么要我記住這些異常信息? 84
3.5.5 foreach循環 84
3.6 深入數組 86
3.6.1 內存中的數組 86
為什么有棧內存和堆內存之分? 87
3.6.2 基本類型數組的初始化 89
3.6.3 引用類型數組的初始化 90
3.6.4 沒有多維數組 93
我是否可以讓圖3.13中灰色覆蓋的數組元素再次指向另一個數組?這樣不就可以擴展成三維數組嗎?甚至擴展成更多維的數組? 95
3.6.5 操作數組的工具類 96
3.6.6 數組的應用舉例 97
3.7 本章小結 101
本章練習 101
第4章 面向對象(上) 102
4.1 類和對象 103
4.1.1 定義類 103
構造器不是沒有返回值嗎?為什么不能用void修飾呢? 106
4.1.2 對象的產生和使用 106
4.1.3 對象、引用和指針 107
4.1.4 對象的this引用 108
4.2 方法詳解 113
4.2.1 方法的所屬性 113
4.2.2 方法的參數傳遞機制 114
4.2.3 形參個數可變的方法 117
4.2.4 遞歸方法 119
4.2.5 方法重載 120
為什么方法的返回值類型不能用于區分重載的方法? 121
4.3 成員變量和局部變量 122
4.3.1 成員變量和局部變量 122
4.3.2 成員變量的初始化和內存中的運行機制 126
4.3.3 局部變量的初始化和內存中的運行機制 128
4.3.4 變量的使用規則 128
4.4 隱藏和封裝 130
4.4.1 理解封裝 130
4.4.2 使用訪問控制符 130
4.4.3 package、import和import static 134
4.4.4 Java的常用包 139
4.5 深入構造器 140
4.5.1 使用構造器執行初始化 140
構造器是創建Java對象的途徑,是不是說構造器完全負責創建Java對象? 141
4.5.2 構造器重載 141
為什么要用this來調用另一個重載的構造器?我把另一個構造器里的代碼復制、粘貼到這個構造器里不就可以了嗎? 143
4.6 類的繼承 143
4.6.1 繼承的特點 144
4.6.2 重寫父類的方法 145
4.6.3 super限定 146
4.6.4 調用父類構造器 149
為什么我創建Java對象時從未感覺到java.lang. Object類的構造器被調用過? 152
4.7 多態 152
4.7.1 多態性 152
4.7.2 引用變量的強制類型轉換 154
4.7.3 instanceof運算符 155
4.8 繼承與組合 156
4.8.1 使用繼承的注意點 156
4.8.2 利用組合實現復用 158
使用組合關系來實現復用時,需要創建兩個Animal對象,是不是意味著使用組合關系時系統開銷更大? 161
4.9 初始化塊 161
4.9.1 使用初始化塊 161
4.9.2 初始化塊和構造器 163
4.9.3 靜態初始化塊 164
4.10 本章小結 167
本章練習 167
第5章 面向對象(下) 168
第6章 Java集合 251
第7章 泛型 306
第8章 異常處理 332
第9章 Annotation(注釋) 360
第10章 輸入/輸出 381
第11章 多線程 441
第12章 網絡編程 495
第13章 類加載機制與反射 540
書摘/試閱
主題書展
更多主題書展
更多書展本週66折
您曾經瀏覽過的商品
購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。