注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計JAVA及其相關Java程序設計

Java程序設計

Java程序設計

定 價:¥88.00

作 者: (美)James Cohoon,(美)Jack Davidson著;黃曉彤等譯;黃曉彤譯
出版社: 清華大學出版社
叢編項: 世界著名計算機教材精選
標 簽: Java

ISBN: 9787302106388 出版時間: 2005-07-01 包裝: 平裝
開本: 26cm 頁數(shù): 753 字數(shù):  

內(nèi)容簡介

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

作者簡介

暫缺《Java程序設計》作者簡介

圖書目錄

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

本目錄推薦

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