關(guān)于我們
書單推薦
新書推薦
|
Java語言程序設計與數(shù)據(jù)結(jié)構(gòu)(基礎篇)(原書第11版)
本書是Java語言的經(jīng)典教材,中文版分為基礎篇和進階篇,主要介紹程序設計基礎、面向?qū)ο蟪绦蛟O計、GUI程序設計、數(shù)據(jù)結(jié)構(gòu)和算法、高級Java程序設計等內(nèi)容。本書以示例講解解決問題的技巧,提供大量的程序清單,每章配有大量復習題和編程練習題,幫助讀者掌握編程技術(shù),并應用所學技術(shù)解決實際應用開發(fā)中遇到的問題;A篇主要介紹基本程序設計、語法結(jié)構(gòu)、面向?qū)ο蟪绦蛟O計、繼承和多態(tài)、異常處理和文本I/O、抽象類和接口等內(nèi)容。
前 言Introduction to Java Programming and Data Structures, Comprehensive Version, Eleventh Edition許多讀者就本書之前的版本給出了很多反饋。這些評論和建議極大地改進了本書。這一版在表述、組織、示例、練習題以及附錄方面都有大幅提高。
本書采用基礎優(yōu)先的方法,在設計用戶自定義類之前,首先介紹基本的程序設計概念和技術(shù)。選擇語句、循環(huán)、方法和數(shù)組這樣的基本概念和技術(shù)是程序設計的基礎,它們?yōu)閷W生進一步學習面向?qū)ο蟪绦蛟O計和高級Java程序設計做好準備。 本書以問題驅(qū)動的方式來教授程序設計,將重點放在問題的解決而不是語法上。我們通過使用在各種應用情景中引發(fā)思考的問題,使得程序設計的介紹變得更加有趣。前面章節(jié)的主線放在問題的解決上,引入合適的語法和庫以支持編寫解決問題的程序。為了支持以問題驅(qū)動的方式來教授程序設計,本書提供了大量不同難度的問題來激發(fā)學生的積極性。為了吸引各個專業(yè)的學生來學習,這些問題涉及很多應用領域,包括數(shù)學、科學、商業(yè)、金融、游戲、動畫以及多媒體等。 本書將程序設計、數(shù)據(jù)結(jié)構(gòu)和算法無縫整合在一起,采用一種實用的方式來教授數(shù)據(jù)結(jié)構(gòu)。首先介紹如何使用各種數(shù)據(jù)結(jié)構(gòu)來開發(fā)高效的算法,然后演示如何實現(xiàn)這些數(shù)據(jù)結(jié)構(gòu)。通過實現(xiàn),學生可以深入理解數(shù)據(jù)結(jié)構(gòu)的效率,以及如何和何時使用某種數(shù)據(jù)結(jié)構(gòu)。最后,我們設計和實現(xiàn)了針對樹和圖的用戶自定義數(shù)據(jù)結(jié)構(gòu)。 本書廣泛應用于全球各大學的程序設計入門、數(shù)據(jù)結(jié)構(gòu)和算法課程中。完全版包括程序設計基礎、面向?qū)ο蟪绦蛟O計、GUI程序設計、數(shù)據(jù)結(jié)構(gòu)、算法、并行、網(wǎng)絡、數(shù)據(jù)庫和Web程序設計。這個版本旨在把學生培養(yǎng)成精通Java的程序員;A篇可用于程序設計的第一門課程(通常稱為CS1);A篇包含完全版的前18章內(nèi)容,本書還有一個AP版本,適合學習AP計算機科學(AP Computer Science)課程的高中生使用。 教授編程的最好途徑是通過示例,而學習編程的唯一途徑是通過動手練習。本書通過示例對基本概念進行了講解,并提供了大量不同難度的練習題供學生進行練習。在我們的程序設計課程中,每次課后都布置了編程練習。 我們的目標是編寫一本可以通過各種應用場景中的有趣示例來教授問題求解和程序設計的教材。如果您有任何關(guān)于如何改進本書的評論或建議,請給我發(fā)郵件。 Y. Daniel Liangy.daniel.liang@gmail.comwww.cs.armstrong.edu/liangwww.pearsonhighered.com/liangACM/IEEE課程體系2013版和ABET課程評價新的ACM/IEEE課程體系2013版將知識體系組織成18個知識領域。為了幫助教師基于本書設計課程,我們提供了示例教學大綱來確定知識領域和知識單元。作為一個常規(guī)的定制示例,示例教學大綱用于三學期的課程系列。示例教學大綱可以從教師資源配套網(wǎng)站獲取。 許多讀者來自ABET認證計劃。ABET認證的一個關(guān)鍵組成部分是,通過針對課程效果的持續(xù)的課程評價確定薄弱環(huán)節(jié)。我們在教師資源配套網(wǎng)站中提供了課程效果示例,以及用于衡量課程效果的示例考試。 本版新增內(nèi)容本版對各個細節(jié)都進行了全面修訂,以增強其清晰性、表述、內(nèi)容、示例和練習題。本版主要的改進如下: 書名改為了“Java語言程序設計與數(shù)據(jù)結(jié)構(gòu)”,以體現(xiàn)在數(shù)據(jù)結(jié)構(gòu)方面的增強。本書使用一種實用的方式來介紹、實現(xiàn)和使用數(shù)據(jù)結(jié)構(gòu),并涵蓋了一門典型的數(shù)據(jù)結(jié)構(gòu)課程中的所有主題。另外,還提供了額外的獎勵章節(jié)來介紹高級的數(shù)據(jù)結(jié)構(gòu),比如2-4樹、B樹以及紅黑樹等。 針對最新的Java技術(shù)進行了更新。使用Java 8版本中的新特征對示例和練習進行了改進和簡化。 在第13章的接口介紹中,引入了默認方法和靜態(tài)方法。 GUI相關(guān)章節(jié)都更新到JavaFX 8。改寫了所有示例。示例和練習中的用戶界面現(xiàn)在都是可以改變尺寸并且居中顯示的。 在第15章的示例中,涵蓋了內(nèi)部類、匿名內(nèi)部類以及l(fā)ambda表達式的內(nèi)容。 數(shù)據(jù)結(jié)構(gòu)相關(guān)章節(jié)中,更多的示例和練習采用了lambda表達式來簡化編程。方法引用在20.6節(jié)介紹Comparator接口時進行了介紹。 在第20章中介紹了forEach方法,作為對集合中每個元素應用一個動作而進行的循環(huán)的簡單替代方法。 在第24~29章中,使用了Java 8中接口的默認方法重新設計和簡化了MyList、MyArrayList、MyLinkedList、Tree、BST、AVLTree、MyMap、MyHashMap、MySet、MyHashSet、Graph、UnweightedGraph和WeightedGraph的實現(xiàn)。 第30章為全新章節(jié),介紹集合流的聚合操作。 第31章介紹了FXML和Scene Builder可視化工具。 重新設計了配套網(wǎng)站,增加了新的交互式測試題、復習題、動畫以及現(xiàn)場編程。 在教師資源網(wǎng)站上為教師額外提供了200多道編程練習題,并給出了答案。這些練習題沒有出現(xiàn)在教材中。 可以訪問www.pearsonhighered.com/liang,獲得和前一版本的關(guān)聯(lián)以及新特征的完整列表。 教學特色本書使用以下要素組織素材: 教學目標:在每章開始列出學生學習本章應該掌握的內(nèi)容,學完這章后,學生能夠判斷自己是否達到這個目標。 引言:提出引發(fā)思考的問題以展開討論,激發(fā)讀者深入探討該章內(nèi)容。 要點提示:突出每節(jié)中涵蓋的重要概念。 復習題:按節(jié)組織,幫助學生復習相關(guān)內(nèi)容并評估掌握的程度。 示例學習:通過精心挑選示例,以容易理解的方式教授問題求解和程序設計概念。本書使用多個小的、簡單的、激發(fā)興趣的例子來演示重要的概念。 本章小結(jié):回顧學生應該理解和記住的重要主題,有助于鞏固該章所學的關(guān)鍵概念。 測試題:可以在線訪問,按照章節(jié)組織,讓學生可以就編程概念和技術(shù)進行自我測試。 編程練習題:按章節(jié)組織,為學生提供獨立應用所學新技能的機會。練習題的難度分為容易(沒有星號)、適度(*)、難(**)和具有挑戰(zhàn)性(***)四個級別。學習程序設計的竅門就是實踐、實踐、再實踐。所以,本書提供了大量的編程練習題。另外,在教師資源網(wǎng)站上為教師提供了200多道帶有答案的編程練習題。 注意、提示、警告和設計指南:貫穿全書,對程序開發(fā)的重要方面提供有價值的建議和見解。 注意:提供學習主題的附加信息,鞏固重要概念。 提示:教授良好的程序設計風格和實踐經(jīng)驗。 警告:幫助學生避開程序設計錯誤的誤區(qū)。 設計指南:提供設計程序的指南。 靈活的章節(jié)順序本書提供靈活的章節(jié)順序,使GUI、異常處理、遞歸、泛型和Java集合框架等內(nèi)容可以或早或晚地講解。下頁的插圖顯示了各章之間的相關(guān)性。 本書的組織所有的章節(jié)分為五部分,構(gòu)成Java程序設計、數(shù)據(jù)結(jié)構(gòu)和算法、數(shù)據(jù)庫和Web程序設計的全面介紹。書中知識是循序漸進的,前面的章節(jié)介紹了程序設計的基本概念,并且通過簡單的例子和練習題引導學生;后續(xù)的章節(jié)逐步詳細地介紹Java程序設計,最后介紹開發(fā)綜合的Java應用程序。附錄包含數(shù)系、位操作、正則表達式以及枚舉類型等多種主題。 第一部分 程序設計基礎(第1~8章)本書第一部分是基石,讓你開始踏上Java學習之旅。你將了解Java(第1章),還將學習像基本數(shù)據(jù)類型、變量、常量、賦值、表達式以及操作符這樣的基本程序設計技術(shù)(第2章),選擇語句(第3章),數(shù)學函數(shù)、字符和字符串(第4章),循環(huán)(第5章),方法(第6章),數(shù)組(第7和8章)。在第7章之后,可以跳到第18章去學習如何編寫遞歸的方法來解決本身具有遞歸特性的問題。 第二部分 面向?qū)ο蟪绦蛟O計(第9~13章和第17章)這一部分介紹面向?qū)ο蟪绦蛟O計。Java是一種面向?qū)ο蟪绦蛟O計語言,它使用抽象、封裝、繼承和多態(tài)來提供開發(fā)軟件的極大靈活性、模塊化和可重用性。你將學習如何使用對象和類(第9和10章)、類的繼承(第11章)、多態(tài)性(第11章)、異常處理(第12章)、抽象類(第13章)以及接口(第13章)進行程序設計。文本I/O將在第12章介紹,二進制I/O將在第17章介紹。 第三部分 GUI程序設計(第14~16章和獎勵章節(jié)第31章)JavaFX是一個開發(fā)Java GUI程序的新框架。它不僅對于開發(fā)GUI程序有用,還是一個用于學習面向?qū)ο蟪绦蛟O計的優(yōu)秀教學工具。這一部分在第14~16章介紹使用JavaFX進行Java GUI程序設計。主要的主題包括GUI基礎(第14章)、容器面板(第14章)、繪制形狀(第14章)、事件驅(qū)動編程(第15章)、動畫(第15章)、GUI組件(第16章),以及播放音頻和視頻(第16章)。你將學習采用JavaFX的GUI程序架構(gòu),并且使用組件、形狀、面板、圖像和視頻來開發(fā)有用的應用程序。第31章涵蓋JavaFX的高級特性。 第四部分 數(shù)據(jù)結(jié)構(gòu)和算法(第18~30章以及獎勵章節(jié)第42和43章)這一部分介紹一門典型的數(shù)據(jù)結(jié)構(gòu)和算法課程中的主題。第18章介紹遞歸以編寫解決本身具有遞歸特性的問題的方法。第19章介紹泛型是如何提高軟件的可靠性的。第20和21章介紹Java集合框架,它為數(shù)據(jù)結(jié)構(gòu)定義了一套有用的API。第22章討論算法效率的度量以便為應用程序選擇合適的算法。第23章介紹經(jīng)典的排序算法。你將在第24章中學到如何實現(xiàn)經(jīng)典的數(shù)據(jù)結(jié)構(gòu),如線性表、隊列和優(yōu)先隊列。第25和26章介紹二分查找樹和AVL樹。第27章介紹散列以及通過散列實現(xiàn)映射(map)和集合(set)。第28和29章介紹圖的應用。第30章介紹用于集合流的聚合操作。2-4樹、B樹以及紅黑樹在獎勵章節(jié)第42和43章中介紹。 第五部分 高級Java程序設計(獎勵章節(jié)第32~41章和第44章)這一部分介紹高級Java程序設計。第32章介紹使用多線程使程序具有更好的響應性和交互性,并介紹并行編程。第33章討論如何編寫程序使得Internet上的不同主機能夠相互對話。第34章介紹使用Java來開發(fā)數(shù)據(jù)庫項目。第35章深入探討高級Java數(shù)據(jù)庫編程。第36章涵蓋國際化支持的使用,以開發(fā)面向全球使用者的項目。第37和38章介紹如何使用Java servlet和JSP創(chuàng)建來自Web服務器的動態(tài)內(nèi)容。第39章介紹使用JSF進行現(xiàn)代Web應用開發(fā)。第40章介紹遠程方法調(diào)用,而第41章討論Web服務。第44章介紹使用JUnit測試Java程序。 附錄附錄A列出Java關(guān)鍵字。附錄B給出十進制和十六進制ASCII字符集。附錄C給出操作符優(yōu)先級。附錄D總結(jié)Java修飾符及其使用。附錄E討論特殊的浮點值。附錄F介紹數(shù)系以及二進制、十進制和十六進制間的轉(zhuǎn)換。附錄G介紹位操作符。附錄H介紹正則表達式。附錄I涵蓋枚舉類型。
梁勇(Y. Daniel Liang) 現(xiàn)為阿姆斯特朗亞特蘭大州立大學計算機科學系教授。之前曾是普度大學計算機科學系副教授,并曾兩次獲得普度大學杰出研究獎。他所編寫的Java教程在美國大學Java課程中采用率極高,同時他還兼任Prentice Hall Java系列叢書的編輯。他是“Java Champion”榮譽得主,并在世界各地給在校學生和程序員做Java語言及技術(shù)方面的講座。
目 錄
Introduction to Java Programming and Data Structures, Comprehensive Version, Eleventh Edition 出版者的話 中文版序 譯者序 前言 第1章 計算機、程序和Java概述 1 1.1 引言 1 1.2 什么是計算機 2 1.2.1 中央處理器 2 1.2.2 比特和字節(jié) 3 1.2.3 內(nèi)存 3 1.2.4 存儲設備 4 1.2.5 輸入和輸出設備 4 1.2.6 通信設備 5 1.3 編程語言 6 1.3.1 機器語言 6 1.3.2 匯編語言 6 1.3.3 高級語言 7 1.4 操作系統(tǒng) 8 1.4.1 控制和監(jiān)視系統(tǒng)活動 8 1.4.2 分配和調(diào)配系統(tǒng)資源 8 1.4.3 調(diào)度操作 8 1.5 Java、萬維網(wǎng)以及其他 9 1.6 Java語言規(guī)范、API、JDK、JRE和IDE 10 1.7 一個簡單的Java程序 11 1.8 創(chuàng)建、編譯和執(zhí)行Java程序 13 1.9 程序設計風格和文檔 16 1.9.1 正確的注釋和注釋風格 16 1.9.2 正確的縮進和空白 16 1.9.3 塊的風格 17 1.10 程序設計錯誤 17 1.10.1 語法錯誤 17 1.10.2 運行時錯誤 18 1.10.3 邏輯錯誤 19 1.10.4 常見錯誤 19 1.11 使用NetBeans開發(fā)Java程序 20 1.11.1 創(chuàng)建Java工程 21 1.11.2 創(chuàng)建Java類 22 1.11.3 編譯和運行類 22 1.12 使用Eclipse開發(fā)Java程序 23 1.12.1 創(chuàng)建Java工程 23 1.12.2 創(chuàng)建Java類 24 1.12.3 編譯和運行類 24 關(guān)鍵術(shù)語 25 本章小結(jié) 26 測試題 27 編程練習題 27 第2章 基本程序設計 29 2.1 引言 29 2.2 編寫簡單的程序 29 2.3 從控制臺讀取輸入 32 2.4 標識符 35 2.5 變量 35 2.6 賦值語句和賦值表達式 37 2.7 命名常量 38 2.8 命名習慣 39 2.9 數(shù)值數(shù)據(jù)類型和操作 39 2.9.1 數(shù)值類型 39 2.9.2 從鍵盤讀取數(shù)值 40 2.9.3 數(shù)值操作符 40 2.9.4 冪運算 42 2.10 數(shù)值型字面值 43 2.10.1 整型字面值 43 2.10.2 浮點型字面值 43 2.10.3 科學記數(shù)法 44 2.11 表達式求值以及操作符優(yōu)先級 44 2.12 示例學習:顯示當前時間 45 2.13 增強賦值操作符 47 2.14 自增和自減操作符 48 2.15 數(shù)值類型轉(zhuǎn)換 50 2.16 軟件開發(fā)過程 52 2.17 示例學習:整錢兌零 55 2.18 常見錯誤和陷阱 57 關(guān)鍵術(shù)語 59 本章小結(jié) 60 測試題 60 編程練習題 60 第3章 選擇 65 3.1 引言 65 3.2 boolean數(shù)據(jù)類型 65 3.3 if語句 67 3.4 雙分支if-else語句 69 3.5 嵌套的if語句和多分支if-else語句 70 3.6 常見錯誤和陷阱 72 3.7 產(chǎn)生隨機數(shù) 75 3.8 示例學習:計算身體質(zhì)量指數(shù) 77 3.9 示例學習:計算稅率 78 3.10 邏輯操作符 81 3.11 示例學習:判定閏年 84 3.12 示例學習:彩票 85 3.13 switch語句 87 3.14 條件操作 90 3.15 操作符的優(yōu)先級和結(jié)合規(guī)則 91 3.16 調(diào)試 92 關(guān)鍵術(shù)語 93 本章小結(jié) 93 測試題 94 編程練習題 94 第4章 數(shù)學函數(shù)、字符和字符串 102 4.1 引言 102 4.2 常用數(shù)學函數(shù) 103 4.2.1 三角函數(shù)方法 103 4.2.2 指數(shù)函數(shù)方法 103 4.2.3 取整方法 104 4.2.4 min、max和abs方法 104 4.2.5 random方法 105 4.2.6 示例學習:計算三角形的角度 105 4.3 字符數(shù)據(jù)類型和操作 107 4.3.1 Unicode和ASCII碼 107 4.3.2 特殊字符的轉(zhuǎn)義序列 108 4.3.3 字符型數(shù)據(jù)與數(shù)值型數(shù)據(jù)之間的轉(zhuǎn)換 108 4.3.4 字符的比較和測試 109 4.4 String類型 111 4.4.1 獲取字符串長度 112 4.4.2 從字符串中獲取字符 112 4.4.3 連接字符串 113 4.4.4 字符串的轉(zhuǎn)換 113 4.4.5 從控制臺讀取字符串 114 4.4.6 從控制臺讀取字符 114 4.4.7 字符串比較 115 4.4.8 獲得子字符串 116 4.4.9 獲取字符串中的字符或者子串 117 4.4.10 字符串和數(shù)字間的轉(zhuǎn)換 118 4.5 示例學習 120 4.5.1 猜測生日 120 4.5.2 將十六進制數(shù)轉(zhuǎn)換為十進制數(shù) 123 4.5.3 使用字符串修改彩票程序 124 4.6 格式化控制臺輸出 126 關(guān)鍵術(shù)語 129 本章小結(jié) 129 測試題 130 編程練習題 130 第5章 循環(huán) 136 5.1 引言 136 5.2 while循環(huán) 137 5.3 示例學習:猜數(shù)字 139 5.4 循環(huán)設計策略 142 5.5 使用用戶確認或者標記值控制循環(huán) 144 5.6 do-while循環(huán) 146 5.7 for循環(huán) 148 5.8 采用哪種循環(huán) 151 5.9 嵌套循環(huán) 153 5.10 最小化數(shù)值錯誤 155 5.11 示例學習 156 5.11.1 求最大公約數(shù) 156 5.11.2 預測未來學費 158 5.11.3 將十進制數(shù)轉(zhuǎn)換為十六進制數(shù) 158 5.12 關(guān)鍵字break和continue 160 5.13 示例學習:判斷回文 163 5.14 示例學習:顯示素數(shù) 164 關(guān)鍵術(shù)語 167 本章小結(jié) 167 測試題 167 編程練習題 167 第6章 方法 176 6.1 引言 176 6.2 定義方法 177 6.3 調(diào)用方法 178 6.4 void方法與返回值方法 180 6.5 按值傳參 183 6.6 模塊化代碼 186 6.7 示例學習:將十六進制數(shù)轉(zhuǎn)換為十進制數(shù) 188 6.8 重載方法 190 6.9 變量的作用域 192 6.10 示例學習:生成隨機字符 193 6.11 方法抽象和逐步求精 195 6.11.1 自頂向下的設計 196 6.11.2 自頂向下和自底向上的實現(xiàn) 197 6.11.3 實現(xiàn)細節(jié) 199 6.11.4 逐步求精的優(yōu)勢 201 關(guān)鍵術(shù)語 202 本章小結(jié) 202 測試題 203 編程練習題 203 第7章 一維數(shù)組 212 7.1 引言 212 7.2 數(shù)組的基礎知識 212 7.2.1 聲明數(shù)組變量 213 7.2.2 創(chuàng)建數(shù)組 213 7.2.3 數(shù)組大小和默認值 214 7.2.4 訪問數(shù)組元素 214 7.2.5 數(shù)組初始化簡寫方式 215 7.2.6 處理數(shù)組 215 7.2.7 foreach循環(huán) 217 7.3 示例學習:分析數(shù)字 219 7.4 示例學習:一副牌 220 7.5 復制數(shù)組 222 7.6 將數(shù)組傳遞給方法 223 7.7 方法返回數(shù)組 226 7.8 示例學習:統(tǒng)計每個字母出現(xiàn)的次數(shù) 226 7.9 可變長參數(shù)列表 230 7.10 數(shù)組的查找 230 7.10.1 線性查找法 231 7.10.2 二分查找法 231 7.11 數(shù)組的排序 234 7.12 Arrays類 235 7.13 命令行參數(shù) 237 7.13.1 向main方法傳遞字符串 237 7.13.2 示例學習:計算器 238 關(guān)鍵術(shù)語 239 本章小結(jié) 240 測試題 240 編程練習題 240 第8章 多維數(shù)組 248 8.1 引言 248 8.2 二維數(shù)組基礎 248 8.2.1 聲明二維數(shù)組變量并創(chuàng)建二維數(shù)組 249 8.2.2 獲取二維數(shù)組的長度 250 8.2.3 不規(guī)則數(shù)組 250 8.3 處理二維數(shù)組 251 8.4 將二維數(shù)組傳遞給方法 253 8.5 示例學習:多選題測驗評分 254 8.6 示例學習:找出距離最近的點對 255 8.7 示例學習:數(shù)獨 257 8.8 多維數(shù)組 260 8.8.1 示例學習:每日溫度和濕度 261 8.8.2 示例學習:猜生日 263 本章小結(jié) 264 測試題 264 編程練習題 264 第9章 對象和類 276 9.1 引言 276 9.2 為對象定義類 277 9.3 示例:定義類和創(chuàng)建對象 278 9.4 使用構(gòu)造方法構(gòu)造對象 283 9.5 通過引用變量訪問對象 284 9.5.1 引用變量和引用類型 284 9.5.2 訪問對象的數(shù)據(jù)和方法 285 9.5.3 引用數(shù)據(jù)域和null值 285 9.5.4 基本類型變量和引用類型變量的區(qū)別 286 9.6 使用Java庫中的類 288 9.6.1 Date類 288 9.6.2 Random類 289 9.6.3 Point2D類 289 9.7 靜態(tài)變量、常量和方法 291 9.8 可見性修飾符 296 9.9 數(shù)據(jù)域封裝 297 9.10 向方法傳遞對象參數(shù) 300 9.11 對象數(shù)組 303 9.12 不可變對象和類 305 9.13 變量的作用域 307 9.14 this引用 308 9.14.1 使用this引用數(shù)據(jù)域 308 9.14.2 使用this調(diào)用構(gòu)造方法 309 關(guān)鍵術(shù)語 310 本章小結(jié) 311 測試題 311 編程練習題 311 第10章 面向?qū)ο笏伎? 316 10.1 引言 316 10.2 類的抽象和封裝 316 10.3 面向?qū)ο蟮乃枷? 320 10.4 類的關(guān)系 322 10.4.1 關(guān)聯(lián) 323 10.4.2 聚集和組合 324 10.5 示例學習:設計Course類 325 10.6 示例學習:設計棧類 327 10.7 將基本數(shù)據(jù)類型值作為對象處理 329 10.8 基本類型和包裝類類型之間的自動轉(zhuǎn)換 332 10.9 BigInteger和BigDecimal類 333 10.10 String類 334 10.10.1 構(gòu)造字符串 335 10.10.2 不可變字符串與駐留字符串 335 10.10.3 替換和拆分字符串 336 10.10.4 使用模式匹配、替換和拆分 336 10.10.5 字符串與數(shù)組之間的轉(zhuǎn)換 337 10.10.6 將字符和數(shù)值轉(zhuǎn)換成字符串 338 10.10.7 格式化字符串 338 10.11 StringBuilder類和StringBuffer類 340 10.11.1 修改StringBuilder中的字符串 341 10.11.2 toString、capacity、length、setLength和charAt方法 343 10.11.3 示例學習:判斷回文串時忽略既非字母又非數(shù)字的字符 343 關(guān)鍵術(shù)語 346 本章小結(jié) 346 測試題 346 編程練習題 346 第11章 繼承和多態(tài) 354 11.1 引言 354 11.2 父類和子類 354 11.3 使用super關(guān)鍵字 360 11.3.1 調(diào)用父類的構(gòu)造方法 360 11.3.2 構(gòu)造方法鏈 361 11.3.3 調(diào)用父類的普通方法 362 11.4 方法重寫 363 11.5 方法重寫與重載 364 11.6 Object類及其toString()方法 366 11.7 多態(tài) 366 11.8 動態(tài)綁定 367 11.9 對象轉(zhuǎn)換和instanceof操作符 370 11.10 Object類的equals方法 374 11.11 ArrayList類 375 11.12 關(guān)于列表的一些有用方法 381 11.13 示例學習:自定義棧類 382 11.14 protected數(shù)據(jù)和方法 383 11.15 防止繼承和
你還可能感興趣
我要評論
|