Java 9編程參考官方大全(第10版)

Java 9編程參考官方大全(第10版)

作者: 郝伯特·希爾德特 (Herbert Schildt)
出版社: 清華大學
出版在: 2018-08-23
ISBN-13: 9787302506065
ISBN-10: 730250606X
裝訂格式: 平裝
總頁數: 940 頁





內容描述


● 數據類型、變量、數組和運算符
● 控制語句
● 類、對象和方法
● 方法重載和重寫
● 繼承
● 接口和包
● 異常處理
● 多線程編程
● 枚舉、自動裝箱和註解
● I/O類
● 泛型
● lambda表達式
● 模塊
● 字符串處理
● 集合框架
● 聯網
● 事件處理
● AWT
● Swing和JavaFX
● 並發API
● 流API
● 正則表達式
● Java Bean
● servlet


目錄大綱


第Ⅰ部分 Java語言
第1章 Java的歷史和演變 3
1.1 Java的家世 3
1.1.1 現代編程語言的誕生:C語言 3
1.1.2 C++:下一個階段 4
1.1.3 Java出現的時機已經成熟 4
1.2 Java的誕生 5
1.3 Java改變Internet的方式 6
1.3.1 Java applet 6
1.3.2 安全性 6
1.3.3 可移植性 6
1.4 Java的魔力:字節碼 7
1.5 不再推薦使用applet 7
1.6 servlet:服務器端的Java 8
1.7 Java的關鍵特性 8
1.7.1 簡單性 8
1.7.2 面向對象 8
1.7.3 健壯性 8
1.7.4 多線程 9
1.7.5 體系結構中立 9
1.7.6 解釋執行和高性能 9
1.7.7 分佈式 9
1.7.8 動態性 9
1.8 Java的演變歷程 9
1.9 Java SE 9 11
1.10 文化革新 12
第2章 Java綜述 13
2.1 面向對象編程 13
2.1.1 兩種範式 13
2.1.2 抽象 13
2.1.3 OOP三原則 14
2.2 第#個簡單程序 16
2.2.1 輸入程序 17
2.2.2 編譯程序 17
2.2.3 深入分析第#個示例程序 17
2.3 第#個簡短程序 19
2.4 兩種控制語句 20
2.4.1 if語句 20
2.4.2 for循環 21
2.5 使用代碼塊 22
2.6 詞彙問題 23
2.6.1 空白符 23
2.6.2 標識符 23
2.6.3 字面值 23
2.6.4 註釋 23
2.6.5 分隔符 23
2.6.6 Java關鍵字 24
2.7 Java類庫 24
第3章 數據類型、變量和數組 25
3.1 Java是強類型化的語言 25
3.2 基本類型 25
3.3 整型 25
3.3.1 byte 26
3.3.2 short 26
3.3.3 int 26
3.3.4 long 26
3.4 浮點型 27
3.4.1 float 27
3.4.2 double 27
3.5 字符型 27
3.6 布爾型 29
3.7 深入分析字面值 29
3.7.1 整型字面值 29
3.7.2 浮點型字面值 30
3.7.3 布爾型字面值 30
3.7.4 字符型字面值 31
3.7.5 字符串字面值 31
3.8 變量 31
3.8.1 變量的聲明 31
3.8.2 動態初始化 32
3.8.3 變量的作用域和生存期 32
3.9 類型轉換和強制類型轉換 34
3.9.1 Java的自動類型轉換 34
3.9.2 強制轉換不兼容的類型 34
3.10 表達式中的自動類型提升 35
3.11 數組 36
3.11.1 一維數組 36
3.11.2 多維數組 38
3.11.3 另一種數組聲明語法 41
3.12 關於字符串的一些說明 41
第4章 運算符 43
4.1 算術運算符 43
4.1.1 基本算術運算符 43
4.1.2 求模運算符 44
4.1.3 算術與賦值複合運算符 44
4.1.4 自增與自減運算符 45
4.2 位運算符 46
4.2.1 位邏輯運算符 47
4.2.2 左移 49
4.2.3 右移 50
4.2.4 無符號右移 51
4.2.5 位運算符與賦值的組合 52
4.3 關係運算符 52
4.4 布爾邏輯運算符 53
4.5 賦值運算符 54
4.6 “?”運算符 55
4.7 運算符的優先級 55
4.8 使用圓括號 56
第5章 控制語句 57
5.1 Java的選擇語句 57
5.1.1 if語句 57
5.1.2 switch語句 59
5.2 迭代語句 62
5.2.1 while語句 63
5.2.2 do-while語句 64
5.2.3 for語句 66
5.2.4 for循環的for-each版本 68
5.2.5 嵌套的循環 72
5.3 跳轉語句 72
5.3.1 使用break語句 72
5.3.2 使用continue語句 75
5.3.3 return語句 76
第6章 類 77
6.1 類的基礎知識 77
6.1.1 類的一般形式 77
6.1.2 一個簡單的類 78
6.2 聲明對象 79
6.3 為對象引用變量賦值 80
6.4 方法 81
6.4.1 為Box類添加方法 81
6.4.2 返回值 83
6.4.3 添加帶參數的方法 84
6.5 構造函數 85
6.6 this關鍵字 87
6.7 垃圾回收 88
6.8 堆棧類 88
第7章 方法和類的深入分析 91
7.1 重載方法 91
7.2 將對像用作參數 94
7.3 實參傳遞的深入分析 96
7.4 返回對象 97
7.5 遞歸 98
7.6 訪問控制 100
7.7 理解static 102
7.8 final介紹 104
7.9 重新審視數組 104
7.10 嵌套類和內部類 105
7.11 String類介紹 107
7.12 使用命令行參數 109
7.13 varargs:可變長度實參 110
7.13.1 重載varargs方法 112
7.13.2 varargs方法與模糊性 113
第8章 繼承 115
8.1 繼承的基礎知識 115
8.1.1 成員訪問與繼承 116
8.1.2 一個更實際的例子 117
8.1.3 超類變量可以引用子類對象 118
8.2 使用super關鍵字 119
8.2.1 使用super調用超類的構造函數 119
8.2.2 super的另一種用法 122
8.3 創建多級繼承層次 123
8.4 構造函數的執行時機 125
8.5 方法重寫 126
8.6 動態方法調度 128
8.6.1 重寫方法的目的 129
8.6.2 應用方法重寫 129
8.7 使用抽像類 130
8.8 在繼承中使用final關鍵字 132
8.8.1 使用final關鍵字阻止重寫 132
8.8.2 使用final關鍵字阻止繼承 133
8.9 Object類 133
第9章 包和接口 135
9.1 包 135
9.1.1 定義包 135
9.1.2 包查找與CLASSPATH 136
9.1.3 一個簡短的包示例 136
9.2 包和成員訪問 137
9.3 導入包 140
9.4 接口 141
9.4.1 定義接口 141
9.4.2 實現接口 142
9.4.3 嵌套接口 144
9.4.4 應用接口 144
9.4.5 接口中的變量 147
9.4.6 接口可以擴展 148
9.5 默認接口方法 149
9.5.1 默認方法的基礎知識 149
9.5.2 一個更加實用的例子 151
9.5.3 多級繼承的問題 151
9.6 在接口中使用靜態方法 152
9.7 私有接口方法 152
9.8 關於包和接口的#後說明 153
第10章 異常處理 155
10.1 異常處理的基礎知識 155
10.2 異常類型 155
10.3 未捕獲的異常 156
10.4 使用try和catch 157
10.5 多條catch子句 158
10.6 嵌套的try語句 159
10.7 throw 161
10.8 throws 162
10.9 finally 162
10.10 Java的內置異常 164
10.11 創建自己的異常子類 165
10.12 鍊式異常 166
10.13 其他三個異常特性 167
10.14 使用異常 168
第11章 多線程編程 169
11.1 Java線程模型 169
11.1.1 線程優先級 170
11.1.2 同步 170
11.1.3 消息傳遞 171
11.1.4 Thread類和Runnable接口 171
11.2 主線程 171
11.3 創建線程 172
11.3.1 實現Runnable接口 172
11.3.2 擴展Thread類 174
11.3.3 選擇一種創建方式 175
11.4 創建多個線程 175
11.5 使用isAlive()和join()方法 176
11.6 線程優先級 178
11.7 同步 179
11.7.1 使用同步方法 179
11.7.2 synchronized語句 180
11.8 線程間通信 182
11.9 掛起、恢復與停止線程 187
11.10 獲取線程的狀態 189
11.11 使用工廠方法創建和啟動線程 189
11.12 使用多線程 190
第12章 枚舉、自動裝箱與註解 191
12.1 枚舉 191
12.1.1 枚舉的基礎知識 191
12.1.2 values()和valueOf()方法 193
12.1.3 Java枚舉是類類型 194
12.1.4 枚舉繼承自Enum類 195
12.1.5 另一個枚舉示例 196
12.2 類型封裝器 198
12.2.1 Character封裝器 198
12.2.2 Boolean封裝器 198
12.2.3 數值類型封裝器 198
12.3 自動裝箱 199
12.3.1 自動裝箱與方法 200
12.3.2 表達式中發生的自動裝箱/拆箱 201
12.3.3 布爾型和字符型數值的自動裝箱/
拆箱 202
12.3.4 自動裝箱/拆箱有助於防止錯誤 202
12.3.5 一些警告 203
12.4 註解 203
12.4.1 註解的基礎知識 203
12.4.2 指定保留策略 204
12.4.3 在運行時使用反射獲取註解 204
12.4.4 AnnotatedElement接口 208
12.4.5 使用默認值 208
12.4.6 標記註解 209
12.4.7 單成員註解 210
12.4.8 內置註解 211
12.5 類型註解 213
12.6 重複註解 216
第13章 I/O、帶資源的try語句以及其他
主題 219
13.1 I/O的基礎知識 219
13.1.1 流 219
13.1.2 字節流和字符流 219
13.1.3 預定義流 221
13.2 讀取控制台輸入 221
13.2.1 讀取字符 222
13.2.2 讀取字符串 222
13.3 向控制台寫輸出 223
13.4 PrintWriter類 224
13.5 讀/寫文件 225
13.6 自動關閉文件 229
13.7 transient和volatile修飾符 231
13.8 使用instanceof運算符 232
13.9 strictfp 233
13.10 本地方法 234
13.11 使用assert 234
13.12 靜態導入 236
13.13 通過this()調用重載的構造函數 238
13.14 緊湊API配置文件 239
第14章 泛型 241
14.1 什麼是泛型 241
14.2 一個簡單的泛型示例 241
14.2.1 泛型只使用引用類型 244
14.2.2 基於不同類型參數的泛型類型
是不同的 244
14.2.3 泛型提升類型安全性的原理 244
14.3 帶兩個類型參數的泛型類 246
14.4 泛型類的一般形式 247
14.5 有界類型 247
14.6 使用通配符參數 249
14.7 創建泛型方法 255
14.8 泛型接口 257
14.9 原始類型與遺留代碼 259
14.10 泛型類層次 260
14.10.1 使用泛型超類 260
14.10.2 泛型子類 262
14.10.3 泛型層次中的運行時類型比較 263
14.10.4 強制轉換 265
14.10.5 重寫泛型類的方法 265
14.11 泛型的類型推斷 266
14.12 擦除 267
14.13 模糊性錯誤 268
14.14 使用泛型的一些限制 269
14.14.1 不能實例化類型參數 269
14.14.2 對靜態成員的一些限制 269
14.14.3 對泛型數組的一些限制 270
14.14.4 對泛型異常的限制 271
第15章 lambda表達式 273
15.1 lambda表達式簡介 273
15.1.1 lambda表達式的基礎知識 273
15.1.2 函數式接口 274
15.1.3 幾個lambda表達式示例 275
15.2 塊lambda表達式 277
15.3 泛型函數式接口 278
15.4 作為參數傳遞lambda表達式 280
15.5 lambda表達式與異常 282
15.6 lambda表達式和變量捕獲 282
15.7 方法引用 283
15.7.1 靜態方法的方法引用 283
15.7.2 實例方法的方法引用 284
15.7.3 泛型中的方法引用 287
15.8 構造函數引用 289
15.9 預定義的函數式接口 293
第16章 模塊 295
16.1 模塊基礎知識 295
16.1.1 簡單的模塊示例&nbs


作者介紹


Herbert Schildt是一位暢銷書作家,在幾乎30年的時間裡,他撰寫了大量關於編程的圖書。
 
Herbert是Java語言的權#。他撰寫的編程書籍在世界範圍內銷售了數百萬冊,並且已經被翻譯成所有主要的非英語語言。
 
他撰寫了大量Java方面的書籍,包括Java:A Beginner's Guide、Herb Schildt's Java Programming Cookbook、
Introducing JavaFX 8 Programming和Swing:A Beginner's Guide,還撰寫了許多關於C、C++和C#的圖書。
 
儘管對計算機的所有方面都感興趣,但是他主要關注計算機語言。
 
Schildt獲得了美國伊利諾伊大學的本科和研究生學位。他的個人網站是www.HerbSchildt.com。




相關書籍

新思維系列 Visual Basic 2013 程式設計

作者 陳惠貞 陳俊榮

2018-08-23

Pro Perl Programming: From Professional to Advanced

作者 Rothwell William "bo"

2018-08-23

ASP.NET Core 3 全棧 Web 開發 : 使用 .NET Core 3.1 和 Angular 9 (第三版)

作者 Valerio De Sanctis 趙利通 崔戰友 譯

2018-08-23