關(guān)于我們
書單推薦
新書推薦
|
Java語言程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)(基礎(chǔ)篇)(原書第11版)
本書是Java語言的經(jīng)典教材,中文版分為基礎(chǔ)篇和進階篇,主要介紹程序設(shè)計基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計、GUI程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)和算法、高級Java程序設(shè)計等內(nèi)容。本書以示例講解解決問題的技巧,提供大量的程序清單,每章配有大量復(fù)習(xí)題和編程練習(xí)題,幫助讀者掌握編程技術(shù),并應(yīng)用所學(xué)技術(shù)解決實際應(yīng)用開發(fā)中遇到的問題;A(chǔ)篇主要介紹基本程序設(shè)計、語法結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計、繼承和多態(tài)、異常處理和文本I/O、抽象類和接口等內(nèi)容。
前 言Introduction to Java Programming and Data Structures, Comprehensive Version, Eleventh Edition許多讀者就本書之前的版本給出了很多反饋。這些評論和建議極大地改進了本書。這一版在表述、組織、示例、練習(xí)題以及附錄方面都有大幅提高。
本書采用基礎(chǔ)優(yōu)先的方法,在設(shè)計用戶自定義類之前,首先介紹基本的程序設(shè)計概念和技術(shù)。選擇語句、循環(huán)、方法和數(shù)組這樣的基本概念和技術(shù)是程序設(shè)計的基礎(chǔ),它們?yōu)閷W(xué)生進一步學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計和高級Java程序設(shè)計做好準備。 本書以問題驅(qū)動的方式來教授程序設(shè)計,將重點放在問題的解決而不是語法上。我們通過使用在各種應(yīng)用情景中引發(fā)思考的問題,使得程序設(shè)計的介紹變得更加有趣。前面章節(jié)的主線放在問題的解決上,引入合適的語法和庫以支持編寫解決問題的程序。為了支持以問題驅(qū)動的方式來教授程序設(shè)計,本書提供了大量不同難度的問題來激發(fā)學(xué)生的積極性。為了吸引各個專業(yè)的學(xué)生來學(xué)習(xí),這些問題涉及很多應(yīng)用領(lǐng)域,包括數(shù)學(xué)、科學(xué)、商業(yè)、金融、游戲、動畫以及多媒體等。 本書將程序設(shè)計、數(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),學(xué)生可以深入理解數(shù)據(jù)結(jié)構(gòu)的效率,以及如何和何時使用某種數(shù)據(jù)結(jié)構(gòu)。最后,我們設(shè)計和實現(xiàn)了針對樹和圖的用戶自定義數(shù)據(jù)結(jié)構(gòu)。 本書廣泛應(yīng)用于全球各大學(xué)的程序設(shè)計入門、數(shù)據(jù)結(jié)構(gòu)和算法課程中。完全版包括程序設(shè)計基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計、GUI程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、算法、并行、網(wǎng)絡(luò)、數(shù)據(jù)庫和Web程序設(shè)計。這個版本旨在把學(xué)生培養(yǎng)成精通Java的程序員;A(chǔ)篇可用于程序設(shè)計的第一門課程(通常稱為CS1);A(chǔ)篇包含完全版的前18章內(nèi)容,本書還有一個AP版本,適合學(xué)習(xí)AP計算機科學(xué)(AP Computer Science)課程的高中生使用。 教授編程的最好途徑是通過示例,而學(xué)習(xí)編程的唯一途徑是通過動手練習(xí)。本書通過示例對基本概念進行了講解,并提供了大量不同難度的練習(xí)題供學(xué)生進行練習(xí)。在我們的程序設(shè)計課程中,每次課后都布置了編程練習(xí)。 我們的目標是編寫一本可以通過各種應(yīng)用場景中的有趣示例來教授問題求解和程序設(shè)計的教材。如果您有任何關(guān)于如何改進本書的評論或建議,請給我發(fā)郵件。 Y. Daniel Liangy.daniel.liang@gmail.comwww.cs.armstrong.edu/liangwww.pearsonhighered.com/liangACM/IEEE課程體系2013版和ABET課程評價新的ACM/IEEE課程體系2013版將知識體系組織成18個知識領(lǐng)域。為了幫助教師基于本書設(shè)計課程,我們提供了示例教學(xué)大綱來確定知識領(lǐng)域和知識單元。作為一個常規(guī)的定制示例,示例教學(xué)大綱用于三學(xué)期的課程系列。示例教學(xué)大綱可以從教師資源配套網(wǎng)站獲取。 許多讀者來自ABET認證計劃。ABET認證的一個關(guān)鍵組成部分是,通過針對課程效果的持續(xù)的課程評價確定薄弱環(huán)節(jié)。我們在教師資源配套網(wǎng)站中提供了課程效果示例,以及用于衡量課程效果的示例考試。 本版新增內(nèi)容本版對各個細節(jié)都進行了全面修訂,以增強其清晰性、表述、內(nèi)容、示例和練習(xí)題。本版主要的改進如下: 書名改為了“Java語言程序設(shè)計與數(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版本中的新特征對示例和練習(xí)進行了改進和簡化。 在第13章的接口介紹中,引入了默認方法和靜態(tài)方法。 GUI相關(guān)章節(jié)都更新到JavaFX 8。改寫了所有示例。示例和練習(xí)中的用戶界面現(xiàn)在都是可以改變尺寸并且居中顯示的。 在第15章的示例中,涵蓋了內(nèi)部類、匿名內(nèi)部類以及l(fā)ambda表達式的內(nèi)容。 數(shù)據(jù)結(jié)構(gòu)相關(guān)章節(jié)中,更多的示例和練習(xí)采用了lambda表達式來簡化編程。方法引用在20.6節(jié)介紹Comparator接口時進行了介紹。 在第20章中介紹了forEach方法,作為對集合中每個元素應(yīng)用一個動作而進行的循環(huán)的簡單替代方法。 在第24~29章中,使用了Java 8中接口的默認方法重新設(shè)計和簡化了MyList、MyArrayList、MyLinkedList、Tree、BST、AVLTree、MyMap、MyHashMap、MySet、MyHashSet、Graph、UnweightedGraph和WeightedGraph的實現(xiàn)。 第30章為全新章節(jié),介紹集合流的聚合操作。 第31章介紹了FXML和Scene Builder可視化工具。 重新設(shè)計了配套網(wǎng)站,增加了新的交互式測試題、復(fù)習(xí)題、動畫以及現(xiàn)場編程。 在教師資源網(wǎng)站上為教師額外提供了200多道編程練習(xí)題,并給出了答案。這些練習(xí)題沒有出現(xiàn)在教材中。 可以訪問www.pearsonhighered.com/liang,獲得和前一版本的關(guān)聯(lián)以及新特征的完整列表。 教學(xué)特色本書使用以下要素組織素材: 教學(xué)目標:在每章開始列出學(xué)生學(xué)習(xí)本章應(yīng)該掌握的內(nèi)容,學(xué)完這章后,學(xué)生能夠判斷自己是否達到這個目標。 引言:提出引發(fā)思考的問題以展開討論,激發(fā)讀者深入探討該章內(nèi)容。 要點提示:突出每節(jié)中涵蓋的重要概念。 復(fù)習(xí)題:按節(jié)組織,幫助學(xué)生復(fù)習(xí)相關(guān)內(nèi)容并評估掌握的程度。 示例學(xué)習(xí):通過精心挑選示例,以容易理解的方式教授問題求解和程序設(shè)計概念。本書使用多個小的、簡單的、激發(fā)興趣的例子來演示重要的概念。 本章小結(jié):回顧學(xué)生應(yīng)該理解和記住的重要主題,有助于鞏固該章所學(xué)的關(guān)鍵概念。 測試題:可以在線訪問,按照章節(jié)組織,讓學(xué)生可以就編程概念和技術(shù)進行自我測試。 編程練習(xí)題:按章節(jié)組織,為學(xué)生提供獨立應(yīng)用所學(xué)新技能的機會。練習(xí)題的難度分為容易(沒有星號)、適度(*)、難(**)和具有挑戰(zhàn)性(***)四個級別。學(xué)習(xí)程序設(shè)計的竅門就是實踐、實踐、再實踐。所以,本書提供了大量的編程練習(xí)題。另外,在教師資源網(wǎng)站上為教師提供了200多道帶有答案的編程練習(xí)題。 注意、提示、警告和設(shè)計指南:貫穿全書,對程序開發(fā)的重要方面提供有價值的建議和見解。 注意:提供學(xué)習(xí)主題的附加信息,鞏固重要概念。 提示:教授良好的程序設(shè)計風(fēng)格和實踐經(jīng)驗。 警告:幫助學(xué)生避開程序設(shè)計錯誤的誤區(qū)。 設(shè)計指南:提供設(shè)計程序的指南。 靈活的章節(jié)順序本書提供靈活的章節(jié)順序,使GUI、異常處理、遞歸、泛型和Java集合框架等內(nèi)容可以或早或晚地講解。下頁的插圖顯示了各章之間的相關(guān)性。 本書的組織所有的章節(jié)分為五部分,構(gòu)成Java程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)和算法、數(shù)據(jù)庫和Web程序設(shè)計的全面介紹。書中知識是循序漸進的,前面的章節(jié)介紹了程序設(shè)計的基本概念,并且通過簡單的例子和練習(xí)題引導(dǎo)學(xué)生;后續(xù)的章節(jié)逐步詳細地介紹Java程序設(shè)計,最后介紹開發(fā)綜合的Java應(yīng)用程序。附錄包含數(shù)系、位操作、正則表達式以及枚舉類型等多種主題。 第一部分 程序設(shè)計基礎(chǔ)(第1~8章)本書第一部分是基石,讓你開始踏上Java學(xué)習(xí)之旅。你將了解Java(第1章),還將學(xué)習(xí)像基本數(shù)據(jù)類型、變量、常量、賦值、表達式以及操作符這樣的基本程序設(shè)計技術(shù)(第2章),選擇語句(第3章),數(shù)學(xué)函數(shù)、字符和字符串(第4章),循環(huán)(第5章),方法(第6章),數(shù)組(第7和8章)。在第7章之后,可以跳到第18章去學(xué)習(xí)如何編寫遞歸的方法來解決本身具有遞歸特性的問題。 第二部分 面向?qū)ο蟪绦蛟O(shè)計(第9~13章和第17章)這一部分介紹面向?qū)ο蟪绦蛟O(shè)計。Java是一種面向?qū)ο蟪绦蛟O(shè)計語言,它使用抽象、封裝、繼承和多態(tài)來提供開發(fā)軟件的極大靈活性、模塊化和可重用性。你將學(xué)習(xí)如何使用對象和類(第9和10章)、類的繼承(第11章)、多態(tài)性(第11章)、異常處理(第12章)、抽象類(第13章)以及接口(第13章)進行程序設(shè)計。文本I/O將在第12章介紹,二進制I/O將在第17章介紹。 第三部分 GUI程序設(shè)計(第14~16章和獎勵章節(jié)第31章)JavaFX是一個開發(fā)Java GUI程序的新框架。它不僅對于開發(fā)GUI程序有用,還是一個用于學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計的優(yōu)秀教學(xué)工具。這一部分在第14~16章介紹使用JavaFX進行Java GUI程序設(shè)計。主要的主題包括GUI基礎(chǔ)(第14章)、容器面板(第14章)、繪制形狀(第14章)、事件驅(qū)動編程(第15章)、動畫(第15章)、GUI組件(第16章),以及播放音頻和視頻(第16章)。你將學(xué)習(xí)采用JavaFX的GUI程序架構(gòu),并且使用組件、形狀、面板、圖像和視頻來開發(fā)有用的應(yīng)用程序。第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章討論算法效率的度量以便為應(yīng)用程序選擇合適的算法。第23章介紹經(jīng)典的排序算法。你將在第24章中學(xué)到如何實現(xiàn)經(jīng)典的數(shù)據(jù)結(jié)構(gòu),如線性表、隊列和優(yōu)先隊列。第25和26章介紹二分查找樹和AVL樹。第27章介紹散列以及通過散列實現(xiàn)映射(map)和集合(set)。第28和29章介紹圖的應(yīng)用。第30章介紹用于集合流的聚合操作。2-4樹、B樹以及紅黑樹在獎勵章節(jié)第42和43章中介紹。 第五部分 高級Java程序設(shè)計(獎勵章節(jié)第32~41章和第44章)這一部分介紹高級Java程序設(shè)計。第32章介紹使用多線程使程序具有更好的響應(yīng)性和交互性,并介紹并行編程。第33章討論如何編寫程序使得Internet上的不同主機能夠相互對話。第34章介紹使用Java來開發(fā)數(shù)據(jù)庫項目。第35章深入探討高級Java數(shù)據(jù)庫編程。第36章涵蓋國際化支持的使用,以開發(fā)面向全球使用者的項目。第37和38章介紹如何使用Java servlet和JSP創(chuàng)建來自Web服務(wù)器的動態(tài)內(nèi)容。第39章介紹使用JSF進行現(xiàn)代Web應(yīng)用開發(fā)。第40章介紹遠程方法調(diào)用,而第41章討論Web服務(wù)。第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)為阿姆斯特朗亞特蘭大州立大學(xué)計算機科學(xué)系教授。之前曾是普度大學(xué)計算機科學(xué)系副教授,并曾兩次獲得普度大學(xué)杰出研究獎。他所編寫的Java教程在美國大學(xué)Java課程中采用率極高,同時他還兼任Prentice Hall Java系列叢書的編輯。他是“Java Champion”榮譽得主,并在世界各地給在校學(xué)生和程序員做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 存儲設(shè)備 4 1.2.5 輸入和輸出設(shè)備 4 1.2.6 通信設(shè)備 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 程序設(shè)計風(fēng)格和文檔 16 1.9.1 正確的注釋和注釋風(fēng)格 16 1.9.2 正確的縮進和空白 16 1.9.3 塊的風(fēng)格 17 1.10 程序設(shè)計錯誤 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 編程練習(xí)題 27 第2章 基本程序設(shè)計 29 2.1 引言 29 2.2 編寫簡單的程序 29 2.3 從控制臺讀取輸入 32 2.4 標識符 35 2.5 變量 35 2.6 賦值語句和賦值表達式 37 2.7 命名常量 38 2.8 命名習(xí)慣 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 科學(xué)記數(shù)法 44 2.11 表達式求值以及操作符優(yōu)先級 44 2.12 示例學(xué)習(xí):顯示當(dāng)前時間 45 2.13 增強賦值操作符 47 2.14 自增和自減操作符 48 2.15 數(shù)值類型轉(zhuǎn)換 50 2.16 軟件開發(fā)過程 52 2.17 示例學(xué)習(xí):整錢兌零 55 2.18 常見錯誤和陷阱 57 關(guān)鍵術(shù)語 59 本章小結(jié) 60 測試題 60 編程練習(xí)題 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 示例學(xué)習(xí):計算身體質(zhì)量指數(shù) 77 3.9 示例學(xué)習(xí):計算稅率 78 3.10 邏輯操作符 81 3.11 示例學(xué)習(xí):判定閏年 84 3.12 示例學(xué)習(xí):彩票 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 編程練習(xí)題 94 第4章 數(shù)學(xué)函數(shù)、字符和字符串 102 4.1 引言 102 4.2 常用數(shù)學(xué)函數(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 示例學(xué)習(xí):計算三角形的角度 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 示例學(xué)習(xí) 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 編程練習(xí)題 130 第5章 循環(huán) 136 5.1 引言 136 5.2 while循環(huán) 137 5.3 示例學(xué)習(xí):猜數(shù)字 139 5.4 循環(huán)設(shè)計策略 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 示例學(xué)習(xí) 156 5.11.1 求最大公約數(shù) 156 5.11.2 預(yù)測未來學(xué)費 158 5.11.3 將十進制數(shù)轉(zhuǎn)換為十六進制數(shù) 158 5.12 關(guān)鍵字break和continue 160 5.13 示例學(xué)習(xí):判斷回文 163 5.14 示例學(xué)習(xí):顯示素數(shù) 164 關(guān)鍵術(shù)語 167 本章小結(jié) 167 測試題 167 編程練習(xí)題 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 示例學(xué)習(xí):將十六進制數(shù)轉(zhuǎn)換為十進制數(shù) 188 6.8 重載方法 190 6.9 變量的作用域 192 6.10 示例學(xué)習(xí):生成隨機字符 193 6.11 方法抽象和逐步求精 195 6.11.1 自頂向下的設(shè)計 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 編程練習(xí)題 203 第7章 一維數(shù)組 212 7.1 引言 212 7.2 數(shù)組的基礎(chǔ)知識 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 示例學(xué)習(xí):分析數(shù)字 219 7.4 示例學(xué)習(xí):一副牌 220 7.5 復(fù)制數(shù)組 222 7.6 將數(shù)組傳遞給方法 223 7.7 方法返回數(shù)組 226 7.8 示例學(xué)習(xí):統(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 示例學(xué)習(xí):計算器 238 關(guān)鍵術(shù)語 239 本章小結(jié) 240 測試題 240 編程練習(xí)題 240 第8章 多維數(shù)組 248 8.1 引言 248 8.2 二維數(shù)組基礎(chǔ) 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 示例學(xué)習(xí):多選題測驗評分 254 8.6 示例學(xué)習(xí):找出距離最近的點對 255 8.7 示例學(xué)習(xí):數(shù)獨 257 8.8 多維數(shù)組 260 8.8.1 示例學(xué)習(xí):每日溫度和濕度 261 8.8.2 示例學(xué)習(xí):猜生日 263 本章小結(jié) 264 測試題 264 編程練習(xí)題 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 編程練習(xí)題 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 示例學(xué)習(xí):設(shè)計Course類 325 10.6 示例學(xué)習(xí):設(shè)計棧類 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 示例學(xué)習(xí):判斷回文串時忽略既非字母又非數(shù)字的字符 343 關(guān)鍵術(shù)語 346 本章小結(jié) 346 測試題 346 編程練習(xí)題 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 示例學(xué)習(xí):自定義棧類 382 11.14 protected數(shù)據(jù)和方法 383 11.15 防止繼承和
你還可能感興趣
我要評論
|