出版時(shí)間:2008-7 出版社:清華大學(xué)出版社 作者:WALTER SAVITCH 頁(yè)數(shù):815 譯者:施平安,李牧
Tag標(biāo)簽:無(wú)
內(nèi)容概要
《Java完美編程(第3版)》側(cè)重于面向?qū)ο笤O(shè)計(jì),通過(guò)淺顯易懂的語(yǔ)言和代碼,很好地平衡了完整實(shí)例和解釋性討論,并圍繞著Java語(yǔ)言的特征全面、透徹地介紹諸多編程技術(shù)。書中全面介紹Java語(yǔ)言已經(jīng)實(shí)現(xiàn)的封裝、繼承和多態(tài)性技術(shù),在介紹Swing GUI的時(shí)候提及事件驅(qū)動(dòng)的編程并提供很多練習(xí)。在介紹UML和模式的同時(shí)進(jìn)一步介紹了OOP。 本書不僅可作為高等院校程序設(shè)計(jì)課程的入門教材,還可作為使用Java的后續(xù)計(jì)算機(jī)科學(xué)課程的參考書。
作者簡(jiǎn)介
WalterSavitch是一名造詣深并具有豐富教學(xué)經(jīng)驗(yàn)的教授,同時(shí)也是多部經(jīng)典教材(如《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》)的作者。他的寫作風(fēng)格引人人勝,頗受讀者歡迎。他擅長(zhǎng)于以宮簡(jiǎn)意賅的形式和深入淺出的風(fēng)格來(lái)講解難以理解的知識(shí)點(diǎn)。
書籍目錄
第1章 Java入門 引言 前導(dǎo)知識(shí) 1.1 Java簡(jiǎn)介 1.2 表達(dá)式和賦值語(yǔ)句 1.3 String類 1.4 程序風(fēng)格 小結(jié) 自測(cè)題參考答案 編程項(xiàng)目 第2章 控制臺(tái)輸入和輸出 引言 前導(dǎo)知識(shí) 2.1 屏幕輸出 2.2 使用Scanner類的控制臺(tái)輸入 小結(jié) 自測(cè)題參考答案 編程項(xiàng)目 第3章 控制流 引言 前導(dǎo)知識(shí) 3.1 分支結(jié)構(gòu) 3.2 布爾表達(dá)式 3.3 循環(huán) 3.4 調(diào)試 小結(jié) 自測(cè)題參考答案 編程項(xiàng)目第4章 類的定義(1) 引言 前導(dǎo)知識(shí) 4.1 類的定義 4.2 信息隱藏和封裝 4.3 重載 4.4 構(gòu)造方法 小結(jié) 自測(cè)題參考答案 編程項(xiàng)目第5章 類的定義(2) 引言 前導(dǎo)知識(shí) 5.1 靜態(tài)方法和靜態(tài)變量 5.2 引用和類參數(shù) 5.3 引用的使用和濫用 5.4 包和javadoc 小結(jié) 自測(cè)題參考答案 編程項(xiàng)目第6章 數(shù)組 引言 前導(dǎo)知識(shí) 6.1 數(shù)組概述 6.2 數(shù)組與引用 6.3 數(shù)組編程 6.4 多維數(shù)組 小結(jié) 自測(cè)題參考答案 編程項(xiàng)目第7章 繼承 引言 前導(dǎo)知識(shí) 7.1 有關(guān)繼承的基礎(chǔ)知識(shí) 7.2 封裝和繼承 7.3 繼承編程 小結(jié) 自測(cè)題參考答案 編程項(xiàng)目第8章 多態(tài)性和抽象類第9章 異常處理第10章 文件I/O第11章 遞歸第12章 UML和模式第13章 借口和內(nèi)部類第14章 泛型和ARRAYLIST類第15章 鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)第16章 稽核,映射和迭代器第17章 初探SWING 第18章 深入SWING第19章 JAVA的發(fā)展永無(wú)止境
章節(jié)摘錄
第1章 Java入門引言本章介紹Java語(yǔ)言的入門知識(shí),使大家能夠編寫那些涉及表達(dá)式、賦值和控制臺(tái)輸出的簡(jiǎn)單程序。有關(guān)賦值和表達(dá)式的細(xì)節(jié)類似于其他大多數(shù)高級(jí)語(yǔ)言。每種語(yǔ)言都有自己處理字符串和控制臺(tái)輸出的方式,因而,即便是經(jīng)驗(yàn)豐富的程序員也必須了解它們。即使讀者已經(jīng)是精通其他語(yǔ)言的資深程序員,也至少要學(xué)習(xí)1.4節(jié),最好學(xué)習(xí)1.2節(jié)的全部?jī)?nèi)容,還要學(xué)習(xí)1.3節(jié)中有關(guān)字符串的全部?jī)?nèi)容,以及至少要略讀1.4節(jié)以弄清Java已定義的有關(guān)常量和注釋。前導(dǎo)知識(shí)本書內(nèi)容自成體系,除了要求具備一些基本的高等代數(shù)知識(shí)外,不需要任何其他預(yù)備知識(shí)。1.1 Java簡(jiǎn)介Eliminating the middle man is not necessarily a good idea.Found in my old eeonomics class notes本節(jié)概述Java程序設(shè)計(jì)語(yǔ)言。1.1.1 Java語(yǔ)言的起源(選讀)眾所周知,Java是[ntemet應(yīng)用程序的編程語(yǔ)言。然而,本書以及很多其他書籍和程序員認(rèn)為,Java是一種通用語(yǔ)言,幾乎適用于大部分應(yīng)用程序,而不管是否涉及Internet。Java的第一個(gè)版本既不適用于Intemet應(yīng)用程序,也不適用于通用應(yīng)用程序,只是后來(lái)逐漸發(fā)展成為同時(shí)適用于這兩種應(yīng)用程序。1991年,James Gosling在Sun Microsystems公司帶領(lǐng)一個(gè)團(tuán)隊(duì)開發(fā)了Java的第一個(gè)版本(當(dāng)時(shí)還沒(méi)有稱為Java)。第一版旨在解決家用電器(如洗衣機(jī)和電視機(jī)等)的編程問(wèn)題。雖然那可能并不是一個(gè)吸引人的應(yīng)用領(lǐng)域,但要設(shè)計(jì)這么一種語(yǔ)言并不容易。家用電器是由很多不同種類的計(jì)算機(jī)處理器(芯片)控制的。Gosling當(dāng)時(shí)設(shè)計(jì)的語(yǔ)言需要適應(yīng)所有這些不同的處理器。此外,家用電器通常算不上貴重商品,制造商往往不愿意投巨資來(lái)開發(fā)復(fù)雜的編譯器。(編譯器是一個(gè)把程序翻譯成處理器能夠理解的語(yǔ)言的程序。)為了簡(jiǎn)化為每類電器都編寫編譯器(翻譯程序)的任務(wù),該團(tuán)隊(duì)采用了一個(gè)二步翻譯過(guò)程。首先,將程序翻譯成一種中間語(yǔ)言(intermediate language),這種中間語(yǔ)言對(duì)所有電器(或所有計(jì)算機(jī))都是相同的:其次,通過(guò)一個(gè)易于編寫的廉價(jià)小程序,將此中間語(yǔ)言翻譯為具體電器或計(jì)算機(jī)的機(jī)器語(yǔ)言。這種中間語(yǔ)言就是所謂的Java字節(jié)碼(Javabyte.code),簡(jiǎn)稱為字節(jié)碼(byte—code)。因?yàn)橹挥幸环N中間語(yǔ)言,所以從程序翻譯為中間語(yǔ)言再翻譯為機(jī)器語(yǔ)言的二步翻譯過(guò)程,對(duì)所有電器(或所有計(jì)算機(jī))來(lái)說(shuō)其最難的步驟都是一樣的,因而節(jié)省了翻譯為多種機(jī)器語(yǔ)言的大多數(shù)成本。這種電器編程語(yǔ)言從未受到電器制造商的重視,但由它演變而來(lái)的Java語(yǔ)言卻成了一種廣泛使用的編程語(yǔ)言。為什么把中間語(yǔ)言叫字節(jié)碼呢?代碼(code)這個(gè)單詞通常用來(lái)表示一個(gè)程序或一個(gè)程序的組成部分,而字節(jié)是一個(gè)較小的存儲(chǔ)單位(更確切地講是8位)。計(jì)算機(jī)可讀的信息通常按字節(jié)進(jìn)行組織。因此,字節(jié)碼這個(gè)術(shù)語(yǔ)指的是計(jì)算機(jī)(而不是人)可讀的程序。1994年,Sun Microsystem的Patrick Naughton和Jonathan Payne,開發(fā)了一個(gè)能夠在Internet上運(yùn)行(Java)程序的Web瀏覽器。該Web瀏覽器已經(jīng)演變?yōu)镠otJava瀏覽器。這是Java與Internet發(fā)生聯(lián)系的開始。1995年秋,Netscape公司使其Web瀏覽器能夠運(yùn)行Java程序。其他公司紛紛效仿,開發(fā)了滿足Java程序的軟件。1.1.2 對(duì)象和方法Java是一種面向?qū)ο缶幊蹋╫bject-oriented programming,簡(jiǎn)稱OOP)語(yǔ)言。那么什么是OOP呢?我們周圍的世界都是由對(duì)象(object)構(gòu)成的,如人、汽車、建筑物、街道、加法機(jī)、紙張等。這些對(duì)象都有執(zhí)行某些動(dòng)作(action)的能力,而且這些動(dòng)作都會(huì)對(duì)世界中的其他對(duì)象產(chǎn)生一些影響。OOP是一種編程方法,它把一個(gè)程序看作由一些通過(guò)動(dòng)作互相交互的對(duì)象組成。面向?qū)ο缶幊叹哂凶约旱膶iT術(shù)語(yǔ)。物體稱為對(duì)象(object),而對(duì)象可以采取的動(dòng)作稱為方法(method)。相同種類的對(duì)象被認(rèn)為具有相同的類型,通常被認(rèn)為屬于相同的類(class)。例如,在一個(gè)機(jī)場(chǎng)模擬程序中,所有被模擬的飛機(jī)可能屬于相同的類,這個(gè)類可能稱為Airplane類。一個(gè)類的所有對(duì)象具有相同的方法。因此,在一個(gè)模擬程序中,所有的飛機(jī)都有相同的方法(即可能的動(dòng)作),如起飛、飛抵一個(gè)特定的地方、降落等。然而,所有被模擬的飛機(jī)都是不相同的。它們可以有不同的特征,這些特征在程序中是通過(guò)使每個(gè)具體的飛機(jī)對(duì)象關(guān)聯(lián)不同的數(shù)據(jù)(即一些不同的信息)來(lái)指明的。例如,一個(gè)飛機(jī)對(duì)象關(guān)聯(lián)的飛行速度和高度數(shù)據(jù)可能是兩個(gè)數(shù)值。如果曾經(jīng)用過(guò)其他編程語(yǔ)言,則可以用其他語(yǔ)言中學(xué)過(guò)的術(shù)語(yǔ)來(lái)幫助解釋Java術(shù)語(yǔ)。其他語(yǔ)言中所謂的過(guò)程、方法、函數(shù)或子程序,在Java中都叫方法。在Java中,所有的方法(以及任何其他編程結(jié)構(gòu))都是類的組成部分。正如后文所述,Java應(yīng)用程序是一個(gè)帶有main方法的類,運(yùn)行Java程序時(shí),運(yùn)行時(shí)系統(tǒng)(run—time system)自動(dòng)地調(diào)用main方法(即它自動(dòng)啟動(dòng)main操作)。應(yīng)用程序(applicationprogram)是“一般的”Java程序,正如后文所述,還有另一種稱為applet的Java程序。其他Java術(shù)語(yǔ)與大多數(shù)其他編程語(yǔ)言中的非常接近,但無(wú)論如何,本書在介紹每個(gè)概念時(shí)將對(duì)它們進(jìn)行解釋。
編輯推薦
《國(guó)外經(jīng)典教材·計(jì)算機(jī)科學(xué)與技術(shù)·Java完美編程(第3版)》不僅可作為高等院校程序設(shè)計(jì)課程的入門教材,還可作為使用Java的后續(xù)計(jì)算機(jī)科學(xué)課程的參考書。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載