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

Java程序設(shè)計(jì)

Java程序設(shè)計(jì)

定 價(jià):¥88.00

作 者: (美)James Cohoon,(美)Jack Davidson著;黃曉彤等譯;黃曉彤譯
出版社: 清華大學(xué)出版社
叢編項(xiàng): 世界著名計(jì)算機(jī)教材精選
標(biāo) 簽: Java

ISBN: 9787302106388 出版時(shí)間: 2005-07-01 包裝: 平裝
開本: 26cm 頁(yè)數(shù): 753 字?jǐn)?shù):  

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

  前言如今,Java非常適合選擇作為介紹性編程的課程。其理由很多:互聯(lián)網(wǎng)的使用持續(xù)爆炸性地增長(zhǎng);面向Web應(yīng)用的程序已成為軟件的主流,而Java正是為互聯(lián)網(wǎng)編程的語(yǔ)言;Java還提供了成熟的軟件開發(fā)工具、以及大量包括多線程和高級(jí)圖形用戶界面在內(nèi)的各種應(yīng)用程序的開發(fā)包;而體系結(jié)構(gòu)中立的設(shè)計(jì)使Java具有很好的可移植性。近年來(lái),安全與可靠的重要性有了新的意義,Java對(duì)安全與可靠的支持與其自身的設(shè)計(jì)融為一體。面向?qū)ο笫笿ava成為現(xiàn)代軟件工程和編程概念的良好教學(xué)載體。背景從20世紀(jì)90年代早期以來(lái),在國(guó)家科學(xué)基金會(huì)(NationalScienceFoundation)的大力支持下,本系(弗吉尼亞大學(xué)計(jì)算機(jī)科學(xué)系——譯者注)發(fā)展、提煉并擴(kuò)展了新的計(jì)算機(jī)科學(xué)的課程。在考察本課程與同類學(xué)校的課程的過(guò)程中,經(jīng)常使用的一些重要原則是:*使用一種課堂以外被廣泛接受的編程語(yǔ)言。*使用現(xiàn)代軟件開發(fā)工具。*鼓勵(lì)團(tuán)隊(duì)合作。*按照軟件工程原則開發(fā)系統(tǒng)。*鼓勵(lì)重用現(xiàn)有的庫(kù)和工具。*用圖形用戶界面實(shí)現(xiàn)軟件的輸入、輸出。*選用適合各種聽眾的教學(xué)法和例子。本書的內(nèi)容及其補(bǔ)充材料都用來(lái)支持這些原則的發(fā)展。計(jì)算機(jī)科學(xué)中的許多重要概念和問(wèn)題,在很好地理解什么是程序以及如何寫程序之前,不會(huì)被賞識(shí)。遺憾的是,學(xué)會(huì)編程很困難。如同要寫好文章一樣,好的編程需要多年的實(shí)踐。教授編程在很多方面與教授寫作相似。在學(xué)習(xí)寫作的過(guò)程中,學(xué)生通過(guò)閱讀好散文的范例,反復(fù)地練習(xí)寫作,學(xué)習(xí)怎樣組織構(gòu)思,以實(shí)現(xiàn)最有效的表達(dá)。學(xué)生從寫作、編輯一兩個(gè)段落開始,直到能寫出很長(zhǎng)的文章,如散文、短故事和報(bào)告。學(xué)生們的寫作技能也隨著不斷地增長(zhǎng)。教授程序設(shè)計(jì)的方法與教授寫作類似。貫穿本書,介紹并討論了很多好的和不好的例子,自我檢測(cè)和程序練習(xí),給學(xué)生提供了設(shè)計(jì)、組織和編寫代碼的練習(xí)機(jī)會(huì)。另外,還提供了幫助學(xué)習(xí)修改代碼這個(gè)實(shí)用技能的例子,這部分通過(guò)專供學(xué)生修改的代碼來(lái)實(shí)現(xiàn)。這種方法很有效,因?yàn)?,這樣能迫使學(xué)生成為積極的參與者,即學(xué)生一定要去閱讀并理解所提供的代碼。為支持這一努力,本書所使用代碼的電子版在本書的網(wǎng)站上可以找到。本書的目的本書的目標(biāo)是成為學(xué)生的第一門編程課程,而且適合于各種不同學(xué)科的人。本書假定讀者以前沒(méi)有編程技能,要求的數(shù)學(xué)和科學(xué)知識(shí),相當(dāng)于大學(xué)一年級(jí)學(xué)生的水平。本書的主要目的是:*向?qū)W生介紹Java編程語(yǔ)言;*展示和鼓勵(lì)使用面向?qū)ο蠓独?有效地解決問(wèn)題的技術(shù)示范;*使學(xué)生從事現(xiàn)實(shí)世界中的例子;*教給學(xué)生軟件工程設(shè)計(jì)的概念;*向?qū)W生介紹Java的核心類庫(kù)和圖形庫(kù);*給學(xué)生組織和編寫代碼的實(shí)踐;*傳授學(xué)生修改現(xiàn)有代碼的實(shí)際技能;*給出好的,以及不好的編程指導(dǎo)性例子;*提供測(cè)試和調(diào)試的有效內(nèi)容。本書的特點(diǎn)及其原因本書深入覆蓋了介紹性課程應(yīng)有的全部資料,還介紹了許多通常包含在后續(xù)課程中的資料,并對(duì)余下的問(wèn)題指出要點(diǎn)。章節(jié)的篇幅和安排提供了教師講解內(nèi)容和時(shí)間安排上的靈活性。章節(jié)的內(nèi)容和擴(kuò)展的附錄使有能力的讀者可以更上一層樓,并把本書當(dāng)作一個(gè)有價(jià)值的參考資源。本書的一些特點(diǎn)如下所述。*詳細(xì)介紹面向?qū)ο蟮母拍睿罕緯鴮?shí)施了“適時(shí)對(duì)象”方法。在過(guò)去的十多年里,作者把面向?qū)ο蟮姆独糜诮榻B性的課程,已經(jīng)證明Java可以成功地介紹給初學(xué)編程的人。并了解到,將自定義的類推遲到課程末尾,會(huì)限制學(xué)生掌握面向?qū)ο蟮木幊谭独暮诵闹R(shí),會(huì)對(duì)面向?qū)ο缶幊痰钠渌匾瓌t形成膚淺的認(rèn)識(shí)。因此,本書很早就介紹了對(duì)象表示方法。使學(xué)生們從一開始就可使用標(biāo)準(zhǔn)包中的對(duì)象,很快對(duì)一些有興趣的問(wèn)題開發(fā)出有意義的程序。在堅(jiān)固基礎(chǔ)的介紹后,提出了基本類和面向?qū)ο笤O(shè)計(jì)。在探索控制結(jié)構(gòu)之后,對(duì)方法、類和面向?qū)ο笤O(shè)計(jì)進(jìn)行了更深一步的介紹。*注重解決問(wèn)題能力:許多初學(xué)者面臨的最大障礙,是不知道解決問(wèn)題的基本方法。對(duì)于這個(gè)問(wèn)題,本書在第1章介紹了解決問(wèn)題的基本技能,在以后的每一章里,把一些新概念用于滿足不同讀者要求而選擇的問(wèn)題中。學(xué)生們先學(xué)習(xí)這些有效解決問(wèn)題的例子,然后再提供給他們獨(dú)自解決類似問(wèn)題的機(jī)會(huì)。*介紹軟件工程設(shè)計(jì)的概念:本書通過(guò)對(duì)問(wèn)題的研究和軟件項(xiàng)目來(lái)介紹軟件工程設(shè)計(jì)的概念。除了大量的小例子外,每一章都對(duì)一個(gè)或多個(gè)問(wèn)題的細(xì)節(jié)進(jìn)行考慮。在某種程度上,都有面向?qū)ο蟮姆治龊驮O(shè)計(jì),以及實(shí)現(xiàn)設(shè)計(jì)算法的開發(fā)。*測(cè)試和調(diào)試的內(nèi)容:程序員的一項(xiàng)重要技能,是對(duì)自己設(shè)計(jì)和實(shí)現(xiàn)的程序如何進(jìn)行測(cè)試和調(diào)試。第13章介紹了測(cè)試和調(diào)試方面重要的軟件工程概念和實(shí)踐。這一章討論的測(cè)試技術(shù),如單元測(cè)試、整體測(cè)試和代碼檢查。調(diào)試的一節(jié),注重教會(huì)學(xué)生怎樣用科學(xué)方法去找出錯(cuò)誤。該章還討論了初學(xué)者常犯的錯(cuò)誤和怎樣識(shí)別它們。在介紹了控制結(jié)構(gòu)之后,此章的內(nèi)容可以在授課教師認(rèn)為合適的時(shí)候講解。*生動(dòng)的實(shí)例:學(xué)生們喜歡從真實(shí)生活中遇到的有趣情況來(lái)學(xué)習(xí),多元化的研究和編程方案來(lái)源于不同的主題,包括:身體鍛煉、兜售信息、醫(yī)療診斷、統(tǒng)計(jì)分析、性格類型分析、數(shù)據(jù)可視化、圖形、娛樂(lè)和動(dòng)畫。通過(guò)這些不同的例子,本書展示了程序員可以怎樣參與日常生活并為之做出貢獻(xiàn)。*只用標(biāo)準(zhǔn)Java類:本書在介紹Java編程概念時(shí),只使用標(biāo)準(zhǔn)的Java類。特別沒(méi)有用外界購(gòu)入或由作者自己寫的類。選用標(biāo)準(zhǔn)的類和技術(shù),這樣做,使初學(xué)者容易理解。*實(shí)驗(yàn)室手冊(cè):在介紹性課程中,對(duì)采用實(shí)驗(yàn)室教學(xué)的學(xué)校,本書配有打印好的實(shí)驗(yàn)室手冊(cè)。實(shí)驗(yàn)室資料提供了動(dòng)手的經(jīng)驗(yàn),以強(qiáng)化Java編程的概念和技能。需要實(shí)驗(yàn)手冊(cè)的讀者請(qǐng)與McGraw-Hill出版社的當(dāng)?shù)卮硖幝?lián)系。*編程和風(fēng)格的技巧:除了解釋Java和面向?qū)ο缶幊蹋緯€對(duì)怎樣成為一個(gè)更好、更有見地的程序員和設(shè)計(jì)者提出了忠告。在諸如避免常見的編程錯(cuò)誤、寫可讀性好的代碼以及遵循軟件工程原則等方面,有一些很重要的技巧。*自測(cè)題、練習(xí)題和軟件方案:每章都提供帶有答案的自測(cè)題,以便學(xué)生能評(píng)價(jià)自己對(duì)重要概念的技能掌握。本書還提供了數(shù)百道練習(xí)題,授課教師可以通過(guò)出版社得到項(xiàng)目。在第1章Java的基本概念介紹之后,第2章和后續(xù)的每章都提供了編程方案,來(lái)練習(xí)本章的概念。*參考附錄:附錄C、D和E提供近兩百頁(yè)對(duì)標(biāo)準(zhǔn)JavaAPI的描述,這使得本書在課程結(jié)束后,可以成為一個(gè)手頭的參考手冊(cè)。章節(jié)概述和特點(diǎn)引言每章的開始都有一個(gè)簡(jiǎn)短介紹,以引起學(xué)生的注意,并為本章的內(nèi)容做好準(zhǔn)備。既強(qiáng)調(diào)主題的現(xiàn)時(shí)重要性,也強(qiáng)調(diào)每章主題在更廣泛的編程上下文中的地位。目標(biāo)介紹之后,有一個(gè)本章目標(biāo)的列表,給學(xué)生提供了一套明確的學(xué)習(xí)目標(biāo)。這一列表,使學(xué)生在學(xué)習(xí)本章內(nèi)容時(shí),可用來(lái)衡量自己的進(jìn)展,也可在學(xué)習(xí)章節(jié)結(jié)束時(shí),用來(lái)評(píng)價(jià)自己理解的程度。還可作為授課教師準(zhǔn)備考試和小測(cè)驗(yàn)的指導(dǎo)。圖標(biāo)和信息欄圖標(biāo)和帶陰影的信息欄顯示了警告、風(fēng)格技巧、推薦閱讀材料和屬于Java語(yǔ)言本身的信息。表明關(guān)于編程的警告,通常是怎樣避免常見編程錯(cuò)誤的竅門。表明與編程風(fēng)格有關(guān)的資料。表明與Java程序語(yǔ)言有關(guān)的資料。表明編程竅門,或更具體的討論資料,或現(xiàn)有論題的補(bǔ)充。代碼格式化特殊格式的代碼清單,使代碼部分易于查找和參考。每一個(gè)完整的清單是按照所在章節(jié)中的位置編序。代碼段與周圍的文字清晰地分開,而且有很容易識(shí)別的作者注釋。UML圖用UML圖幫助闡明類之間的關(guān)系,同時(shí),也使學(xué)生熟悉這個(gè)廣泛應(yīng)用的符號(hào)系統(tǒng)。案例學(xué)習(xí)每章都有多個(gè)案例學(xué)習(xí),用來(lái)講解有效解決問(wèn)題的技能,強(qiáng)化面向?qū)ο缶幊毯蛙浖こ淘O(shè)計(jì)概念。每個(gè)案例學(xué)習(xí)的開始,都突出明確的學(xué)習(xí)目標(biāo),并用特殊的圖標(biāo)強(qiáng)調(diào)解決問(wèn)題的步驟。案例學(xué)習(xí)的講解可以選擇,只應(yīng)用本章的概念,而不介紹新概念。章節(jié)評(píng)論每章結(jié)尾,都對(duì)本章的要點(diǎn)做了全面的、逐點(diǎn)的總結(jié)。自測(cè)題每章結(jié)尾,都有帶答案的自測(cè)題。自測(cè)部分的目的是幫助學(xué)生衡量自己是否掌握了本章的目標(biāo),并強(qiáng)化本章的關(guān)鍵概念。編程項(xiàng)目除了第1章介紹背景知識(shí)外,以后每章都至少有一個(gè)有趣的編程項(xiàng)目學(xué)習(xí),作為一類作業(yè)的方式給出。編程項(xiàng)目學(xué)習(xí)包括確定訓(xùn)練范圍;收集電子郵件的地址;醫(yī)療診斷;汽車貸款計(jì)算器;模擬魚缸等。練習(xí)每章結(jié)尾的練習(xí)部分提供需要努力解決的各種問(wèn)題。章節(jié)概要*第1章:背景知識(shí)。包括計(jì)算機(jī)結(jié)構(gòu)、軟件、軟件工程原則、面向?qū)ο筌浖拈_發(fā)、問(wèn)題求解。*第2章:Java基本概念。包括程序組織、main()方法、注釋和空格、類、關(guān)鍵詞、標(biāo)識(shí)符和命名習(xí)慣、方法、程序執(zhí)行、SDK、常量、變量、操作、簡(jiǎn)單類型、操作符、優(yōu)先級(jí)、交互式程序、簡(jiǎn)單變量賦值。*第3章:使用對(duì)象。包括String(字符串)、引用變量、null、插入、截取和連接字符串、引用賦值、String方法。*第4章:類。介紹用戶定義的類、實(shí)例變量、構(gòu)造方法、實(shí)例方法、檢查員(inspect-tors)、變異器(mutators)、簡(jiǎn)易器(facilitators)、簡(jiǎn)單圖形。*第5章:分支語(yǔ)句。包括布爾代數(shù)和真值表、邏輯表達(dá)式、布爾類型、布爾值相等和操作符順序、檢測(cè)浮點(diǎn)數(shù)相等、操作符優(yōu)先級(jí)、短路評(píng)估、if語(yǔ)句、if-else語(yǔ)句、字符串和字符的測(cè)試、排序、switch語(yǔ)句。*第6章:循環(huán)。包括while語(yǔ)句、簡(jiǎn)單的字符串和字符處理、for語(yǔ)句、索引變量范圍、do-while語(yǔ)句。*界面圖形:基于GUI的編程。包括圖形用戶界面、swing、awt、基于事件的編程。*第7章:用方法和類編程。包括參數(shù)傳遞、控制的調(diào)用和流程、類變量、范圍、局部范圍、名字重用、方法重載、方法重寫、equals()、toString()、clone()。*第8章:數(shù)組和集合。包括一維數(shù)組、定義、元素的訪問(wèn)和操縱、顯性初始化、常量數(shù)組、成員、數(shù)組處理、方法、程序參數(shù)、排序、搜索、多維數(shù)組、矩陣、集合框架、ArrayList、集合算法。*第9章:繼承和多態(tài)。包括面向?qū)ο笤O(shè)計(jì)、重用、父類、子類、單一繼承、super、is-a(是一個(gè))、has-a(有一個(gè))和uses-a(用一個(gè))的關(guān)系、控制繼承、默認(rèn)、protected和private成員、多態(tài)、抽象的父類、接口的層次。*界面圖形:基于GUI的編程。在個(gè)人性格識(shí)別和微笑競(jìng)猜游戲的案例中,學(xué)習(xí)圖形用戶界面的設(shè)計(jì)和實(shí)施。*第10章:異常,即反常事件。包括異常、拋出(throwing)、嘗試(trying)、捕獲(catching)、異常處理器、finally、流的規(guī)范。*第11章:遞歸問(wèn)題的求解。包括遞歸方法、排序、搜索、可視化。*第12章:線程,即多個(gè)獨(dú)立的控制流程。包括進(jìn)程、線程、調(diào)度和重復(fù)線程、Timer、TimerTask、Thread、Date、Calendar、JOptionPane、休眠、激活、系統(tǒng)軟件。*第13章:測(cè)試和調(diào)試。包括軟件開發(fā)中的代碼評(píng)估、黑箱與白箱測(cè)試、檢查、測(cè)試工具、說(shuō)明覆蓋、單元、整體和系統(tǒng)測(cè)試、回歸測(cè)試、邊界條件、路徑覆蓋、調(diào)試。*附錄A:表和操作符。包括Unicode字符集、保留字、操作符和優(yōu)先級(jí)。*附錄B:數(shù)字表示方法。包括二進(jìn)制數(shù)字、十進(jìn)制數(shù)字、2的補(bǔ)碼、轉(zhuǎn)換。*附錄C:Applets。即Applet編程。*附錄D:標(biāo)準(zhǔn)Java包。包括java.io、java.lang、java.math、java.net、java.text、java.util。*附錄E:標(biāo)準(zhǔn)Java圖形包。包括java.applet、java.awt和javax.swing。界面圖形通過(guò)個(gè)人觀察和與同事們交流,發(fā)現(xiàn)不是所有的介紹性編程課程都介紹圖形用戶界面(GUIs),也許時(shí)間不允許介紹swingAPI和事件引發(fā)程序,因此,分成兩個(gè)階段來(lái)介紹圖形編程,作為選講內(nèi)容。然而,如授課教師想強(qiáng)調(diào)這部分,在第4章介紹了類之后,就可以講解GUI。應(yīng)區(qū)分圖形用戶界面和圖形圖像的生成。Java標(biāo)準(zhǔn)APIs可以很容易地顯示矩形、直線、圓、橢圓、三角形和多邊形。它們的顯示幾乎與控制窗口顯示文字一樣容易。在其他章節(jié)的例子中,都獨(dú)立地用到了這些Java特性,這些例子大部分也是可選講的。然而,經(jīng)驗(yàn)證明,學(xué)生們都喜歡生成圖像,而且,當(dāng)例子有可視化屬性時(shí),面向?qū)ο缶幊痰母拍顣?huì)易于理解。用好本書本書所涵蓋的內(nèi)容比較多,可能一門課程講授不完。附加的內(nèi)容是有準(zhǔn)備的,即可讓授課教師在編程和軟件開發(fā)方面選擇主題。這本書是為靈活教學(xué)而設(shè)計(jì)的。例如,如果授課教師想推遲對(duì)類的介紹,可以先講解控制結(jié)構(gòu)的大部分內(nèi)容(5.1~5.9小節(jié)和6.1~6.5小節(jié));類似地,如果授課教師想在類之前介紹數(shù)組,數(shù)組的基本內(nèi)容(8.1~8.3小節(jié)和8.7小節(jié)),可以在討論類之前進(jìn)行。除了9.2小節(jié)中的例子,對(duì)繼承的討論可以放在數(shù)組之前。在介紹了類與數(shù)組之后,可以隨時(shí)開始第13章測(cè)試和調(diào)試的內(nèi)容。下面是課程的布局。每周主題閱讀1計(jì)算和面向?qū)ο笤O(shè)計(jì)第1章2編程基礎(chǔ)第2章3對(duì)象的操縱第3章(3.1~3.5小節(jié))4類的基本概念第4章4~5條件語(yǔ)句第5章(5.1~5.7、5.10小節(jié))5~6循環(huán)語(yǔ)句第6章(6.1~6.5小節(jié))7圖形用戶界面界面圖形:I8~9類第7章10~11數(shù)組和列表第8章12~13繼承和多態(tài)第9章13異常第10章(10.1小節(jié))14測(cè)試和調(diào)試第13章(13.1~13.2小節(jié))補(bǔ)充資料出版商的網(wǎng)站www.javaprogramprogramdesign.com提供了書中所有例子的源代碼和數(shù)據(jù)文件,還有一整套PowerPoint和PDF格式的幻燈片,以及對(duì)不同Java編程IDEs的介紹。其他教學(xué)輔助材料可以在網(wǎng)站http://www.cs.virginia.edu/javaprogramdesign上找到。關(guān)于作者JamesCohoon是弗吉尼亞大學(xué)計(jì)算機(jī)科學(xué)系的教授,并曾經(jīng)是AT&T貝爾實(shí)驗(yàn)室的技術(shù)人員,他從明尼蘇達(dá)大學(xué)取得博士學(xué)位后就加入了這里。他兩次被系里提名為大學(xué)最佳教師獎(jiǎng)的得主。1994年,Cohoon教授獲得Fulbright獎(jiǎng),去德國(guó)講授面向?qū)ο缶幊毯蛙浖こ?。Cohoon教授的研究興趣包括算法、電子系統(tǒng)的計(jì)算機(jī)輔助設(shè)計(jì)、優(yōu)化策略和計(jì)算機(jī)科學(xué)教育。他在這些領(lǐng)域發(fā)表了70多篇文章。他是美國(guó)計(jì)算機(jī)學(xué)會(huì)(ACM)、ACM設(shè)計(jì)自動(dòng)化專業(yè)組(SIGDA)、ACM計(jì)算科學(xué)教育專業(yè)組(SIGCSE)、電氣和電子工程師協(xié)會(huì)(IEEE)和IEEE電路與系統(tǒng)協(xié)會(huì)等組織的成員。他同時(shí)擔(dān)任ACM委員會(huì)、SIG管理執(zhí)行委員會(huì)的委員,并曾擔(dān)任過(guò)ACM出版社董事和SIGDA的主席。他的聯(lián)系地址:cohoon@virginia.edu,個(gè)人主頁(yè):http://www.cs.virginia.edu/cohoon。JackDavidson也是弗吉尼亞大學(xué)計(jì)算機(jī)科學(xué)系的教授,他從亞利桑那大學(xué)獲取博士學(xué)位后就來(lái)到這里工作。Davidson教授因在教學(xué)中的創(chuàng)新而獲得了NCR教員創(chuàng)新獎(jiǎng)。Davidson教授的研究興趣包括編譯器、計(jì)算機(jī)結(jié)構(gòu)、系統(tǒng)軟件和計(jì)算機(jī)科學(xué)教育。他在這些領(lǐng)域發(fā)表了80多篇文章。他是美國(guó)計(jì)算機(jī)學(xué)會(huì)(ACM)、ACM編程語(yǔ)言專業(yè)組(SIGPL-AN)、ACM計(jì)算機(jī)結(jié)構(gòu)專業(yè)組(SIGARCH)、ACM計(jì)算科學(xué)教育專業(yè)組(SIGCSE)、電氣和電子工程師協(xié)會(huì)(IEEE)和IEEE計(jì)算機(jī)學(xué)會(huì)等組織的成員。從1994年到2000年,他是ACM在編程語(yǔ)言和系統(tǒng)方面的王牌雜志:TransactionsonProgrammingLanguagesandSystems的副主編。他是1998年程序語(yǔ)言設(shè)計(jì)和實(shí)現(xiàn)大會(huì)(PLDI'98)的主席,2000年SIGPLAN語(yǔ)言、編譯器和嵌入系統(tǒng)工具工作會(huì)議(LCTES2000)的聯(lián)合執(zhí)行主席。他的聯(lián)系地址:jwd@virginia.edu,個(gè)人主頁(yè):http://www.cs.virginai.edu/~jwd。進(jìn)一步閱讀下列是Java語(yǔ)言的主要參考書:*KenArnold,JamesGosling,andDavidHolmes,TheJavaProgrammingLanguage,ThirdEdition,Addison-WesleyPubCo;ISBN:0201704331,June2000.*BillJoy(Editor),GuySteele,JamesGosling,andGiladBracha,TheJavaLanguageSpecification,SecondEdition,Addison-Wesley,ISBN:0201310082,June2000.下面是關(guān)于標(biāo)準(zhǔn)庫(kù)和更進(jìn)一步的面向?qū)ο笤O(shè)計(jì)及程序開發(fā)的資源*DavidM.Geary,GraphicJava1.2,MasteringtheJFC:AWT,Volume1,PrenticeHall,ISBN:0130796662;September1998.*DavidM.Geary,GraphicJava2,Volume2,Swing,PrenticeHall,ISBN:0130796670,March1999.*JoshuaEngel,ProgrammingfortheJavaVirtualMachine,Addison-Wesley,ISBN:0201309726,June1999.*CayS.HorstmannandGaryCornell,CoreJava2,VolumeI,F(xiàn)undamentals,PrenticeHallPTR,ISBN:0130894680,December2000.*CayS.HorstmannandGaryCornell,CoreJava2:VolumeII,AdvancedFeatures,PrenticeHall,ISBN:0130927384,December2001.*MatthewRobinsonandPavelA.Vorobiev,Swing,ManningPublicationsCompany;ISBN:1884777848,December1999.*StephenA.SteltingandOlavMaassen,AppliedJavaPatterns,PrenticeHall;ISBN:0130935387,December2001.*SunMicrosystems,JavaLookandFeelDesignGuidelines:AdvancedTopics,AddisonWesleyProfessional;ISBN:0201775824,December2001.*AlVermeulen(Editor),ScottW.Ambler,GregBumgardner,EldonMetz,AlanVermeulen,TrevorMisfeldt,JimShur,andPatrickThompson,TheElementsofJavaStyle,CambridgeUniversityPress;ISBN:0521777682,January2000.*JohnZukowski,JavaCollections,APress;ISBN:1893115925,April2001.感謝我們感謝弗吉尼亞大學(xué)為本書的完成提供了環(huán)境。我們要特別感謝JackStankovic,他的不懈地努力使得計(jì)算機(jī)科學(xué)系處于國(guó)內(nèi)領(lǐng)先的地位。我們感謝JennaCohoon、JoanneCohoon和TomHorton的評(píng)論,我們還要感謝HannahCohoon對(duì)魚的藝術(shù)設(shè)計(jì)和JJCohoon對(duì)圖標(biāo)的藝術(shù)設(shè)計(jì)。我們感謝為本書的出版做出貢獻(xiàn)的McGraw-Hill的全體員工。特別地,我們感謝BetsyJones的支持與鼓勵(lì);TomCason的明智建議;KayBrimeyer的幕后產(chǎn)品管理技能;DavidHash對(duì)藝術(shù)和封面設(shè)計(jì)隊(duì)伍的領(lǐng)導(dǎo);PatSteele的編輯和DawnBercier的市場(chǎng)創(chuàng)意。我們向下列人員提出特別感謝:我們的編輯KellyLowery,她支持、指導(dǎo)并關(guān)注了這一項(xiàng)目的全過(guò)程;我們的開發(fā)編輯MelindaDougharty,她管理并匯總了審閱過(guò)程;還有MaryCahall和她的組織能力。

作者簡(jiǎn)介

暫缺《Java程序設(shè)計(jì)》作者簡(jiǎn)介

圖書目錄

第1章 背景知識(shí)
1.1 引言 1
1.2 計(jì)算機(jī)結(jié)構(gòu) 2
1.2.1 計(jì)算機(jī)的部件 4
1.2.2 購(gòu)買個(gè)人計(jì)算機(jī) 5
1.3 互聯(lián)網(wǎng)計(jì)算 7
1.3.1 網(wǎng)絡(luò) 8
1.4 軟件和Java語(yǔ)言 10
1.4.1 編程語(yǔ)言 10
1.4.2 運(yùn)行一個(gè)Java程序 11
1.5 工程軟件 13
1.5.1 軟件工程的原則 15
1.6 面向?qū)ο笤O(shè)計(jì) 17
1.7 解決問(wèn)題 19
1.7.1 問(wèn)清需求 20
1.7.2 盡量發(fā)現(xiàn) 21
1.7.3 將復(fù)雜問(wèn)題分割成子問(wèn)題 22
1.7.4 重用以及預(yù)計(jì)未來(lái)重用 23
1.7.5 更深一步的閱讀 24
1.8 復(fù)習(xí) 24
1.9 自測(cè)題 25
1.10 練習(xí)題 26
1.11 自測(cè)題答案 28
第2章 Java基本概念
2.1 第一個(gè)程序 30
2.1.1 注釋和空白 31
2.1.2 類、關(guān)鍵詞和標(biāo)識(shí)符 32
2.1.3 方法 34
2.1.4 選擇print()和println()方法 35
2.1.5 換碼序列 37
2.2 簡(jiǎn)單計(jì)算 40
2.2.1 常量 42
2.2.2 變量 43
2.2.3 操作 45
2.3 簡(jiǎn)單類型 47
2.3.1 整型 48
2.3.2 字符型 49
2.3.3 雙精度型 51
2.4 表達(dá)式 53
2.4.1 一元和二元操作符 54
2.4.2 優(yōu)先級(jí) 55
2.4.3 拓寬和變窄操作數(shù)的轉(zhuǎn)換 56
2.4.4 上溢、下溢和異常 58
2.5 交互式程序 58
2.6 簡(jiǎn)單變量的賦值 63
2.6.1 交換 65
2.6.2 賦值的優(yōu)先級(jí)和結(jié)合律 67
2.6.3 遞增和遞減 68
2.7 案例學(xué)習(xí)——五個(gè)數(shù)的平均值 70
2.8 復(fù)習(xí) 72
2.9 自測(cè)題 75
2.10 練習(xí)題 76
2.11 編程項(xiàng)目——讀者 81
2.12 編程項(xiàng)目——培訓(xùn)范圍 83
2.13 自測(cè)題答案 85
第3章 使用對(duì)象
3.1 類 86
3.2 對(duì)象和變量 87
3.2.1 初始化 88
3.2.2 空值和未初始化的引用 89
3.3 賦值 90
3.4 final變量 92
3.5 字符串的操作和方法 93
3.6 案例分析:日期轉(zhuǎn)換 100
3.7 復(fù)習(xí) 105
3.8 自測(cè)題 106
3.9 練習(xí)題 106
3.10 編程項(xiàng)目——收割機(jī) 110
3.11 自測(cè)題答案 113
第4章 走 向類 114
4.1 準(zhǔn)備 114
4.2 一個(gè)非常簡(jiǎn)單的類 116
4.2.1 實(shí)例變量和屬性 118
4.2.2 默認(rèn)的構(gòu)造方法 119
4.2.3 實(shí)例方法 121
4.2.4 用法 124
4.3 帶參數(shù)的方法和返回值 126
4.4 本章小結(jié) 136
4.5 復(fù)習(xí) 137
4.6 自測(cè)題 138
4.7 練習(xí)題 138
4.8 編程項(xiàng)目——合理性 141
4.9 自測(cè)題答案 144
第5章 分支語(yǔ)句 147
5.1 布爾代數(shù)和真值表 147
5.1.1 邏輯表達(dá)式 148
5.2 布爾型 149
5.2.1 邏輯值相等和操作符排序 150
5.2.2 操作符重訪優(yōu)先級(jí) 152
5.3 if語(yǔ)句 153
5.3.1 避免陷阱 156
5.4 if-else語(yǔ)句 157
5.5 嵌套結(jié)構(gòu) 161
5.6 if-else-if結(jié)構(gòu) 162
5.7 測(cè)試對(duì)象是否相等 168
5.8 switch語(yǔ)句 172
5.9 求和校驗(yàn)案例 179
5.10 三角形案例 184
5.11 復(fù)習(xí) 191
5.12 自測(cè)題 193
5.13 練習(xí)題 195
5.14 編程項(xiàng)目──醫(yī)療助手 200
5.15 自測(cè)題答案 203
第6章 循環(huán) 206
6.1 while語(yǔ)句 206
6.2 for語(yǔ)句 216
6.2.1 索引變量范圍 219
6.2.2 計(jì)算組合的個(gè)數(shù) 219
6.3 do-while語(yǔ)句 222
6.4 嵌套循環(huán) 225
6.5 簡(jiǎn)單文件處理 229
6.6 數(shù)據(jù)集合分析案例學(xué)習(xí) 235
6.7 復(fù)習(xí) 242
6.8 自測(cè)題 243
6.9 練習(xí)題 245
6.10 編程項(xiàng)目——四個(gè)流浪者問(wèn)題 249
6.11 自測(cè)題答案 250
GI 基于圖形用戶接口的編程 252
GI.1 GUI和事件驅(qū)動(dòng)編程 252
GI.2 風(fēng)寒溫度計(jì)算器 255
GI.2.1 類常量和實(shí)例變量 259
GI.2.2 圖形用戶界面的構(gòu)造 261
GI.2.3 事件處理以及actionPerformed() 264
GI.2.4 main()方法 265
GI.3 復(fù)習(xí) 266
GI.4 自測(cè)題 267
GI.5 練習(xí)題 268
GI.6 編程項(xiàng)目——訓(xùn)練區(qū) 269
GI.7 自測(cè)題答案 271
第7章 使用方法和類編程 273
7.1 靜態(tài)修飾符 273
7.2 參數(shù)傳遞 280
7.3 this關(guān)鍵字 289
7.4 方法繼承和重寫 292
7.5 范圍和重復(fù)使用 297
7.5.1 局部范圍規(guī)則 298
7.5.2 變量名的重新使用 298
7.6 方法重載 301
7.7 示例演示 308
7.8 復(fù)習(xí) 315
7.9 自測(cè)題 317
7.10 練習(xí)題 319
7.11 編程項(xiàng)目——汽車?yán)碡?cái) 327
7.12 自測(cè)題答案 331
第8章 數(shù)組和集合 334
8.1 列表的基本要求 334
8.2 一維數(shù)組 335
8.2.1 定義 335
8.2.2 元素訪問(wèn) 337
8.2.3 顯式初始化 340
8.2.4 常量數(shù)組 341
8.2.5 成員 341
8.3 簡(jiǎn)單數(shù)組的處理 344
8.3.1 數(shù)值抽取 344
8.3.2 查找關(guān)鍵值 347
8.3.3 查找最小值 349
8.4 數(shù)組和方法 349
8.4.1 順序和二分法查找 350
8.4.2 清零 353
8.4.3 顯示 356
8.4.4 數(shù)據(jù)抽取和倒序 356
8.4.5 增加容量表現(xiàn)法 359
8.5 排序 360
8.5.1 selectionSort()方法 360
8.5.2 selectionSort()方法的質(zhì)量 362
8.6 命令行參數(shù) 363
8.7 多維數(shù)組 364
8.7.1 矩陣 367
8.8 集合構(gòu)架 369
8.9 數(shù)組列表(ArrayList) 370
8.10 集合算法 375
8.11 案例學(xué)習(xí)——餅狀圖 377
8.12 復(fù)習(xí) 385
8.13 自測(cè)題 386
8.14 練習(xí)題 387
8.15 編程項(xiàng)目——矩陣 392
8.16 自測(cè)題答案 393
第9章 繼承和多態(tài) 400
9.1 面向?qū)ο蟮脑O(shè)計(jì) 400
9.1.1 三維點(diǎn) 401
9.1.2 有色點(diǎn) 408
9.2 多態(tài) 413
9.3 繼承的細(xì)微差別 414
9.3.1 控制訪問(wèn) 416
9.3.2 數(shù)據(jù)域 419
9.3.3 類型 422
9.3.4 后(動(dòng)態(tài))綁定 423
9.3.5 終結(jié) 425
9.4 案例學(xué)習(xí)——擴(kuò)展BufferedReader 423
9.5 抽象的父類 429
9.6 接口 434
9.7 準(zhǔn)備魚缸程序 438
9.8 復(fù)習(xí) 449
9.9 自測(cè)題 450
9.10 練習(xí)題 452
9.11 編程項(xiàng)目——找錢機(jī) 456
9.12 自測(cè)題答案 458
GII 基于GUI的編程 459
GII.1 案例學(xué)習(xí)——個(gè)性測(cè)試 459
GII.1.1 背景 459
GII.2 編程項(xiàng)目——Smiley猜詞游戲 472
第10章 異常 487
10.1 異常處理 487
10.2 FINALLY和命令類型 496
10.3 創(chuàng)建和拋出異常 499
10.4 案例學(xué)習(xí)——值的依次提取 503
10.5 復(fù)習(xí) 514
10.6 自測(cè)題 515
10.7 練習(xí)題 515
10.8 編程項(xiàng)目——回顧 516
10.9 自測(cè)題答案 516
第11章 遞歸問(wèn)題的求解 519
11.1 遞歸方法 519
11.1.1 斐波納契數(shù)列和方塊 522
11.2 案例學(xué)習(xí)——遞歸二分法查找 525
11.3 mergeSort()方法 530
11.4 排序的速度 535
11.5 遞歸和循環(huán) 536
11.6 案例學(xué)習(xí)——字符串排列 537
11.7 復(fù)習(xí) 542
11.8 自測(cè)題 543
11.9 練習(xí)題 543
11.10 編程項(xiàng)目——Sierpinski分形 545
11.11 自測(cè)題答案 548
第12章 線程 549
12.1 時(shí)序安排 549
12.1.1 延遲運(yùn)行 551
12.1.2 重復(fù)運(yùn)行 553
12.1.3 定時(shí)運(yùn)行 557
12.2 休眠 561
12.3 動(dòng)畫 563
12.4 案例學(xué)習(xí)——游泳的魚 570
12.5 復(fù)習(xí) 576
12.6 自測(cè)題 577
12.7 練習(xí)題 577
12.8 編程項(xiàng)目——更好的魚 579
12.9 自測(cè)題答案 580
第13章 測(cè)試和調(diào)試 582
13.1 測(cè)試 582
13.1.1 測(cè)試舉例 583
13.1.2 測(cè)試基礎(chǔ) 591
13.1.3 回顧和檢查 593
13.1.4 黑箱與白箱測(cè)試 595
13.1.5 集成和系統(tǒng)測(cè)試 600
13.2 調(diào)試 600
13.2.1 科學(xué)方法 600
13.2.2 調(diào)試技巧和技術(shù) 603
13.3 復(fù)習(xí) 606
13.4 參考書目 607
13.5 自測(cè)題 607
13.6 練習(xí) 608
13.7 編程項(xiàng)目--getList() 608
13.8 自測(cè)題答案 610
附錄A 表格和運(yùn)算符 611
A.1 Unicode字符集 611
A.2 保留字 612
A.3 運(yùn)算符和優(yōu)先級(jí) 612
附錄B 數(shù)字表示法 616
B.1 二進(jìn)制數(shù)的表示法 616
B.2 補(bǔ)碼的表示法 617
附錄C Applet程序 619
C.1 一個(gè)簡(jiǎn)單的Applet 619
C.2 Applet方法 621
C.2.1 init()方法 621
C.2.2 start()方法 621
C.2.3 stop()方法 622
C.2.4 destroy()方法 622
C.2.5 paint()方法 622
C.3 Applets和線程 624
C.4 Applet安全性 627
C.5 小結(jié) 628
附錄D 標(biāo)準(zhǔn)Java包 629
D.1 java.io 629
D.2 java.lang 635
D.3 java.math 667
D.4 java.net 671
D.5 java.text 673
D.6 java.util 678
附錄E 標(biāo)準(zhǔn)Java圖形包 701
E.1 java.applet 701
E.2 java.awt 702
E.3 javax.swing 727

本目錄推薦

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