Java完全參考手冊(第8版)

Java完全參考手冊(第8版)

《Java完全參考手冊(第8版)》是2012年清華大學出版社出版的圖書,作者是施密特 (Herbert Schildt)。

圖書簡介

在《Java完全參考手冊(第8版)》中,編程暢銷書作者Herb Schildt向您展示了開發、編譯、調試以及運行Java程式所需要掌握的全部知識。本書內容豐富,針對Java SE 7進行了全面更新,涵蓋了Java語言的方方面面,包括語法、關鍵字以及基本的編程原則。此外,本書還介紹了Java API庫的關鍵元素,分析了Java Bean、servlet、applet以及Swing,並通過真實的案例演示了Java在編程中的實際套用。

編輯推薦

《Java完全參考手冊(第8版)》還介紹了Java API庫的關鍵元素,分析了Java Bean、servlet、applet以及Swing,並通過真實的案例演示了Java在編程中的實際套用。在講解的過程中,書中貫穿了Java SE 7的最新特性,例如帶資源的try語句、在switch語句中使用字元串、使用菱形運算符“<>”的類型推斷功能、NIO.2輸入輸出系統以及For’k/Join Framework。

作者簡介

作者:(美國)施密特(Herbert Schildt) 譯者:王德才 吳明飛 唐業軍
施密特(Herbert Schildt),世界頂級程式設計大師,全球頂尖編程圖書作者之一。他是C、C++、Java和C#程式語言方面的權威,也是Windows編程方面的專家。他的編程書籍在全球銷量已經超過300萬冊,並被翻譯成多種語言流傳於世,包括Java:The Complete Reference、C++:The Complete Reference、C:The Complete Reference等。

目錄

第Ⅰ部分Java語言
第1章Java的歷史和演變
1.1Java的家世
1.1.1現代程式語言的誕生:C語言
1.1.2C++:下一個階段
1.1.3Java出現的時機已經成熟
1.2Java的誕生
1.3Java改變Internet的方式
1.3.1Javaapplet
1.3.2安全性
1.3.3可移植性
1.4Java的魔力:位元組碼
1.5servlet:伺服器端的Java
1.6Java的關鍵特性
1.6.1簡單性
1.6.2面向對象
1.6.3健壯性
1.6.4多執行緒
1.6.5體系結構中立
1.6.6解釋執行和高性能
1.6.7分散式
1.6.8動態性
1.7Java的演變歷程
1.8文化革新
第2章Java綜述
2.1面向對象編程
2.1.1兩種範式
2.1.2抽象
2.1.3OOP三原則
2.2第一個簡單程式
2.2.1輸入程式
2.2.2編譯程式
2.2.3深入分析第一個示例程式
2.3第二個簡短程式
2.4兩種控制語句
2.4.1if語句
2.4.2for循環
2.5使用代碼塊
2.6辭彙問題
2.6.1空白符
2.6.2標識符
2.6.3字面值
2.6.4注釋
2.6.5分隔設定
2.6.6Java關鍵字
2.7Java類庫
第3章數據類型、變數和數組
3.1Java是強類型化的語言
3.2基本類型
3.3整型
3.3.1byte
3.3.2short
3.3.3int
3.3.4long
3.4浮點型
3.4.1float
3.4.2double
3.5字元型
3.6布爾型
3.7深入分析字面值
3.7.1整型字面值
3.7.2浮點型字面值
3.7.3布爾型字面值
3.7.4字元型字面值
3.7.5字元串字面值
3.8變數
3.8.1變數的聲明
3.8.2動態初始化
3.8.3變數的作用域和生命周期
3.9類型轉換和強制類型轉換
3.9.1Java的自動類型轉換
3.9.2強制轉換不兼容的類型
3.10表達式中的自動類型提升
3.11數組
3.11.1一維數組
3.11.2多維數組
3.11.3另一種數組聲明語法
3.12關於字元串的一些說明
3.13向C/C++程式設計師提供指針方面的註解
第4章運算符
4.1算術運算符
4.1.1基本算術運算符
4.1.2求模運算符
4.1.3算術與賦值複合運算符
4.1.4自增與自減運算符
4.2位運算符
4.2.1位邏輯運算符
4.2.2左移
4.2.3右移
4.2.4無符號右移
4.2.5位運算符與賦值的組合
4.3關係運算符
4.4布爾邏輯運算符
4.5賦值運算符
4.6“?”運算符
4.7運算符的優先權
4.8使用圓括弧
第5章控制語句
5.1Java的選擇語句
5.1.1if語句
5.1.2switch語句
5.2疊代語句
5.2.1while語句
5.2.2do—while語句
5.2.3for語句
5.2.4for循環的for—each版本
5.2.5嵌套的循環
5.3跳轉語句
5.3.1使用break語句
5.3.2使用continue語句
5.3.3return語句
第6章類
6.1類的基礎知識
6.1.1類的一般形式
6.1.2一個簡單的類
6.2聲明對象
6.3為對象引用變數賦值
6.4方法
6.4.1為Box類添加方法
6.4.2返回值
6.4.3添加帶參數的方法
6.5構造函式
6.6this關鍵字
6.7垃圾回收
6.8finalize()方法
6.9堆疊類
第7章方法和類的深入分析
7.1重載方法
7.2將對象用作參數
7.3參數傳遞的深入分析
7.4返回對象
7.5遞歸
7.6訪問控制
7.7理解static
7.8final介紹
7.9重新審視數組
7.10嵌套類和內部類
7.11String類介紹
7.12使用命令行參數
7.13varargs:可變長度參數
7.13.1重載varargs方法
7.13.2varargs方法與模糊性
第8章繼承
8.1繼承的基礎知識
8.1.1成員訪問與繼承
8.1.2一個更實際的例子
8.1.3超類變數可以引用子類對象
8.2使用super關鍵字
8.2.1使用super調用超類的構造函式
8.2.2super的另一種用法
8.3創建多級繼承層次
8.4構造函式的調用時機
8.5方法重寫
8.6動態方法調度
8.6.1重寫方法的目的
8.6.2套用方法重寫
8.7使用抽象類
8.8在繼承中使用final關鍵字
8.8.1使用final關鍵字阻止重寫
8.8.2使用final關鍵字阻止繼承
8.9Object類
第9章包和接口
9.1包
9.1.1定義包
9.1.2包查找與CLASSPATH
9.1.3一個簡短的包示例
9.2訪問保護
9.3導入包
9.4接口
9.4.1定義接口
9.4.2實現接口
9.4.3嵌套接口
9.4.4套用接口
9.4.5接口中的變數
9.4.6接口可以擴展
第10章異常處理
10.1異常處理的基礎知識
10.2異常類型
10.3未捕獲的異常
10.4使用try和catch
10.5多條catch子句
10.6嵌套的try語句
10.7throw
10.8throws
10.9finally
10.10Java的內置異常
10.11創建自己的異常子類
10.12鏈式異常
10.13JDK7中3個新的異常特性
10.14使用異常
第11章多執行緒編程
11.1Java執行緒模型
11.1.1執行緒優先權
11.1.2同步
11.1.3訊息傳遞
11.1.4Thread類和Runnable接口
11.2主執行緒
11.3創建執行緒
11.3.1實現Runnable接口
11.3.2擴展Thread類
11.3.3選擇一種創建方式
11.4創建多個執行緒
11.5使用isAlive()和join()方法
11.6執行緒優先權
11.7同步
11.7.1使用同步方法
11.7.2synchronized語句
11.8執行緒間通信
11.9掛起、恢復與停止執行緒
11.9.1Java1.1以前使用的掛起、恢復和停止執行緒的方式
11.9.2掛起、恢復與停止執行緒的現代方式
11.10獲取執行緒的狀態
11.11使用多執行緒
第12章枚舉、自動裝箱與註解(元數據)
12.1枚舉
12.1.1枚舉的基礎知識
12.1.2values()和valueOf()方法
12.1.3Java枚舉是類類型
12.1.4枚舉繼承自Enum類
12.1.5另一個枚舉示例
12.2類型封裝器
12.2.1Character封裝器
12.2.2Boolean封裝器
12.2.3數值類型封裝器
12.3自動裝箱
12.3.1自動裝箱與方法
12.3.2表達式中發生的自動裝箱/拆箱
12.3.3布爾型和字元型數值的自動裝箱/拆箱
12.3.4自動裝箱/拆箱有助於防止錯誤
12.3.5一些警告
12.4註解(元數據)
12.4.1註解的基礎知識
12.4.2指定保留策略
12.4.3在運行時使用反射獲取註解
12.4.4AnnotatedElement接口
12.4.5使用默認值
12.4.6標記註解
12.4.7單成員註解
12.4.8內置註解
12.4.9一些限制
第13章I/O、applet以及其他主題
13.1I/O的基礎知識
13.1.1流
13.1.2位元組流和字元流
13.1.3預定義流
13.2讀取控制台輸入
13.2.1讀取字元
13.2.2讀取字元串
13.3向控制台寫輸出
13.4PrintWriter類
13.5讀/寫檔案
13.6自動關閉檔案
13.7applet的基礎知識
13.8transient和volatile修飾符
13.9使用instanceof運算符
13.10strictfp
13.11本地方法
13.12使用斷言
13.13靜態導入
13.14通過this()調用重載的構造函式
第14章泛型
14.1什麼是泛型
14.2一個簡單的泛型示例
14.2.1泛型只使用對象
14.2.2基於不同類型參數的泛型類型是不同的
14.2.3泛型提升類型安全性的原理
14.3帶兩個類型參數的泛型類
14.4泛型類的一般形式
14.5有界類型
14.6使用通配符參數
14.7創建泛型方法
14.8泛型接口
14.9原始類型與遺留代碼
14.10泛型類層次
14.10.1使用泛型超類
14.10.2泛型子類
14.10.3泛型層次中的運行時類型比較
14.10.4強制轉換
14.10.5重寫泛型類的方法
14.11泛型的類型推斷
14.12擦拭
14.13模糊性錯誤
14.14使用泛型的一些限制
14.14.1不能實例化類型參數
14.14.2對靜態成員的一些限制
14.14.3對泛型數組的一些限制
14.14.4對泛型異常的限制
……
第Ⅱ部分Java庫

第15章字元串處理 387

15.1String類的構造函式 388

15.2字元串的長度 390

15.3特殊的字元串操作 391

15.3.1字元串字面值 391

15.3.2字元串連線 391

15.3.3字元串和其他數據類型的連線 392

15.3.4字元串轉換和toString()方法 393

15.4提取字元 394

15.4.1charAt() 394

15.4.2getChars() 394

15.4.3getBytes() 395

15.4.4toCharArray() 395

15.5比較字元串 395

15.5.1equals()和equalsIgnoreCase() 395

15.5.2regionMatches() 396

15.5.3startsWith()和endsWith() 397

15.5.4equals()與== 397

15.5.5compareTo() 398

15.6查找字元串 399

15.7修改字元串 401

15.7.1substring() 401

15.7.2concat() 402

15.7.3replace() 402

15.7.4trim() 403

15.8使用valueOf()轉換數據 404

15.9改變字元串中字元的大小寫 404

15.10其他String方法 405

15.11StringBuffer類 406

15.11.1StringBuffer類的構造函式 406

15.11.2length()與capacity() 407

15.11.3ensureCapacity() 407

15.11.4setLength() 408

15.11.5charAt()與setCharAt() 408

15.11.6getChars() 409

15.11.7append() 409

15.11.8insert() 409

15.11.9reverse() 410

15.11.10delete()與deleteCharAt() 411

15.11.11replace() 411

15.11.12substring() 412

15.11.13其他StringBuffer方法 412

15.12StringBuilder類 413

第16章探究java.lang 415

16.1基本類型封裝器 416

16.1.1Number 416

16.1.2Double與Float 417

16.1.3理解isInfinite()與isNaN() 420

16.1.4Byte、Short、Integer和Long 420

16.1.5Character 427

16.1.6對Unicode代碼點的附加支持 430

16.1.7Boolean 431

16.2Void類 432

16.3Process類 432

16.4Runtime類 433

16.4.1記憶體管理 434

16.4.2執行其他程式 435

16.5ProcessBuilder類 436

16.6System類 439

16.6.1使用currentTimeMillis()計時程式的執行 440

16.6.2使用arraycopy() 441

16.6.3環境屬性 442

16.7Object類 442

16.8使用clone()方法和Cloneable接口 443

16.9Class類 445

16.10ClassLoader類 448

16.11Math類 448

16.11.1三角函式 448

16.11.2指數函式 449

16.11.3捨入函式 449

16.11.4其他數學方法 450

16.12StrictMath類 452

16.13Compiler類 452

16.14Thread類、ThreadGroup類和Runnable接口 452

16.14.1Runnable接口 452

16.14.2Thread類 452

16.14.3ThreadGroup類 454

16.15ThreadLocal和InheritableThreadLocal類 459

16.16Package類 459

16.17RuntimePermission類 460

16.18Throwable類 460

16.19SecurityManager類 460

16.20StackTraceElement類 460

16.21Enum類 461

16.22ClassValue類 462

16.23CharSequence接口 462

16.24Comparable接口 462

16.25Appendable接口 463

16.26Iterable接口 463

16.27Readable接口 464

16.28AutoCloseable接口 464

16.29Thread.UncaughtException-Handler接口 464

16.30java.lang子包 464

16.30.1java.lang.annotation 465

16.30.2java.lang.instrument 465

16.30.3java.lang.invoke 465

16.30.4java.lang.management 465

16.30.5java.lang.ref 465

16.30.6java.lang.reflect 465

第17章java.util第1部分:集合框架 467

17.1集合概述 468

17.2JDK5對集合框架的修改 469

17.2.1泛型從根本上改變了集合框架 470

17.2.2自動裝箱使得使用基本類型更加容易 470

17.2.3for-each風格的循環 470

17.3集合接口 470

17.3.1Collection接口 471

17.3.2List接口 473

17.3.3Set接口 474

17.3.4SortedSet接口 474

17.3.5NavigableSet接口 475

17.3.6Queue接口 476

17.3.7Deque接口 477

17.4集合類 479

17.4.1ArrayList類 480

17.4.2LinkedList類 483

17.4.3HashSet類 484

17.4.4LinkedHashSet類 486

17.4.5TreeSet類 486

17.4.6PriorityQueue類 487

17.4.7ArrayDeque類 488

17.4.8EnumSet類 489

17.5通過疊代器訪問集合 490

17.5.1使用疊代器 491

17.5.2使用for-each循環替代疊代器 493

17.6在集合中存儲用戶定義的類 494

17.7RandomAccess接口 495

17.8使用映射 496

17.8.1映射接口 496

17.8.2映射類 500

17.9比較器 505

17.10集合算法 508

17.11Arrays類 513

17.12需要泛型集合的原因 518

17.13遺留的類和接口 521

17.13.1Enumeration接口 521

17.13.2Vector類 521

17.13.3Stack類 525

17.13.4Dictionary類 527

17.13.5Hashtable類 528

17.13.6Properties類 532

17.13.7使用store()和load() 535

17.14集合小結 537

第18章java.util第2部分:更多實用工具類 539

18.1StringTokenizer類 539

18.2BitSet類 541

18.3Date類 544

18.4Calendar類 546

18.5GregorianCalendar類 549

18.6TimeZone類 550

18.7SimpleTimeZone類 551

18.8Locale類 552

18.9Random類 554

18.10Observable類 555

18.10.1Observer接口 556

18.10.2Observer示例 556

18.11Timer和TimerTask類 559

18.12Currency類 561

18.13Formatter類 562

18.13.1Formatter類的構造函式 563

第Ⅲ部分使用Java開發軟體
附錄使用Java的文檔注釋

相關詞條

熱門詞條

聯絡我們