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

Java面向?qū)ο蟪绦蛟O(shè)計(jì)

Java面向?qū)ο蟪绦蛟O(shè)計(jì)

定 價(jià):¥69.00

作 者: (美)Ralph Morelli著;董永樂(lè)等譯;董永樂(lè)譯
出版社: 電子工業(yè)出版社
叢編項(xiàng): 國(guó)外計(jì)算機(jī)科學(xué)教材系列
標(biāo) 簽: Java

ISBN: 9787505399204 出版時(shí)間: 2004-09-01 包裝: 膠版紙
開本: 26cm 頁(yè)數(shù): 725 字?jǐn)?shù):  

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

  本書從解決實(shí)際問(wèn)題的角度講解Java面向?qū)ο蟪绦蛟O(shè)計(jì),提供了健壯而靈活的問(wèn)題求解方式,有助于讀者了解對(duì)象的抽象原則,掌握對(duì)象的交互概念以及各種方法的使用。書中首先采用"從對(duì)象開始"的方式引導(dǎo)讀者,在引入大多數(shù)程序設(shè)計(jì)基本特性和結(jié)構(gòu)化程序設(shè)計(jì)概念之前,先介紹設(shè)計(jì)對(duì)象和方法的基礎(chǔ)知識(shí)。本書重點(diǎn)關(guān)注問(wèn)題分解和問(wèn)題設(shè)計(jì),并采用了分而治之和逐步求精的原則。這種方式與大量的習(xí)題以及實(shí)驗(yàn)題相結(jié)合,為讀者提供了理論與實(shí)踐的最佳結(jié)合方案。另外,書中也講解了Java高級(jí)特性,如GUI組件(AWT和Swing)、異常、線程、文件和套接字等。全書的組織風(fēng)格便于教師根據(jù)初學(xué)者的接受能力和課時(shí)安排選講適當(dāng)?shù)母呒?jí)主題。本書適合作為高等院校計(jì)算機(jī)專業(yè)或相關(guān)專業(yè)的Java程序設(shè)計(jì)或面向?qū)ο蟪绦蛟O(shè)計(jì)課程的教材,也非常適合專業(yè)技術(shù)人員作為參考書。譯者序任何程序員都應(yīng)該熟悉Java,無(wú)論你曾經(jīng)是一位系統(tǒng)程序設(shè)計(jì)大師,還是一位擅長(zhǎng)快速原型法的數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)師,或者僅僅是一位剛剛踏入程序設(shè)計(jì)之門的初級(jí)程序員。從最初為嵌入式程序而設(shè)計(jì)的語(yǔ)言到現(xiàn)在特別適合Internet程序設(shè)計(jì)的語(yǔ)言,Java已經(jīng)不可逆轉(zhuǎn)地成為Internet時(shí)代的主流程序設(shè)計(jì)語(yǔ)言之一。本書最令人心動(dòng)之處莫過(guò)于它能給不同的程序員從不同的角度提供幫助。本書沒(méi)有對(duì)讀者做任何不合理的假定,而是盡量適合幾類讀者:初學(xué)編程的新手、C/C++程序員以及其他各種偉大或者平凡的語(yǔ)言的使用者。正因?yàn)槿绱?,本書非常適合作為一本入門教材。作者把極為廣博的知識(shí)融入本書,為讀者學(xué)習(xí)Java提供了全面而且實(shí)用的指導(dǎo)。在強(qiáng)調(diào)面向?qū)ο蟮耐瑫r(shí)并沒(méi)有忽視語(yǔ)言細(xì)節(jié),通過(guò)各種重要提示反復(fù)提醒讀者應(yīng)該注意的內(nèi)容,包括語(yǔ)法、語(yǔ)義、調(diào)試和測(cè)試等。另外,每章的Java語(yǔ)言小結(jié)、Java庫(kù)類、實(shí)驗(yàn)課、自測(cè)題以及習(xí)題,都有助于讀者在學(xué)習(xí)過(guò)程中鞏固知識(shí)并提高實(shí)際編程能力。"從對(duì)象開始"使本書免于俗套。確實(shí),它能讓一個(gè)初學(xué)程序設(shè)計(jì)的新手很快對(duì)面向?qū)ο筮@個(gè)激動(dòng)人心的概念有一個(gè)總體印象。這也是許多C程序員在轉(zhuǎn)向C++時(shí)難過(guò)的一關(guān)。C++最大的優(yōu)點(diǎn)在于它既可以是面向?qū)ο蟮?,也可以是面向過(guò)程的。初看起來(lái),C++提供了從面向過(guò)程到面向?qū)ο蟮钠交^(guò)渡,但也正是因?yàn)檫@一點(diǎn),許多C程序員學(xué)習(xí)C++或者用C++編程達(dá)半年以上卻仍然未能清楚地理解"面向?qū)ο?quot;的真實(shí)內(nèi)涵。本書在深入Java語(yǔ)言的語(yǔ)法與語(yǔ)義細(xì)節(jié)之前用盡可能淺顯的語(yǔ)言和例子清晰而形象地向讀者展現(xiàn)了面向?qū)ο蟮母拍睿棺x者在尚未真正開始學(xué)習(xí)Java之前就能對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)有鮮明的感性認(rèn)識(shí)。而本書的后續(xù)內(nèi)容也一直不遺余力地不斷強(qiáng)化面向?qū)ο蟪绦蛟O(shè)計(jì)中的各個(gè)關(guān)鍵主題。學(xué)完本書,讀者真正能夠達(dá)到一個(gè)目標(biāo):學(xué)會(huì)用Java進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)。本書的另一新穎之處是有配套的Web站點(diǎn)www.prenhall.com/morelli/,其中包括教學(xué)的輔助資源以及本書的代碼下載。另外,在書中文字以及代碼例子中多處涉及了http://starbase.trincoll.edu/,即作者所在的TrinityCollege的網(wǎng)站,從這里同樣可以瀏覽或下載本書的代碼。但是,譯者嘗試后發(fā)現(xiàn),可能由于網(wǎng)站內(nèi)容的調(diào)整,個(gè)別代碼或鏈接可能會(huì)失效。如果出現(xiàn)這種情況,請(qǐng)嘗試采用http://starbase.cs.trincoll.edu/。本書前言、第0章到第9章由董永樂(lè)翻譯,第10章到第16章由陳康與繆國(guó)往初譯,附錄由吳嫣翻譯。陳渝老師修改了初譯稿并對(duì)全書內(nèi)容進(jìn)行了整理和統(tǒng)校,段海新、錢芳、于潔閱讀了譯稿并提出了寶貴的修改意見。張少華、姜進(jìn)磊、許超、楊武勇、錢俊、張力也參予了翻譯工作,在此一并表示感謝。限于譯者水平,譯文中的疏漏和錯(cuò)誤在所難免,歡迎讀者批評(píng)指正。前言本書讀者對(duì)象本書覆蓋的內(nèi)容和采用的講解方式適用于典型的計(jì)算機(jī)科學(xué)入門(CS1)課程,或者內(nèi)容稍深的Java語(yǔ)言課程。本書也非常適用于那些轉(zhuǎn)向Java與面向?qū)ο缶幊痰膶I(yè)程序員。本書采用一種"從對(duì)象開始"的方法講述編程與問(wèn)題求解,既不要求讀者有任何編程經(jīng)驗(yàn),也不需要讀者事先具備任何Java或面向?qū)ο缶幊痰闹R(shí)。第二版的新增內(nèi)容本書第二版在如下方面有重大改進(jìn):●統(tǒng)一建模語(yǔ)言(UML)。UML框圖貫穿全書,以幫助闡述面向?qū)ο蟮母拍?,描述我們開發(fā)的Java程序的設(shè)計(jì)過(guò)程。第一版中的許多流程圖現(xiàn)在已經(jīng)用UML框圖代替了,同時(shí)添加了很多新的UML框圖。UML正在迅速發(fā)展成為設(shè)計(jì)面向?qū)ο蟪绦虻臉I(yè)界標(biāo)準(zhǔn),所以熟悉它會(huì)非常有用。但是,使用UML的主要原因還是出于教學(xué)上的考慮,這樣更容易介紹和講授信息隱藏、繼承以及多態(tài)性等面向?qū)ο蟮母拍??!駨?qiáng)調(diào)面向?qū)ο笤O(shè)計(jì)。第二版更多地強(qiáng)調(diào)了面向?qū)ο笤O(shè)計(jì),這種變化大部分體現(xiàn)在開發(fā)書中涉及的例子的過(guò)程中。重新編寫了許多編程例子,以便在深入Java編碼細(xì)節(jié)之前重點(diǎn)關(guān)注設(shè)計(jì)。使用UML框圖有助于采用這種方式。●改變了內(nèi)容的組織結(jié)構(gòu)。根據(jù)前一版的評(píng)閱者和用戶的建議,本書有幾章的內(nèi)容進(jìn)行了調(diào)整。前兩章進(jìn)行了大幅度改寫。第0章現(xiàn)在提供了更詳細(xì)的面向?qū)ο蟮母攀?,并且介紹了UML的主要特點(diǎn),這樣有助于在深入討論Java的面向?qū)ο髮?shí)現(xiàn)之前給學(xué)生以正確的方向指導(dǎo)。為了強(qiáng)調(diào)設(shè)計(jì)相對(duì)于編碼的重要性,第1章在介紹Java代碼之前重點(diǎn)講述程序設(shè)計(jì)與開發(fā)。這一章中還包括了對(duì)基本的Java語(yǔ)言特性的簡(jiǎn)要概述。這樣,學(xué)生們?cè)陂_始學(xué)習(xí)具體的Java例子之前就有了很好的總體認(rèn)識(shí)。關(guān)于Java語(yǔ)言要素的組織,本書把switch語(yǔ)句的討論移到了第3章,與其他的選擇控制結(jié)構(gòu)一起討論。本書還改寫了第11章,以便在課程中更早、更容易地使用它。為什么從對(duì)象開始本書從對(duì)象開始講授Java,早一些給初學(xué)者總體印象,讓他們有更多的時(shí)間來(lái)掌握面向?qū)ο缶幊痰脑?。我第一次在CS1課程中講授Java時(shí),使用的是講授C和C++時(shí)所用的方法,即從基本的語(yǔ)言特性和結(jié)構(gòu)化編程的概念開始,然后在課程中期的某個(gè)時(shí)候開始介紹面向?qū)ο?。這種方法是大家都很熟悉的,因?yàn)榇蠖鄶?shù)Java與C++教材都使用這種方法。這種方法的一個(gè)問(wèn)題是很多學(xué)生都得不到一個(gè)總體印象。他們能弄清楚循環(huán)、if-else結(jié)構(gòu)以及算術(shù)表達(dá)式,但很難把一個(gè)編程問(wèn)題分解成結(jié)構(gòu)良好的Java程序。另外,這種過(guò)程化的方法似乎無(wú)法利用Java面向?qū)ο蟮膹?qiáng)大功能的優(yōu)勢(shì)。如果要用對(duì)待C或者Pascal的方式來(lái)對(duì)待它,那么為什么還要講授面向?qū)ο蟮恼Z(yǔ)言呢?這樣也使我想起來(lái)當(dāng)Pascal是流行的CS1課程時(shí)的相似情況。當(dāng)時(shí),初學(xué)者最大的障礙就是過(guò)程抽象,即學(xué)習(xí)過(guò)程調(diào)用與參數(shù)傳遞的基本機(jī)制,學(xué)習(xí)如何將程序設(shè)計(jì)成一系列過(guò)程的集合。"Oh!Pascal!"是我最喜歡的入門書籍,該書采用的就是典型的"從過(guò)程開始"的方式。在第1章中講述了賦值與I/O結(jié)構(gòu)之后,緊接著就在第2章中講述過(guò)程與參數(shù)。然后,第3章開始講述程序設(shè)計(jì)與組織方式。直到第4章及以后才開始講述循環(huán)、if-else以及其他結(jié)構(gòu)化編程的概念。現(xiàn)在,初學(xué)者的主要障礙在于"對(duì)象抽象"。新手程序員必須能把程序看成多個(gè)相互作用的對(duì)象的集合,而且必須學(xué)會(huì)如何將編程問(wèn)題分解成多個(gè)設(shè)計(jì)良好的對(duì)象。面向?qū)ο笸瑫r(shí)包容了來(lái)自Pascal時(shí)代的過(guò)程抽象與結(jié)構(gòu)化編程的概念。"從對(duì)象開始"的講授方式自頂向下講清楚了這3個(gè)重要的概念。越早介紹對(duì)象和類,學(xué)生越能更好地掌握面向?qū)ο蟮闹匾瓌t。面向?qū)ο螅∣O)是一種基本的問(wèn)題求解與設(shè)計(jì)的概念,而不僅僅是另一個(gè)應(yīng)該歸入教材(或課程)的中后期的語(yǔ)言細(xì)節(jié)。如果很晚才介紹OO的概念,就非常容易在課程進(jìn)度緊張時(shí)將其略過(guò)。Java是一種非常適合介紹面向?qū)ο蟾拍畹恼Z(yǔ)言。它的對(duì)象模型比C++組織得更好。在C++中,很容易繞過(guò)OO的特點(diǎn)并把它當(dāng)成C來(lái)對(duì)待。在Java中,有很好的機(jī)會(huì)來(lái)激發(fā)關(guān)于面向?qū)ο蟮挠懻?。例如,幾乎不可能不討論繼承和多態(tài)性就討論Applet。這樣,教師可以用Java的某些基本特點(diǎn),如Applet,類庫(kù)和GUI組件,自然而然地引發(fā)這些討論,而不必另外準(zhǔn)備一些使用OO概念的例子。主要特點(diǎn)除了"從對(duì)象開始"的方法之外,本書還有其他幾個(gè)重要特點(diǎn):●統(tǒng)一建模語(yǔ)言(UML)框圖。200多個(gè)UML框圖貫穿全書,用于解釋面向?qū)ο蟮母拍睿⒅攸c(diǎn)關(guān)注面向?qū)ο笤O(shè)計(jì)。使用UML框圖有如下幾方面的優(yōu)勢(shì)。首先,UML框圖提供了一個(gè)簡(jiǎn)要描述類和對(duì)象的主要特性的可視化方式。讀者很容易看到一個(gè)對(duì)象的屬性和方法,它們是私有的還是公共的,這個(gè)類或?qū)ο笈c其他的類之間的關(guān)系是什么。第二,UML框圖為重要的面向?qū)ο蟾拍睿ㄈ缋^承和多態(tài)性)提供了簡(jiǎn)單的圖形模型。一幅圖可以替代許多文字,所以除了文字描述之外,UML框圖有助于學(xué)生們理解這些重要的概念。第三,就其在本書中的使用目的而言,UML理解起來(lái)相對(duì)容易一些并且非常直觀。第0章中用淺顯易懂的例子介紹了基本的標(biāo)記法。最后,UML正在迅速成為業(yè)界標(biāo)準(zhǔn)。所以,通過(guò)本書熟悉UML可以更好地讀懂其他關(guān)于Java與面向?qū)ο笤O(shè)計(jì)的書籍?!馛yberPet例子。CyberPet類貫穿全書,作為一個(gè)能夠運(yùn)行的例子來(lái)闡述并加強(qiáng)重要的概念。CyberPet在第2章中以一種擬人的方式展示了對(duì)象的基本特征。每個(gè)CyberPet屬于一個(gè)類(定義),有某個(gè)狀態(tài)(實(shí)例變量),能夠執(zhí)行類似吃和睡(實(shí)例方法)這樣的行為。方法調(diào)用用于命令CyberPet吃和睡。在第3章中,著重講解了定義和使用方法與參數(shù),與CyberPet進(jìn)行通信。在后續(xù)章節(jié)中,通過(guò)CyberPet闡述了繼承、隨機(jī)性、動(dòng)畫和線程等概念。一些實(shí)驗(yàn)和編程練習(xí)也在豐富CyberPet的行為并使之更加復(fù)雜?!馎pplet與GUI。Applet與GUI在第4章中首次引入,并在后續(xù)章節(jié)中一直使用。顯然,Applet是學(xué)生入門的誘餌并且可以作為一種很好的激勵(lì)因素。另外,事件驅(qū)動(dòng)編程(event-drivenprogramming)與圖形用戶界面(GUI)是學(xué)生們應(yīng)該在CS1課程中學(xué)習(xí)的。我們?cè)缫堰^(guò)了那個(gè)把命令行界面作為設(shè)計(jì)應(yīng)用程序的標(biāo)準(zhǔn)的時(shí)代。JavaApplet的另一個(gè)優(yōu)勢(shì)是它們從根本上講是面向?qū)ο蟮?。要想全部掌握Applet,學(xué)生們需要理解基本的OO概念,這也正是直到第4章才講授Applet的原因。第4章中以一種很好的方式促進(jìn)了關(guān)于繼承與多態(tài)性的討論?!衽涮譝eb站點(diǎn)。本書設(shè)計(jì)成和一個(gè)包括許多有用資源的配套Web站點(diǎn)配合使用。這些資源包括書中所有例子的Java代碼和Java文檔(HTML格式),補(bǔ)充的實(shí)驗(yàn)與編程作業(yè),自動(dòng)評(píng)分的在線測(cè)驗(yàn)以及PowerPoint教案(部分資源為收費(fèi)使用:編者注)。關(guān)于提供給教師的輔助教學(xué)資源,詳見本書末尾的"教學(xué)支持說(shuō)明"?!駟?wèn)題求解方法。全書采用問(wèn)題求解教學(xué)方法,共有13個(gè)完整地開發(fā)好的"實(shí)例分析",以及其他用于闡述這種問(wèn)題求解過(guò)程的大量例子。●自測(cè)題。全書包括200多個(gè)自測(cè)題,答案在每章最后給出(位于章末習(xí)題之前)?!裾履┝?xí)題。全書一共提供了400多個(gè)章末習(xí)題,其中還有很多標(biāo)明為"難題"。采用本書作為教材的教師可以得到包含習(xí)題答案的教師手冊(cè)(詳見本書末尾的"教學(xué)支持說(shuō)明")?!窬幊獭⒄{(diào)試與設(shè)計(jì)技巧。本書包含了近400個(gè)單獨(dú)標(biāo)記的"技巧"(編程技巧、調(diào)試技巧、高效設(shè)計(jì)原則以及Java語(yǔ)言規(guī)則),言簡(jiǎn)意賅地給出了關(guān)于編程與設(shè)計(jì)的有用信息?!?quot;實(shí)驗(yàn)課"小節(jié)。從第1章開始,每一章都包含實(shí)驗(yàn)課內(nèi)容,非常適合有實(shí)驗(yàn)環(huán)節(jié)的CS1課程。對(duì)于那些沒(méi)有實(shí)驗(yàn)環(huán)節(jié)的CS1課程,這些小節(jié)也可以用于準(zhǔn)備編程作業(yè),作為課堂上的演示或者作為其他形式的實(shí)踐作業(yè)。書中的每個(gè)實(shí)驗(yàn)在配套的Web站點(diǎn)上都有補(bǔ)充資源和講義,還提供了可供選用的實(shí)驗(yàn)作業(yè)。●"Java庫(kù)類"小節(jié)。從第1章開始,每一章都介紹了一個(gè)或多個(gè)來(lái)自JavaAPI(ApplicationProgrammingInterface)的庫(kù)類。在前面的幾章中,這些小節(jié)用來(lái)介紹編寫簡(jiǎn)單程序所需的工具,如I/O類與方法。在后面的幾章中,一些小節(jié)用來(lái)介紹有用的選讀內(nèi)容,如用于格式化數(shù)字輸出的NumberFormat類,另外一些用來(lái)介紹程序例子和實(shí)驗(yàn)課中涉及的基本GUI組件?!?quot;面向?qū)ο笤O(shè)計(jì)"小節(jié)。從第1章開始,每一章都有一個(gè)關(guān)于面向?qū)ο笤O(shè)計(jì)的小節(jié),強(qiáng)調(diào)并詳述繼承、多態(tài)性與信息隱藏之類的重要概念。表1為那些希望強(qiáng)調(diào)面向?qū)ο笤O(shè)計(jì)的教師提供了應(yīng)該講授的章節(jié)的清單。●"Java語(yǔ)言小結(jié)"小節(jié)。介紹語(yǔ)言特性的幾章中都包含了這個(gè)小節(jié),以總結(jié)這些語(yǔ)言特性的基本語(yǔ)法和語(yǔ)義。表1有關(guān)面向?qū)ο蟮恼鹿?jié)主題章節(jié)什么是面向?qū)ο?.7節(jié)UML概述0.8節(jié)面向?qū)ο蟮脑O(shè)計(jì)過(guò)程1.2節(jié)對(duì)象:定義、創(chuàng)建和使用第2章方法:與對(duì)象通信第3章繼承:toString()方法第3章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)Applet中的繼承與多態(tài)性4.2節(jié)至4.4節(jié)繼承與多態(tài)性:ToggleButton第4章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)信息隱藏第5章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)結(jié)構(gòu)化編程概念第6章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)抽象類:Cipher第7章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)多態(tài)性:多態(tài)排序第8章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)(續(xù)表)主題章節(jié)模型-視圖-控制器架構(gòu)第9章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)繼承與多態(tài)性:Spider/Fly類13.6節(jié)通用Client/Server類15.7節(jié)抽象數(shù)據(jù)類型:List類第16章,"面向?qū)ο笤O(shè)計(jì)"小節(jié)內(nèi)容組織從總體上講,全書可以劃分成三個(gè)部分。第一部分(第0章到第4章)介紹面向?qū)ο蟮幕靖拍睿▽?duì)象、類、方法、參數(shù)傳遞、信息隱藏、繼承以及多態(tài)性。雖然這幾章的重點(diǎn)在于面向?qū)ο蠖荍ava的語(yǔ)言細(xì)節(jié),但也都包含"Java語(yǔ)言小結(jié)"小節(jié),總結(jié)了涉及到的語(yǔ)言要素。在第1章至第3章中,給學(xué)生提供了從最初的想法構(gòu)造Java程序的基本程序塊。雖然就控制結(jié)構(gòu)與數(shù)據(jù)類型而言,在這個(gè)階段的程序功能很有限,但其重點(diǎn)在于如何構(gòu)造對(duì)象,以及如何通過(guò)方法調(diào)用和參數(shù)傳遞與其他對(duì)象交互。第二部分(第5章到第8章)重點(diǎn)關(guān)注其余語(yǔ)言要素,包括數(shù)據(jù)類型和操作符(見第5章)、控制結(jié)構(gòu)(見第6章)、字符串(見第7章)和數(shù)組(見第8章)。當(dāng)學(xué)生們理解了面向?qū)ο蟪绦虻幕窘Y(jié)構(gòu)與框架之后,講授這些語(yǔ)言特點(diǎn)相對(duì)而言會(huì)容易一些。第三部分(第9章到第16章)講解了各種高級(jí)內(nèi)容,包括圖形用戶界面(見第9章)、圖形(見第10章)、異常(見第11章)、遞歸(見第12章)、線程(見第13章)、文件(見第14章)、套接字和網(wǎng)絡(luò)(見第15章)以及數(shù)據(jù)結(jié)構(gòu)(見第16章)。教師可以根據(jù)學(xué)生的興趣有選擇地講解這幾章的內(nèi)容。表2中的課程提綱取材于作者的一學(xué)期CS1課程(一學(xué)期為13周,加上一個(gè)不上課的閱讀周)。表2一學(xué)期的課程安排周主題章1面向?qū)ο?,UML第0章程序設(shè)計(jì)與開發(fā)第1章2~4對(duì)象和類定義第2章方法和參數(shù)第3章選擇結(jié)構(gòu)(if-else)5Applet編程第4章繼承6數(shù)據(jù)類型與操作符第5章7~8控制結(jié)構(gòu)(循環(huán))第6章結(jié)構(gòu)化編程9字符串處理(循環(huán))第7章10數(shù)組處理第8章11遞歸第12章12高級(jí)內(nèi)容(GUI)第9章13高級(jí)內(nèi)容(異常)第11章高級(jí)內(nèi)容(線程)第13章注意,這幾章高級(jí)內(nèi)容并不需要按順序講解。遞歸(見第12章)可以和循環(huán)(見第6章)一起講,甚至可以在循環(huán)之前講。遞歸這一章包括一些使用字符串、數(shù)組和繪制算法(分形)的例子,以及一些標(biāo)準(zhǔn)數(shù)值算法(階乘)的例子。講解遞歸的另一種方法是和字符串(見第7章)、數(shù)組(見第8章)以及圖形(見第10章)一起討論,這樣就可以同時(shí)講解遞歸和循環(huán)迭代。異常(見第11章)也可以早一些講。這一章的前幾節(jié)中的例子使用了簡(jiǎn)單的算術(shù)運(yùn)算符和基本的for循環(huán)。如果單獨(dú)介紹這些語(yǔ)言要素,可以緊接在第3章之后講解異常。在有關(guān)高級(jí)內(nèi)容的那幾章中,有些例子用到了Applet(見第4章)和GUI(見第9章),所以這些章節(jié)在第10章(關(guān)于圖形)、第13章(關(guān)于線程)、第14章(關(guān)于文件)以及第15章(關(guān)于套接字和網(wǎng)絡(luò))之前講較為理想。然而,第16章(關(guān)于數(shù)據(jù)結(jié)構(gòu))與其他高級(jí)內(nèi)容的講解可以獨(dú)立于Applet和GUI。圖1給出了書中各章的主要依賴關(guān)系。

作者簡(jiǎn)介

暫缺《Java面向?qū)ο蟪绦蛟O(shè)計(jì)》作者簡(jiǎn)介

圖書目錄

第0章    計(jì)算機(jī)、對(duì)象與Java    0.1    歡迎    0.2    為什么學(xué)習(xí)編程    0.3    為什么學(xué)習(xí)Java    0.4    什么是計(jì)算機(jī)    0.5    Internet與萬(wàn)維網(wǎng) 5    0.6    編程語(yǔ)言 6    0.7    什么是面向?qū)ο缶幊?nbsp;   0.8    UML要素小結(jié)    0.9    小結(jié)    0.10  習(xí)題    第1章    Java程序設(shè)計(jì)與開發(fā)    1.1    簡(jiǎn)介    1.2    設(shè)計(jì)優(yōu)秀的程序    1.3    Java語(yǔ)言小結(jié)    1.4    編輯、編譯與運(yùn)行Java程序    1.5    Java中的限定名稱    1.6    實(shí)驗(yàn)課:編輯、編譯與運(yùn)行applet    1.7    小結(jié)    1.8    自測(cè)題答案    1.9    習(xí)題    第2章    對(duì)象:定義、創(chuàng)建和使用    2.1    簡(jiǎn)介    2.2    類定義    2.3    實(shí)例分析:模擬CyberPet    2.4    實(shí)驗(yàn)課:Circle類    2.5    Java 語(yǔ)言小結(jié)    2.6    小結(jié)    2.7    自測(cè)題答案    2.8    習(xí)題    第3章    方法:與對(duì)象進(jìn)行通信    3.1    簡(jiǎn)介    3.2    傳遞信息給對(duì)象    3.3    構(gòu)造方法    3.4    從對(duì)象獲取信息    3.5    傳值與傳引用    3.6    控制流程:選擇控制結(jié)構(gòu)    3.7    改進(jìn)的CyberPet    3.8    實(shí)驗(yàn)課:養(yǎng)寵物CyberPet    3.9    Java語(yǔ)言小結(jié)     3.10  小結(jié)    3.11  自測(cè)題答案    3.12  習(xí)題    第4章    applet: World Wide Web編程    4.1    簡(jiǎn)介    4.2    Applet類    4.3    類繼承    4.4    Applet的子類    4.5    一個(gè)簡(jiǎn)單的applet    4.6    事件驅(qū)動(dòng)的程序設(shè)計(jì)    4.7    實(shí)例分析:CyberPetApplet    4.8    實(shí)驗(yàn)課:CyberPetApplet    4.9    Java語(yǔ)言小結(jié)    4.10  小結(jié)    4.11  自測(cè)題答案    4.12  習(xí)題    第5章    Java數(shù)據(jù)和操作符    5.1    簡(jiǎn)介    5.2    程序設(shè)計(jì)=表示+動(dòng)作    5.3    布爾數(shù)據(jù)與操作符    5.4    基于布爾類型的CyberPet模型    5.5    數(shù)值數(shù)據(jù)與操作符    5.6    實(shí)例分析:把華氏溫度轉(zhuǎn)換成攝氏溫度    5.7    基于整數(shù)值的CyberPet模型    5.8    字符數(shù)據(jù)與操作符    5.9    例子:字符轉(zhuǎn)換    5.10  例子:計(jì)算復(fù)利    5.11  問(wèn)題求解 = 表示+動(dòng)作    5.12  實(shí)驗(yàn)課:閏年問(wèn)題    5.13  Java語(yǔ)言小結(jié)    5.14  小結(jié)    5.15  自測(cè)題答案    5.16  習(xí)題    第6章    控制結(jié)構(gòu)    6.1    簡(jiǎn)介    6.2    流程控制:循環(huán)結(jié)構(gòu)    6.3    計(jì)數(shù)循環(huán)    6.4    例子:汽車貸款    6.5    條件循環(huán)    6.6    例子:計(jì)算平均值    6.7    例子:數(shù)據(jù)校驗(yàn)    6.8    實(shí)例分析:動(dòng)畫CyberPet    6.9    循環(huán)設(shè)計(jì)的原則    6.10  實(shí)驗(yàn)課:找質(zhì)數(shù)    6.11  Java語(yǔ)言小結(jié)    6.12  小結(jié)    6.13  自測(cè)題答案    6.14  習(xí)題    第7章    字符串與字符串處理    7.1    簡(jiǎn)介    7.2    String基本知識(shí)    7.3    字符串查找    7.4    例子:關(guān)鍵字查找    7.5    檢索字符串中的一部分    7.6    例子:處理名字與口令    7.7    處理字符串中的每個(gè)字符    7.8    實(shí)例分析:CyberPet的字符串把戲    7.9    比較字符串    7.10  實(shí)驗(yàn)課:暗語(yǔ)翻譯    7.11  Java語(yǔ)言小結(jié)    7.12  小結(jié)    7.13  自測(cè)題答案    7.14  習(xí)題    第8章    數(shù)組與數(shù)組處理    8.1    簡(jiǎn)介    8.2    一維數(shù)組    8.3    簡(jiǎn)單數(shù)組舉例    8.4    例子:測(cè)試擲骰子    8.5    實(shí)例分析:CyberPet動(dòng)畫    8.6    數(shù)組算法:排序    8.7    數(shù)組算法:查找    8.8    二維數(shù)組    8.9    多維數(shù)組    8.10  實(shí)例分析:模擬紙牌    8.11  實(shí)驗(yàn)課:紙牌游戲程序    8.12  Java語(yǔ)言小結(jié)    8.13  小結(jié)    8.14  自測(cè)題答案    8.15  習(xí)題    第9章    圖形用戶界面    9.1    簡(jiǎn)介    9.2    Swing組件集    9.3    Java事件模型    9.4    實(shí)例分析:設(shè)計(jì)一個(gè)基本GUI    9.5    容器與布局管理器    9.6    復(fù)選框、單選鈕與邊框    9.7    菜單和滾動(dòng)窗格    9.8    實(shí)驗(yàn)課:ATM機(jī)    9.9    小結(jié)    9.10  自測(cè)題答案    9.11  習(xí)題    第10章    圖形與繪圖    10.1    簡(jiǎn)介    10.2    繪圖表面    10.3    圖形上下文    10.4    Color類    10.5    繪制線條和圖形    10.6    例子:ShapeDemo applet    10.7    圖形方程    10.8    繪制條形圖和餅圖    10.9    在圖形上下文中處理文本    10.10  實(shí)例分析:交互繪圖    10.11  實(shí)驗(yàn)課:SelfPortrait類    10.12  小結(jié)    10.13  自測(cè)題答案    10.14  習(xí)題    第11章    異常處理    11.1    簡(jiǎn)介    11.2    處理異常情況    11.3    Java的異常層次結(jié)構(gòu)    11.4    在程序中進(jìn)行異常處理    11.5    錯(cuò)誤處理和強(qiáng)健的程序設(shè)計(jì)    11.6    創(chuàng)建并拋出自己的異常    11.7    實(shí)驗(yàn)課:測(cè)算異常的開銷    11.8    Java語(yǔ)言小結(jié)    11.9    小結(jié)    11.10  自測(cè)題答案    11.11  習(xí)題    第12章    遞歸問(wèn)題求解    12.1    簡(jiǎn)介    12.2    遞歸定義    12.3    遞歸字符串方法    12.4    數(shù)組的遞歸處理    12.5    例子:繪制遞歸的分形    12.6    實(shí)驗(yàn)課:RecursivePatterns applet    12.7    小結(jié)    12.8    自測(cè)題答案    12.9    習(xí)題    第13章    線程和并發(fā)編程    13.1    簡(jiǎn)介    13.2    線程    13.3    線程狀態(tài)和生命周期    13.4    使用線程來(lái)改進(jìn)界面的響應(yīng)    13.5    實(shí)例分析:協(xié)調(diào)各線程    13.6    實(shí)例分析:Spider和Fly線程    13.7    實(shí)驗(yàn)課:蜘蛛、蒼蠅和蜜蜂    13.8    小結(jié)    13.9    自測(cè)題答案    13.10  習(xí)題    第14章    文件、流和輸入/輸出技術(shù)    14.1    簡(jiǎn)介    14.2    流和文件    14.3    實(shí)例分析:讀寫文本文件    14.4    File類    14.5    例子:讀寫二進(jìn)制文件    14.6    對(duì)象的序列化:讀和寫對(duì)象    14.7    實(shí)驗(yàn)課:TextEdit程序    14.8    小結(jié)    14.9    自測(cè)題答案    14.10  習(xí)題    第15章    套接字和網(wǎng)絡(luò)    15.1    簡(jiǎn)介    15.2    網(wǎng)絡(luò)概述    15.3    從applet中使用網(wǎng)絡(luò)資源    15.4    放映幻燈片的applet    15.5    在應(yīng)用程序中使用網(wǎng)絡(luò)資源    15.6    通過(guò)socket進(jìn)行客戶/服務(wù)器通信    15.7    實(shí)例分析:通用客戶/服務(wù)器類   

本目錄推薦

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