注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)Java官方編程手冊(cè)(第12版·Java 17)

Java官方編程手冊(cè)(第12版·Java 17)

Java官方編程手冊(cè)(第12版·Java 17)

定 價(jià):¥328.00

作 者: [美] 赫伯特·希爾特(Herbert Schildt) 著,石磊 衛(wèi)琳 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買這本書(shū)可以去


ISBN: 9787302630760 出版時(shí)間: 2023-06-01 包裝: 平裝-膠訂
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《Java官方編程手冊(cè)(第12版·Java 17)》針對(duì)Java SE 17全面更新內(nèi)容,講解了如何開(kāi)發(fā)、編譯、調(diào)試和運(yùn)行Java程序。暢銷書(shū)作者Herbert Schildt在本書(shū)中對(duì)整個(gè)Java語(yǔ)言進(jìn)行了講解,包括其語(yǔ)法、關(guān)鍵字和基礎(chǔ)編程概念。書(shū)中還介紹了Java API庫(kù)的關(guān)鍵部分,如I/O、集合框架、流庫(kù)和并發(fā)實(shí)用工具,還討論了Swing、Java Bean和servlet,并提供了大量示例來(lái)演示Java的實(shí)際應(yīng)用。當(dāng)然,本書(shū)也詳細(xì)描述了Java語(yǔ)言的新增特性,如記錄、密封類和switch表達(dá)式。Herbert Schildt采用他一貫的清晰、利落、務(wù)求準(zhǔn)確的風(fēng)格撰寫本書(shū),正是這種風(fēng)格讓他撰寫的圖書(shū)成為全世界數(shù)百萬(wàn)人的選擇。本書(shū)內(nèi)容數(shù)據(jù)類型、變量、數(shù)組和運(yùn)算符控制語(yǔ)句類、對(duì)象和方法方法重載和重寫繼承接口和包異常處理多線程編程枚舉、自動(dòng)裝箱和注解I/O類泛型lambda表達(dá)式模塊記錄密封類文本塊switch表達(dá)式instanceof的模式匹配字符串處理集合框架網(wǎng)絡(luò)事件處理AWTSwing并發(fā)API流API正則表達(dá)式Java Beanservlet其他內(nèi)容

作者簡(jiǎn)介

  Herbert Schildt 是一位暢銷書(shū)作家,在三十多年的時(shí)間里,他撰寫了大量關(guān)于編程的圖書(shū)。Herbert 是 Java 語(yǔ)言領(lǐng)域的權(quán)威專家,被International Developer雜志稱為“全世界著名的編程書(shū)籍創(chuàng)作者之一”。他撰寫的編程書(shū)籍在世界范圍內(nèi)銷售了數(shù)百萬(wàn)冊(cè),并且已經(jīng)被翻譯成幾乎所有主要的非英語(yǔ)語(yǔ)言。

圖書(shū)目錄

第 I 部分  Java語(yǔ)言
第 1 章  Java的歷史和演變 3
1.1  Java的家世 3
1.1.1  現(xiàn)代編程語(yǔ)言的誕生:
C語(yǔ)言 3
1.1.2  C :下一個(gè)階段 5
1.1.3  Java出現(xiàn)的時(shí)機(jī)已經(jīng)成熟 5
1.2  Java的誕生 6
1.3  Java改變Internet的方式 7
1.3.1  Java applet 7
1.3.2  安全性 8
1.3.3  可移植性 8
1.4  Java的魔力:字節(jié)碼 8
1.5  超越applet 9
1.6  更快的發(fā)布周期 10
1.7  servlet:服務(wù)器端的Java 11
1.8  Java的關(guān)鍵特性 11
1.8.1  簡(jiǎn)單性 11
1.8.2  面向?qū)ο?12
1.8.3  健壯性 12
1.8.4  多線程 12
1.8.5  體系結(jié)構(gòu)中立 12
1.8.6  解釋執(zhí)行和高性能 13
1.8.7  分布式 13
1.8.8  動(dòng)態(tài)性 13
1.9  Java的演變歷程 13
1.10  文化革新 17
第2 章  Java綜述 18
2.1  面向?qū)ο缶幊?18
2.1.1  兩種范式 18
2.1.2  抽象 19
2.1.3  OOP三原則 19
2.2  個(gè)簡(jiǎn)單程序 23
2.2.1  輸入程序 23
2.2.2  編譯程序 24
2.2.3  深入分析個(gè)示例程序 24
2.3  第二個(gè)簡(jiǎn)單程序 26
2.4  兩種控制語(yǔ)句 28
2.4.1  if語(yǔ)句 28
2.4.2  for循環(huán) 29
2.5  使用代碼塊 30
2.6  詞匯問(wèn)題 32
2.6.1  空白符 32
2.6.2  標(biāo)識(shí)符 32
2.6.3  字面值 32
2.6.4  注釋 33
2.6.5  分隔符 33
2.6.6  Java關(guān)鍵字 33
2.7  Java類庫(kù) 34
第3 章  數(shù)據(jù)類型、變量和數(shù)組 35
3.1  Java是強(qiáng)類型化的語(yǔ)言 35
3.2  基本類型 35
3.3  整型 36
3.3.1  byte 36
3.3.2  short 36
3.3.3  int 37
3.3.4  long 37
3.4  浮點(diǎn)型 38
3.4.1  float 38
3.4.2  double 38
3.5  字符型 39
3.6  布爾型 40
3.7  深入分析字面值 41
3.7.1  整型字面值 41
3.7.2  浮點(diǎn)型字面值 42
3.7.3  布爾型字面值 42
3.7.4  字符型字面值 43
3.7.5  字符串字面值 43
3.8  變量 44
3.8.1  變量的聲明 44
3.8.2  動(dòng)態(tài)初始化 44
3.8.3  變量的作用域和生存期 45
3.9  類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換 47
3.9.1  Java的自動(dòng)類型轉(zhuǎn)換 47
3.9.2  強(qiáng)制轉(zhuǎn)換不兼容的類型 47
3.10  表達(dá)式中的自動(dòng)類型提升 49
3.11  數(shù)組 50
3.11.1  一維數(shù)組 50
3.11.2  多維數(shù)組 52
3.11.3  另一種數(shù)組聲明語(yǔ)法 56
3.12  局部變量的類型推斷 57
3.13  關(guān)于字符串的一些說(shuō)明 59
第4章  運(yùn)算符 60
4.1  算術(shù)運(yùn)算符 60
4.1.1  基本算術(shù)運(yùn)算符 61
4.1.2  求模運(yùn)算符 62
4.1.3  算術(shù)與賦值復(fù)合運(yùn)算符 62
4.1.4  自增與自減運(yùn)算符 63
4.2  位運(yùn)算符 64
4.2.1  位邏輯運(yùn)算符 66
4.2.2  左移 68
4.2.3  右移 69
4.2.4  無(wú)符號(hào)右移 70
4.2.5  位運(yùn)算符與賦值的組合 71
4.3  關(guān)系運(yùn)算符 72
4.4  布爾邏輯運(yùn)算符 73
4.5  賦值運(yùn)算符 75
4.6  “?”運(yùn)算符 75
4.7  運(yùn)算符的優(yōu)先級(jí) 76
4.8  使用圓括號(hào) 77
第 5 章  控制語(yǔ)句 78
5.1  Java的選擇語(yǔ)句 78
5.1.1  if語(yǔ)句 78
5.1.2  switch語(yǔ)句 81
5.2  迭代語(yǔ)句 86
5.2.1  while語(yǔ)句 86
5.2.2  do-while語(yǔ)句 87
5.2.3  for語(yǔ)句 90
5.2.4  for循環(huán)的for-each版本 93
5.2.5  for循環(huán)中的局部變量
類型推斷 98
5.2.6  嵌套的循環(huán) 99
5.3  跳轉(zhuǎn)語(yǔ)句 99
5.3.1  使用break語(yǔ)句 99
5.3.2  使用continue語(yǔ)句 103
5.3.3  使用return語(yǔ)句 104
第 6 章  類 106
6.1  類的基礎(chǔ)知識(shí) 106
6.1.1  類的一般形式 106
6.1.2  一個(gè)簡(jiǎn)單的類 107
6.2  聲明對(duì)象 109
6.3  為對(duì)象引用變量賦值 111
6.4  方法 112
6.4.1  為Box類添加方法 112
6.4.2  返回值 114
6.4.3  添加帶參數(shù)的方法 115
6.5  構(gòu)造函數(shù) 117
6.6  this關(guān)鍵字 120
6.7  垃圾回收 121
6.8  堆棧類 121
第 7 章  方法和類的深入分析 124
7.1  重載方法 124
7.2  將對(duì)象用作形參 129
7.3  實(shí)參傳遞的深入分析 131
7.4  返回對(duì)象 133
7.5  遞歸 134
7.6  訪問(wèn)控制 136
7.7  理解static 139
7.8  final介紹 141
7.9  重新審視數(shù)組 141
7.10  嵌套類和內(nèi)部類 143
7.11  String類 145
7.12  使用命令行參數(shù) 148
7.13  varargs:可變長(zhǎng)度實(shí)參 148
7.13.1  重載varargs方法 151
7.13.2  varargs方法與模糊性 152
第 8 章  繼承 156
8.1  繼承的基礎(chǔ)知識(shí) 156
8.1.1  成員訪問(wèn)與繼承 158
8.1.2  一個(gè)更實(shí)際的例子 159
8.1.3  超類變量可以引用子類
對(duì)象 161
8.2  使用super關(guān)鍵字 161
8.2.1  使用super調(diào)用超類的
構(gòu)造函數(shù) 162
8.2.2  super的另一種用法 165
8.3  創(chuàng)建多級(jí)繼承層次 166
8.4  構(gòu)造函數(shù)的執(zhí)行時(shí)機(jī) 169
8.5  方法重寫 170
8.6  動(dòng)態(tài)方法調(diào)度 172
8.6.1  重寫方法的原因 174
8.6.2  應(yīng)用方法重寫 174
8.7  使用抽象類 176
8.8  在繼承中使用final關(guān)鍵字 178
8.8.1  使用final關(guān)鍵字阻止
重寫 178
8.8.2  使用final關(guān)鍵字阻止
繼承 179
8.9  局部變量類型推斷和繼承 179
8.10  Object類 181
第9章  包和接口 182
9.1  包 182
9.1.1  定義包 182
9.1.2  包查找與CLASSPATH 183
9.1.3  一個(gè)簡(jiǎn)短的包示例 184
9.2  包和成員訪問(wèn) 185
9.3  導(dǎo)入包 188
9.4  接口 190
9.4.1  定義接口 191
9.4.2  實(shí)現(xiàn)接口 192
9.4.3  嵌套接口 194
9.4.4  應(yīng)用接口 195
9.4.5  接口中的變量 198
9.4.6  接口可以擴(kuò)展 200
9.5  默認(rèn)接口方法 201
9.5.1  默認(rèn)方法的基礎(chǔ)知識(shí) 201
9.5.2  一個(gè)更實(shí)用的例子 203
9.5.3  多級(jí)繼承的問(wèn)題 203
9.6  在接口中使用靜態(tài)方法 204
9.7  私有接口方法 205
9.8  關(guān)于包和接口的后說(shuō)明 206
第 10 章  異常處理 207
10.1  異常處理的基礎(chǔ)知識(shí) 207
10.2  異常類型 208
10.3  未捕獲的異常 209
10.4  使用try和catch 210
10.5  多條catch子句 211
10.6  嵌套的try語(yǔ)句 213
10.7  throw 215
10.8  throws 216
10.9  finally 217
10.10  Java的內(nèi)置異常 219
10.11  創(chuàng)建自己的異常子類 220
10.12  鏈?zhǔn)疆惓?222
10.13  其他三個(gè)異常特性 224
10.14  使用異常 225
第11章  多線程編程 226
11.1  Java線程模型 227
11.1.1  線程優(yōu)先級(jí) 228
11.1.2  同步 228
11.1.3  消息傳遞 228
11.1.4  Thread類和Runnable
接口 229
11.2  主線程 229
11.3  創(chuàng)建線程 231
11.3.1  實(shí)現(xiàn)Runnable接口 231
11.3.2  擴(kuò)展Thread類 233
11.3.3  選擇一種創(chuàng)建方式 234
11.4  創(chuàng)建多個(gè)線程 234
11.5  使用isAlive()和join()方法 236
11.6  線程優(yōu)先級(jí) 238
11.7  同步 239
11.7.1  使用同步方法 239
11.7.2  synchronized語(yǔ)句 241
11.8  線程間通信 243
11.9  掛起、恢復(fù)與停止線程 249
11.10  獲取線程的狀態(tài) 252
11.11  使用工廠方法創(chuàng)建和啟動(dòng)
線程 253
11.12  使用多線程 254
第 12 章  枚舉、自動(dòng)裝箱與注解 255
12.1  枚舉 255
12.1.1  枚舉的基礎(chǔ)知識(shí) 255
12.1.2  values()和valueOf()
方法 257
12.1.3  Java枚舉是類類型 259
12.1.4  枚舉繼承自Enum類 260
12.1.5  另一個(gè)枚舉示例 262
12.2  類型封裝器 264
12.2.1  Character封裝器 264
12.2.2  Boolean封裝器 264
12.2.3  數(shù)值類型封裝器 265
12.3  自動(dòng)裝箱 266
12.3.1  自動(dòng)裝箱與方法 267
12.3.2  表達(dá)式中發(fā)生的自動(dòng)
裝箱/拆箱 268
12.3.3  布爾型和字符型數(shù)值的
自動(dòng)裝箱/拆箱 269
12.3.4  自動(dòng)裝箱/拆箱有助于
防止錯(cuò)誤 270
12.3.5  一些警告 271
12.4  注解 271
12.4.1  注解的基礎(chǔ)知識(shí) 271
12.4.2  指定保留策略 272
12.4.3  在運(yùn)行時(shí)使用反射獲取
注解 273
12.4.4  AnnotatedElement接口 278
12.4.5  使用默認(rèn)值 278
12.4.6  標(biāo)記注解 279
12.4.7  單成員注解 280
12.4.8  內(nèi)置注解 282
12.5  類型注解 284
12.6  重復(fù)注解 288
12.7  一些限制 289
第 13 章  I/O、帶資源的try語(yǔ)句
以及其他主題 290
13.1  I/O的基礎(chǔ)知識(shí) 290
13.1.1  流 290
13.1.2  字節(jié)流和字符流 291
13.1.3  預(yù)定義流 293
13.2  讀取控制臺(tái)輸入 293
13.2.1  讀取字符 294
13.2.2  讀取字符串 295
13.3  向控制臺(tái)寫輸出 297
13.4  PrintWriter類 297
13.5  讀/寫文件 298
13.6  自動(dòng)關(guān)閉文件 304
13.7  transient和volatile修飾符 307
13.8  使用instanceof運(yùn)算符 308
13.9  strictfp 310
13.10  本地方法 311
13.11  使用assert 311
13.12  靜態(tài)導(dǎo)入 314
13.13  通過(guò)this()調(diào)用重載的構(gòu)造
函數(shù) 316
13.14  基于值的類 318
第14章  泛型 319
14.1  什么是泛型 319
14.2  一個(gè)簡(jiǎn)單的泛型示例 320
14.2.1  泛型只使用引用類型 323
14.2.2  基于不同類型參數(shù)的
泛型類型是不同的 324
14.2.3  泛型提升類型安全性的
原理 324
14.3  帶兩個(gè)類型參數(shù)的泛型類 326
14.4  泛型類的一般形式 327
14.5  有界類型 328
14.6  使用通配符參數(shù) 330
14.7  創(chuàng)建泛型方法 337
14.8  泛型接口 340
14.9  原始類型與遺留代碼 342
14.10  泛型類層次 344
14.10.1  使用泛型超類 345
14.10.2  泛型子類 346
14.10.3  泛型層次中的運(yùn)行時(shí)
類型比較 348
14.10.4  強(qiáng)制轉(zhuǎn)換 350
14.10.5  重寫泛型類的方法 350
14.11  泛型的類型推斷 351
14.12  局部變量類型推斷和泛型 352
14.13  擦除 353
14.14  模糊性錯(cuò)誤 355
14.15  使用泛型的一些限制 356
14.15.1  不能實(shí)例化類型參數(shù) 356
14.15.2  對(duì)靜態(tài)成員的一些
限制 356
14.15.3  對(duì)泛型數(shù)組的一些
限制 357
14.15.4  對(duì)泛型異常的限制 358
第15 章  lambda表達(dá)式 359
15.1  lambda表達(dá)式簡(jiǎn)介 359
15.1.1  lambda表達(dá)式的基礎(chǔ)
知識(shí) 360
15.1.2  函數(shù)式接口 360
15.1.3  幾個(gè)lambda表達(dá)式
示例 361
15.2  塊lambda表達(dá)式 365
15.3  泛型函數(shù)式接口 366
15.4  作為參數(shù)傳遞的lambda
表達(dá)式 368
15.5  lambda表達(dá)式與異常 370
15.6  lambda表達(dá)式和變量捕獲 372
15.7  方法引用 373
15.7.1  靜態(tài)方法的方法引用 373
15.7.2  實(shí)例方法的方法引用 374
15.7.3  泛型中的方法引用 378
15.8  構(gòu)造函數(shù)引用 380
15.9  預(yù)定義的函數(shù)式接口 385
第 16 章  模塊 387
16.1  模塊基礎(chǔ)知識(shí) 387
16.1.1  簡(jiǎn)單的模塊示例 388
16.1.2  編譯并運(yùn)行個(gè)模塊
示例 392
16.1.3  詳述requires和exports 393
16.2  java.base和平臺(tái)模塊 393
16.3  舊代碼和未命名的模塊 394
16.4  導(dǎo)出到特定的模塊 395
16.5  使用requires transitive 396
16.6  使用服務(wù) 400
16.6.1  服務(wù)和服務(wù)提供程序的
基礎(chǔ)知識(shí) 400
16.6.2  基于服務(wù)的關(guān)鍵字 401
16.6.3  基于模塊的服務(wù)示例 401
16.7  模塊圖 407
16.8  三個(gè)特殊的模塊特性 408
16.8.1  開(kāi)放模塊 408
16.8.2  opens語(yǔ)句 408
16.8.3  requires static 408
16.9  jlink工具和模塊JAR文件
介紹 409
16.9.1  鏈接exploded directory中
的文件 409
16.9.2  鏈接模塊化的JAR
文件 409
16.9.3  JMOD文件 410
16.10  層與自動(dòng)模塊簡(jiǎn)述 410
16.11  小結(jié) 411
第 17 章  switch表達(dá)式、記錄以及其他
新近添加的特性 412
17.1  switch的增強(qiáng) 412
17.1.1  使用case常量列表 414
17.1.2  switch表達(dá)式和yield
語(yǔ)句簡(jiǎn)介 415
17.1.3  case語(yǔ)句中的箭頭 416
17.1.4  深入介紹箭頭case 418
17.1.5  另外一個(gè)switch表達(dá)式
示例 420
17.2  文本塊 421
17.2.1  文本塊的基礎(chǔ)知識(shí) 421
17.2.2  理解前導(dǎo)空格 422
17.2.3  在文本塊中使用雙引號(hào) 424
17.2.4  文本塊中的轉(zhuǎn)義序列 424
17.3  記錄 425
17.3.1  記錄的基礎(chǔ)知識(shí) 425
17.3.2  創(chuàng)建記錄構(gòu)造函數(shù) 427
17.3.3  另外一個(gè)記錄構(gòu)造函數(shù)
示例 431
17.3.4  創(chuàng)建記錄的getter方法 432
17.4  instanceof的模式匹配 434
17.4.1  邏輯AND表達(dá)式中的
模式變量 435
17.4.2  其他語(yǔ)句中的模式匹配 436
17.5  密封類和密封接口 437
17.5.1  密封類 437
17.5.2  密封接口 438
17.6  未來(lái)的方向 440
第 II 部分  Java庫(kù)
第18章  字符串處理 443
18.1  String類的構(gòu)造函數(shù) 443
18.2  字符串的長(zhǎng)度 445
18.3  特殊的字符串操作 446
18.3.1  字符串字面值 446
18.3.2  字符串連接 446
18.3.3  字符串和其他數(shù)據(jù)類型的
連接 447
18.3.4  字符串轉(zhuǎn)換和toString()
方法 447
18.4  提取字符 449
18.4.1  charAt() 449
18.4.2  getChars() 449
18.4.3  getBytes() 450
18.4.4  toCharArray() 450
18.5  比較字符串 450
18.5.1  equals()和
equalsIgnoreCase() 450
18.5.2  regionMatches() 451
18.5.3  startsWith()和
endsWith() 451
18.5.4  equals()與== 452
18.5.5  compareTo() 452
18.6  查找字符串 454
18.7  修改字符串 455
18.7.1  substring() 455
18.7.2  concat() 456
18.7.3  replace() 457
18.7.4  trim()和strip() 457
18.8  使用valueOf()轉(zhuǎn)換數(shù)據(jù) 458
18.9  改變字符串中字符的大小寫 459
18.10  連接字符串 459
18.11  其他String方法 460
18.12  StringBuffer類 461
18.12.1  StringBuffer類的構(gòu)造
函數(shù) 462
18.12.2  length()與capacity() 462
18.12.3  ensureCapacity() 463
18.12.4  setLength() 463
18.12.5  charAt()與setCharAt() 463
18.12.6  append() 464
18.12.7  insert() 464
18.12.8  reverse() 465
18.12.9  delete()與
deleteCharAt() 465
18.12.10  replace() 466
18.12.11  substring() 466
18.12.12  其他StringBuffer
方法 467
18.13  StringBuilder類 468
第19章  探究java.lang 469
19.1  基本類型封裝器 470
19.1.1  Number 470
19.1.2  Double與Float 470
19.1.3  理解isInfinite()與
isNaN() 474
19.1.4  Byte、Short、Integer和
Long 474
19.1.5  Character 483
19.1.6  對(duì)Unicode代碼點(diǎn)的
附加支持 485
19.1.7  Boolean 487
19.2  Void類 488
19.3  Process類 488
19.4  Runtime類 489
19.5  Runtime.Version 491
19.6  ProcessBuilder類 492
19.7  System類 494
19.7.1  使用currentTimeMillis()
為程序的執(zhí)行計(jì)時(shí) 496
19.7.2  使用arraycopy()方法 496
19.7.3  環(huán)境屬性 497
19.8  System.Logger和
System.LoggerFinder 498
19.9  Object類 498
19.10  使用clone()方法和
Cloneable接口 498
19.11  Class類 500
19.12  ClassLoader類 504
19.13  Math類 504
19.13.1  三角函數(shù) 504
19.13.2  指數(shù)函數(shù) 505
19.13.3  舍入函數(shù) 505
19.13.4  其他數(shù)學(xué)方法 506
19.14  StrictMath類 508
19.15  Compiler類 508
19.16  Thread類、ThreadGroup類
和Runnable接口 508
19.16.1  Runnable接口 509
19.16.2  Thread類 509
19.16.3  ThreadGroup類 511
19.17  ThreadLocal和
InheritableThreadLocal類 515
19.18  Package類 515
19.19  Module類 516
19.20  ModuleLayer類 517
19.21  RuntimePermission類 517
19.22  Throwable類 517
19.23  SecurityManager類 518
19.24  StackTraceElement類 518
19.25  StackWalker類和
StackWalker.StackFrame
接口 518
19.26  Enum類 519
19.27  Record類 519
19.28  ClassValue類 519
19.29  CharSequence接口 520
19.30  Comparable接口 520
19.31  Appendable接口 520
19.32  Iterable接口 521
19.33  Readable接口 521
19.34  AutoCloseable接口 522
19.35  Thread.UncaughtException
Handler接口 522
19.36  java.lang子包 522
19.36.1  java.lang.annotation 522
19.36.2  java.lang.constant 523
19.36.3  java.lang.instrument 523
19.36.4  java.lang.invoke 523
19.36.5  java.lang.management 523
19.36.6  java.lang.module 523
19.36.7  java.lang.ref 523
19.36.8  java.lang.reflect 523
第20章  java.util部分:集合
框架 524
20.1  集合概述 525
20.2  集合接口 526
20.2.1  Collection接口 527
20.2.2  List接口 529
20.2.3  Set接口 531
20.2.4  SortedSet接口 532
20.2.5  NavigableSet接口 532
20.2.6  Queue接口 533
20.2.7  Deque接口 534
20.3  集合類 536
20.3.1  ArrayList類 536
20.3.2  LinkedList類 539
20.3.3  HashSet類 541
20.3.4  LinkedHashSet類 542
20.3.5  TreeSet類 543
20.3.6  PriorityQueue類 544
20.3.7  ArrayDeque類 545
20.3.8  EnumSet類 546
20.4  通過(guò)迭代器訪問(wèn)集合 547
20.4.1  使用迭代器 548
20.4.2  使用for-each循環(huán)替代
迭代器 549
20.5  Spliterator 550
20.6  在集合中存儲(chǔ)用戶定義的類 553
20.7  RandomAccess接口 554
20.8  使用映射 554
20.8.1  映射接口 555
20.8.2  映射類 560
20.9  比較器 565
20.10  集合算法 573
20.11  Arrays類 578
20.12  遺留的類和接口 583
20.12.1  Enumeration接口 584
20.12.2  Vector類 584
20.12.3  Stack類 588
20.12.4  Dictionary類 590
20.12.5  Hashtable類 591
20.12.6  Properties類 594
20.12.7  使用store()和load()
方法 597
20.13  集合小結(jié) 599
第21章  java.util第二部分:更多
實(shí)用工具類 600
21.1  StringTokenizer類 600
21.2  BitSet類 602
21.3  Optional、OptionalDouble、
OptionalInt和OptionalLong 604
21.4  Date類 607
21.5  Calendar類 608
21.6  GregorianCalendar類 611
21.7  TimeZone類 613
21.8  SimpleTimeZone類 614
21.9  Locale類 615
21.10  Random類 616
21.11  Timer和TimerTask類 618
21.12  Currency類 620
21.13  Formatter類 621
21.13.1  Formatter類的構(gòu)造
函數(shù) 622
21.13.2  Formatter類的方法 622
21.13.3  格式化的基礎(chǔ)知識(shí) 623
21.13.4  格式化字符串和字符 625
21.13.5  格式化數(shù)字 625
21.13.6  格式化時(shí)間和日期 626
21.13.7  %n和%%說(shuō)明符 628
21.13.8  指定小字段寬度 628
21.13.9  指定精度 629
21.13.10  使用格式標(biāo)志 630
21.13.11  對(duì)齊輸出 631
21.13.12  空格、 、0和(標(biāo)志 631
21.13.13  逗號(hào)標(biāo)志 633
21.13.14  #標(biāo)志 633
21.13.15  大寫選項(xiàng) 633
21.13.16  使用參數(shù)索引 634
21.13.17  關(guān)閉Formatter對(duì)象 635
21.13.18  printf()方法 635
21.14  Scanner類 635
21.14.1  Scanner類的構(gòu)造
函數(shù) 636
21.14.2  掃描的基礎(chǔ)知識(shí) 637
21.14.3  一些Scanner示例 639
21.14.4  設(shè)置定界符 643
21.14.5  其他Scanner特性 644
21.15  ResourceBundle、
ListResourceBundle和
PropertyResourceBundle類 645
21.16  其他實(shí)用工具類和接口 649
21.17  java.util子包 650
21.17.1  java.util.concurrent、
java.util.concurrent.atomic
和java.util.concurrent.
locks 651
21.17.2  java.util.function 651
21.17.3  java.util.jar 653
21.17.4  java.util.logging 653
21.17.5  java.util.prefs 654
21.17.6  java.util.random 654
21.17.7  java.util.regex 654
21.17.8  java.util.spi 654
21.17.9  java.util.stream 654
21.17.10  java.util.zip 654
第22章  輸入/輸出:探究java.io 655
22.1  I/O類和接口 655
22.2  File類 656
22.2.1  目錄 659
22.2.2  使用FilenameFilter
接口 660
22.2.3  listFiles()方法 661
22.2.4  創(chuàng)建目錄 662
22.3  AutoCloseable、Closeable和
Flushable接口 662
22.4  I/O異常 662
22.5  關(guān)閉流的兩種方式 663
22.6  流類 664
22.7  字節(jié)流 664
22.7.1  InputStream類 664
22.7.2  OutputStream類 665
22.7.3  FileInputStream類 666
22.7.4  FileOutputStream類 668
22.7.5  ByteArrayInputStream類 670
22.7.6  ByteArrayOutputStream
類 672
22.7.7  過(guò)濾的字節(jié)流 673
22.7.8  緩沖的字節(jié)流 673
22.7.9  SequenceInputStream類 677
22.7.10  PrintStream類 679
22.7.11  DataOutputStream類
和DataInputStream類 681
22.7.12  RandomAccessFile類 683
22.8  字符流 683
22.8.1  Reader類 684
22.8.2  Writer類 684
22.8.3  FileReader類 685
22.8.4  FileWriter類 686
22.8.5  CharArrayReader類 687
22.8.6  CharArrayWriter類 688
22.8.7  BufferedReader類 689
22.8.8  BufferedWriter類 691
22.8.9  PushbackReader類 691
22.8.10  PrintWriter類 692
22.9  Console類 693
22.10  串行化 695
22.10.1  Serializable接口 695
22.10.2  Externalizable接口 695
22.10.3  ObjectOutput接口 696
22.10.4  ObjectOutputStream類 696
22.10.5  ObjectInput接口 697
22.10.6  ObjectInputStream類 698
22.10.7  串行化示例 699
22.11  流的優(yōu)點(diǎn) 702
第23章  探究NIO 703
23.1  NIO類 703
23.2  NIO的基礎(chǔ)知識(shí) 704
23.2.1  緩沖區(qū) 704
23.2.2  通道 706
23.2.3  字符集和選擇器 707
23.3  NIO.2對(duì)NIO的增強(qiáng) 708
23.3.1  Path接口 708
23.3.2  Files類 709
23.3.3  Paths類 712
23.3.4  文件屬性接口 712
23.3.5  FileSystem、FileSystems和
FileStore類 714
23.4  使用NIO系統(tǒng) 714
23.4.1  為基于通道的I/O
使用NIO 715
23.4.2  為基于流的I/O
使用NIO 723
23.4.3  為路徑和文件系統(tǒng)操作
使用NIO 725
第24章  聯(lián)網(wǎng) 734
24.1  聯(lián)網(wǎng)的基礎(chǔ)知識(shí) 734
24.2  java.net聯(lián)網(wǎng)類和接口 735
24.3  InetAddress類 736
24.3.1  工廠方法 736
24.3.2  實(shí)例方法 737
24.4  Inet4Address類和
Inet6Address類 738
24.5  TCP/IP客戶端套接字 738
24.6  URL類 741
24.7  URLConnection類 742
24.8  HttpURLConnection類 745
24.9  URI類 746
24.10  cookie 746
24.11  TCP/IP服務(wù)器套接字 747
24.12  數(shù)據(jù)報(bào) 747
24.12.1  DatagramSocket類 748
24.12.2  DatagramPacket類 748
24.12.3  數(shù)據(jù)報(bào)示例 749
24.13  java.net.http包 751
24.13.1  三個(gè)關(guān)鍵元素 751
24.13.2  一個(gè)簡(jiǎn)單的HTTP Client
示例 754
24.13.3  有關(guān)java.net.http的
進(jìn)一步探討 755
第25章  事件處理 756
25.1  兩種事件處理機(jī)制 756
25.2  委托事件模型 757
25.2.1  事件 757
25.2.2  事件源 757
25.2.3  事件監(jiān)聽(tīng)器 758
25.3  事件類 758
25.3.1  ActionEvent類 759
25.3.2  AdjustmentEvent類 760
25.3.3  ComponentEvent類 761
25.3.4  ContainerEvent類 761
25.3.5  FocusEvent類 762
25.3.6  InputEvent類 763
25.3.7  ItemEvent類 764
25.4  KeyEvent類 764
25.4.1  MouseEvent類 765
25.4.2  MouseWheelEvent類 766
25.4.3  TextEvent類 767
25.4.4  WindowEvent類 767
25.5  事件源 768
25.6  事件監(jiān)聽(tīng)器接口 769
25.6.1  ActionListener接口 770
25.6.2  AdjustmentListener
接口 770
25.6.3  ComponentListener
接口 770
25.6.4  ContainerListener接口 770
25.6.5  FocusListener接口 770
25.6.6  ItemListener接口 770
25.6.7  KeyListener接口 771
25.6.8  MouseListener接口 771
25.6.9  MouseMotionListener
接口 771
25.6.10  MouseWheelListener
接口 771
25.6.11  TextListener接口 771
25.6.12  WindowFocusListener
接口 772
25.6.13  WindowListener接口 772
25.7  使用委托事件模型 772
25.7.1  一些重要的AWT GUI
概念 772
25.7.2  處理鼠標(biāo)事件 773
25.7.3  處理鍵盤事件 776
25.8  適配器類 780
25.9  內(nèi)部類 782
第26章  AWT介紹:使用窗口、
圖形和文本 786
26.1  AWT類 787
26.2  窗口基本元素 788
26.2.1  Component類 789
26.2.2  Container類 789
26.2.3  Panel類 789
26.2.4  Window類 789
26.2.5  Frame類 789
26.2.6  Canvas類 790
26.3  使用框架窗口 790
26.3.1  設(shè)置窗口的尺寸 790
26.3.2  隱藏和顯示窗口 790
26.3.3  設(shè)置窗口的標(biāo)題 791
26.3.4  關(guān)閉框架窗口 791
26.3.5  paint()方法 791
26.3.6  顯示字符串 791
26.3.7  設(shè)置前景色和背景色 792
26.3.8  請(qǐng)求重畫 792
26.3.9  創(chuàng)建基于框架的應(yīng)用
程序 793
26.4  使用圖形 794
26.4.1  繪制直線 794
26.4.2  繪制矩形 794
26.4.3  繪制橢圓和圓 795
26.4.4  繪制弧形 795
26.4.5  繪制多邊形 795
26.4.6  演示繪制方法 795
26.4.7  改變圖形的大小 797
26.5  使用顏色 798
26.5.1  Color類的方法 799
26.5.2  設(shè)置當(dāng)前圖形的顏色 800
26.5.3  一個(gè)演示顏色的程序 800
26.6  設(shè)置繪圖模式 801
26.7  使用字體 803
26.7.1  確定可用字體 804
26.7.2  創(chuàng)建和選擇字體 805
26.7.3  獲取字體信息 807
26.8  使用FontMetrics管理文本
輸出 808
第27章  使用AWT控件、布局
管理器和菜單 812
27.1  AWT控件的基礎(chǔ)知識(shí) 812
27.1.1  添加和移除控件 813
27.1.2  響應(yīng)控件 813
27.1.3  HeadlessException異常 813
27.2  使用標(biāo)簽 813
27.3  使用命令按鈕 815
27.4  使用復(fù)選框 819
27.5  使用復(fù)選框組 822
27.6  使用下拉列表 823
27.7  使用列表框 826
27.8  管理滾動(dòng)條 829
27.9  使用TextField 832
27.10  使用TextArea 834
27.11  理解布局管理器 836
27.11.1  FlowLayout布局
管理器 837
27.11.2  BorderLayout布局
管理器 838
27.11.3  使用Insets 839
27.11.4  GridLayout布局
管理器 841
27.11.5  CardLayout布局
管理器 842
27.11.6  GridBagLayout布局
管理器 845
27.12  菜單欄和菜單 850
27.13  對(duì)話框 854
27.14  關(guān)于重寫paint()方法 859
第28章  圖像 860
28.1  文件格式 860
28.2  圖像基礎(chǔ)知識(shí):創(chuàng)建、
加載與顯示 861
28.2.1  創(chuàng)建Image對(duì)象 861
28.2.2  加載圖像 861
28.2.3  顯示圖像 862
28.3  雙緩沖 863
28.4  ImageProducer接口 866
28.5  ImageConsumer接口 867
28.6  ImageFilter類 870
28.6.1  CropImageFilter類 870
28.6.2  RGBImageFilter類 872
28.7  其他圖像類 883
第29章  并發(fā)實(shí)用工具 884
29.1  并發(fā)API包 885
29.1.1  java.util.concurrent包 885
29.1.2  java.util.concurrent.
atomic包 886
29.1.3  java.util.concurrent.
locks包 886
29.2  使用同步對(duì)象 886
29.2.1  Semaphore類 886
29.2.2  CountDownLatch類 892
29.2.3  CyclicBarrier類 893
29.2.4  Exchanger類 896
29.2.5  Phaser類 898
29.3  使用執(zhí)行器 905
29.3.1  一個(gè)簡(jiǎn)單的執(zhí)行器示例 906
29.3.2  使用Callable和Future
接口 908
29.4  TimeUnit枚舉 910
29.5  并發(fā)集合 911
29.6  鎖 912
29.7  原子操作 915
29.8  通過(guò)Fork/Join框架進(jìn)行
并行編程 916
29.8.1  主要的Fork/Join類 916
29.8.2  分而治之的策略 919
29.8.3  一個(gè)簡(jiǎn)單的Fork/Join
示例 920
29.8.4  理解并行級(jí)別帶來(lái)的
影響 922
29.8.5  一個(gè)使用
RecursiveTask的
例子 925
29.8.6  異步執(zhí)行任務(wù) 928
29.8.7  取消任務(wù) 928
29.8.8  確定任務(wù)的完成狀態(tài) 928
29.8.9  重新啟動(dòng)任務(wù) 929
29.8.10  深入研究 929
29.8.11  關(guān)于Fork/Join框架的
一些提示 930
29.9  并發(fā)實(shí)用工具與Java傳統(tǒng)
方式的比較 931
第30章  流API 932
30.1  流的基礎(chǔ)知識(shí) 932
30.1.1  流接口 933
30.1.2  如何獲得流 935
30.1.3  一個(gè)簡(jiǎn)單的流示例 935
30.2  縮減操作 938
30.3  使用并行流 941
30.4  映射 943
30.5  收集 947
30.6  迭代器和流 950
30.6.1  對(duì)流使用迭代器 950
30.6.2  使用Spliterator 951
30.7  流API中更多值得探究的
地方 954
第31章  正則表達(dá)式和其他包 955
31.1  正則表達(dá)式處理 955
31.1.1  Pattern類 955
31.1.2  Matcher類 956
31.1.3  正則表達(dá)式的語(yǔ)法 957
31.1.4  演示模式匹配 957
31.1.5  模式匹配的兩個(gè)選項(xiàng) 962
31.1.6  探究正則表達(dá)式 963
31.2  反射 963
31.3  遠(yuǎn)程方法調(diào)用 967
31.4  使用java.text格式化日期和
時(shí)間 970
31.4.1  DateFormat類 970
31.4.2  SimpleDateFormat類 972
31.5  java.time的時(shí)間和日期API 974
31.5.1  時(shí)間和日期的基礎(chǔ)知識(shí) 974
31.5.2  格式化日期和時(shí)間 975
31.5.3  解析日期和時(shí)間字符串 978
31.5.4  探究java.time包的其他
方面 979 第 III 部分  使用Swing進(jìn)行GUI編程
第 32 章  Swing簡(jiǎn)介 983
32.1  Swing的起源 983
32.2  Swing的構(gòu)建以AWT為
基礎(chǔ) 984
32.3  兩個(gè)關(guān)鍵的Swing特性 984
32.3.1  Swing組件是輕量級(jí)的 984
32.3.2  Swing支持可插入外觀 984
32.4  MVC連接 985
32.5  組件與容器 985
32.5.1  組件 986
32.5.2  容器 986
32.5.3  容器窗格 987
32.6  Swing包 987
32.7  一個(gè)簡(jiǎn)單的Swing應(yīng)用程序 987
32.8  事件處理 991
32.9  在Swing中繪圖 994
32.9.1  繪圖的基礎(chǔ)知識(shí) 994
32.9.2  計(jì)算可繪制區(qū)域 995
32.9.3  一個(gè)繪圖示例 996
第33章  探索Swing 999
33.1  JLabel與ImageIcon 999
33.2  JTextField 1001
33.3  Swing按鈕 1003
33.3.1  JButton 1003
33.3.2  JToggleButton 1005
33.3.3  復(fù)選框 1007
33.3.4  單選按鈕 1009
33.4  JTabbedPane 1011
33.5  JScrollPane 1014
33.6  JList 1015
33.7  JComboBox 1018
33.8  樹(shù) 1020
33.9  JTable 1024
第34章  Swing菜單簡(jiǎn)介 1027
34.1  菜單的基礎(chǔ)知識(shí) 1027
34.2  JMenuBar、JMenu和
JMenuItem概述 1028
34.2.1  JMenuBar 1029
34.2.2  JMenu 1029
34.2.3  JMenuItem 1030
34.3  創(chuàng)建主菜單 1031
34.4  向菜單項(xiàng)添加助記符和
加速鍵 1035
34.5  向菜單項(xiàng)添加圖片和
工具提示 1037
34.6  使用JRadioButtonMenuItem和
JCheckBoxMenuItem 1038
34.7  創(chuàng)建彈出菜單 1040
34.8  創(chuàng)建工具欄 1043
34.9  使用動(dòng)作 1045
34.10  完整演示MenuDemo
程序 1050
34.11  繼續(xù)探究Swing 1057
第 IV 部分  應(yīng)用Java
第35章  Java Bean 1061
35.1  Java Bean是什么 1061
35.2  Java Bean的優(yōu)勢(shì) 1062
35.3  內(nèi)省 1062
35.3.1  屬性的設(shè)計(jì)模式 1062
35.3.2  事件的設(shè)計(jì)模式 1063
35.3.3  方法與設(shè)計(jì)模式 1064
35.3.4  使用BeanInfo接口 1064
35.4  綁定屬性與約束屬性 1065
35.5  持久性 1065
35.6  定制器 1065
35.7  Java Bean API 1065
35.7.1  Introspector類 1067
35.7.2  PropertyDescriptor類 1067
35.7.3  EventSetDescriptor類 1067
35.7.4  MethodDescriptor類 1067
35.8  一個(gè)Bean示例 1068
第36章  servlet 1071
36.1  背景 1071
36.2  servlet的生命周期 1072
36.3  servlet開(kāi)發(fā)選項(xiàng) 1072
36.4  使用Tomcat 1073
36.5  一個(gè)簡(jiǎn)單的servlet 1074
36.5.1  創(chuàng)建和編譯servlet
源代碼 1074
36.5.2  啟動(dòng)Tomcat 1075
36.5.3  啟動(dòng)Web瀏覽器并
請(qǐng)求servlet 1075
36.6  Servlet API 1075
36.7  jakarta.servlet包 1076
36.7.1  Servlet接口 1076
36.7.2  ServletConfig接口 1077
36.7.3  ServletContext接口 1077
36.7.4  ServletRequest接口 1078
36.7.5  ServletResponse接口 1078
36.7.6  GenericServlet類 1079
36.7.7  ServletInputStream類 1079
36.7.8  ServletOutputStream類 1079
36.7.9  servlet異常類 1079
36.8  讀取servlet參數(shù) 1079
36.9  jakarta.servlet.http包 1081
36.9.1  HttpServletRequest
接口 1081
36.9.2  HttpServletResponse
接口 1082
36.9.3  HttpSession接口 1083
36.9.4  Cookie類 1084
36.9.5  HttpServlet類 1085
36.10  處理HTTP請(qǐng)求和響應(yīng) 1086
36.10.1  處理HTTP GET
請(qǐng)求 1086
36.10.2  處理HTTP POST
請(qǐng)求 1087
36.11  使用cookie 1088
36.12  會(huì)話跟蹤 1091
第 V 部分  附錄
附錄A  使用Java的文檔注釋 1095
附錄B  JShell簡(jiǎn)介 1103
附錄C  在一個(gè)步驟中編譯和運(yùn)行
簡(jiǎn)單的單文件程序 1112
 
 

本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) www.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)