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

-
【作 者】鄢愛蘭 袁毅 等譯
【I S B N 】978-7-5084-4108-7
【責(zé)任編輯】郭東青
【適用讀者群】本科
【出版時(shí)間】2006-10-01
【開 本】16開本
【裝幀信息】平裝(光膜)
【版 次】第1版
【頁 數(shù)】432
【千字?jǐn)?shù)】
【印 張】
【定 價(jià)】¥38
【叢 書】21世紀(jì)高等院校計(jì)算機(jī)系列教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
Java是一種純面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,它容易學(xué)習(xí),但是功能強(qiáng)大。本書重點(diǎn)講述如何創(chuàng)建Java應(yīng)用程序和通過Swing創(chuàng)建和使用GUI。全書共分為26章和10個(gè)附錄,內(nèi)容主要包括Java程序設(shè)計(jì)基礎(chǔ)知識(shí),比如變量、賦值、輸入和輸出、計(jì)算、圖形和窗口編程、使用if的選擇結(jié)構(gòu)、使用while的循環(huán)結(jié)構(gòu)等;面向?qū)ο蟪绦蛟O(shè)計(jì)的一些知識(shí),比如使用庫類、編寫類、使用對象、使用方法等;還有一些高級特性,比如繼承、多態(tài)性、接口等;書后的附錄給出了有關(guān)Java庫、AWT、applet的知識(shí),可供讀者參考。 本書特別適合于大學(xué)一年級學(xué)生作為教材,也適合初學(xué)者自學(xué)使用。
本書目標(biāo)
本書講述如何編寫Java程序,這些Java程序或者作為獨(dú)立的應(yīng)用程序運(yùn)行,或者作為applet(web頁面的一部分)運(yùn)行。
本書適合初學(xué)者
如果你以前從來沒有做過任何編程工作,也就是說你完全是一個(gè)初學(xué)者,那么本書適合你。本書假定你在此之前沒有任何編程知識(shí),也就是從零開始介紹。為了最大限度地便于讀者學(xué)習(xí),本書以一種簡單直接的風(fēng)格編寫。本書主要讀者對象為大學(xué)一年級學(xué)生,也適合初學(xué)者自學(xué)使用。
為什么學(xué)習(xí)Java
Java可能是用于學(xué)習(xí)和使用的最好的程序設(shè)計(jì)語言之一,因?yàn)樗哂幸韵绿匦浴?/p>
1.Java小而美
Java設(shè)計(jì)者有意去掉了所有冗余的程序設(shè)計(jì)語言的特性,而是直接切入設(shè)計(jì)主題。因此Java是以一種優(yōu)美而富有邏輯的方式將所有必要特性組合在一起的語言。Java的設(shè)計(jì)逐漸深入,并且意義明確。它容易學(xué)習(xí)且功能強(qiáng)大。
2.Java是面向?qū)ο蟮?/p>
面向?qū)ο笳Z言是最新、最成功的程序設(shè)計(jì)語言。面向?qū)ο蟪绦蛟O(shè)計(jì)是最流行的程序設(shè)計(jì)方法。Java從一開始就是面向?qū)ο蟮模皇菍⒚嫦驅(qū)ο蟛糠肿鳛樘砑拥氖挛锛藿由先サ摹?/p>
3.Java支持Internet
Java最主要的動(dòng)機(jī)是使人們能夠開發(fā)使用Internet和WWW的程序。Java applet能夠輕松地被從Web瀏覽器(比如Internet Explorer)調(diào)用,以提供有價(jià)值的、引人入勝的功能。此外,Java程序可以很容易地在Internet上傳送,并可在任何計(jì)算機(jī)上運(yùn)行。
4.Java是通用的
Java確實(shí)是一種通用語言。C++、Visual Basic等語言能夠完成的事情,Java都能完成。
5.Java是平臺(tái)獨(dú)立的
Java程序可以在幾乎所有的計(jì)算機(jī)上運(yùn)行,可以使用幾乎所有的操作系統(tǒng),而無需做任何更改。試試使用其他任何程序設(shè)計(jì)語言(幾乎肯定不行!)。這可以用一句口號來總結(jié),即“一次編寫,到處運(yùn)行”。
6.Java是健壯的
Java編譯器在生成一個(gè)要執(zhí)行的程序時(shí)會(huì)執(zhí)行很多嚴(yán)格的檢查。一旦程序已經(jīng)被改正并且編譯無錯(cuò)誤,它就會(huì)正確地執(zhí)行。然而,如果一個(gè)Java程序發(fā)生錯(cuò)誤(程序確實(shí)有這種可能性),也不會(huì)產(chǎn)生混亂、損害和不確定性。
7.Java擁有庫
因?yàn)镴ava是一種小型語言,它的大部分功能都由保存在庫中的程序段提供。這些庫軟件可用來繪制圖形、訪問Internet、提供圖形用戶界面(GUIS)以及完成很多其他事情。
必要條件
要學(xué)習(xí)程序設(shè)計(jì),你需要一臺(tái)計(jì)算機(jī)和一些軟件。典型的系統(tǒng)是帶有Java軟件開發(fā)工具包(Java Software Development Kit,SDK)的個(gè)人電腦。該工具包也可用于UNIX、GNU/Linux和Apple系統(tǒng)。使用該工具包可以準(zhǔn)備和運(yùn)行Java程序。還可以使用一些更方便的開發(fā)環(huán)境。
多做練習(xí)
如果你反復(fù)閱讀本書直到能倒背如流,那么你仍然不能編寫程序。多做一些編寫程序和程序段的實(shí)踐工作,這對于成為熟練又自信的編程高手來說至關(guān)重要。
每章的末尾都為讀者準(zhǔn)備了一些練習(xí)。請認(rèn)真做這些練習(xí)以提高你的編程能力。還有貫穿全文的簡短自測題(答案在每章的末尾),以便你能檢測是否正確理解了該章的知識(shí)。
本書的內(nèi)容
本書講述了程序設(shè)計(jì)的基礎(chǔ)知識(shí),包括:
變量。
賦值。
輸入和輸出。
計(jì)算。
圖形和窗口編程。
使用if的選擇結(jié)構(gòu)。
使用while的循環(huán)結(jié)構(gòu)。
本書還介紹了整數(shù)、浮點(diǎn)數(shù)和字符串。對數(shù)組也進(jìn)行了描述。不管你進(jìn)行何種編程,所有這些都是基本主題。
本書還詳盡闡釋了程序設(shè)計(jì)的面向?qū)ο筇卣鳎?/p>
使用庫中的類。
編寫類。
使用對象。
使用方法。
另外還要學(xué)習(xí)一些更復(fù)雜的面向?qū)ο蟪绦蛟O(shè)計(jì)的特征,比如:
繼承。
多態(tài)性。
接口。
本書不包括的內(nèi)容
本書講述了Java的要點(diǎn),但沒有解釋零碎知識(shí)。這樣讀者可以從不必要的細(xì)節(jié)中解脫出來,重點(diǎn)從總體上掌握J(rèn)ava和程序設(shè)計(jì)知識(shí)。
應(yīng)用程序還是applet
有兩種不同類型的Java程序:
一個(gè)是明顯獨(dú)立的程序(稱為應(yīng)用程序)。
一個(gè)是從Web頁面調(diào)用的程序(稱為applet)。
本書重點(diǎn)關(guān)注應(yīng)用程序,因?yàn)樗鞘褂肑ava的主要方式(附錄中解釋了如何運(yùn)行applet)。
圖形還是文本
全書著重于使用圖形圖像而不是文本輸入輸出的程序。我們認(rèn)為使用圖形圖像更有趣,而且清楚地演示了所有程序設(shè)計(jì)的重要原則。書中并沒有忽略使用輸入輸出文本的程序,這些程序包含在本書中,但它們是作為次重點(diǎn)出現(xiàn)的。
圖形用戶界面(GUIS)
本書介紹的程序使用了很多GUI特性,比如窗口、按鈕、滾動(dòng)條,并以很多不同方式使用了鼠標(biāo)。
AWT還是Swing
有兩種Java機(jī)制用來創(chuàng)建和使用GUIS,即AWT和Swing。用戶界面組件的 Swing集合比AWT集合更完整、更強(qiáng)大。本書使用的是Swing方法,因?yàn)樗氖褂酶鼜V泛。
內(nèi)容順序
程序設(shè)計(jì)涉及到很多富有挑戰(zhàn)性的概念,編寫有關(guān)程序設(shè)計(jì)類圖書的問題之一就是決定如何以及何時(shí)介紹新的概念。在本書中,首先介紹簡單概念,在后面介紹更復(fù)雜的概念。從一開始就使用對象,稍后學(xué)習(xí)如何編寫新對象。我們的方法是從像變量和賦值之類的概念開始,然后介紹選擇和循環(huán),接著介紹對象和類(面向?qū)ο蟮奶匦裕N覀円蚕氪_信樂趣對于程序設(shè)計(jì)是極為重要的,因此從一開始就使用圖像來介紹。
循序漸進(jìn)
在本書中,一次只詳細(xì)介紹一個(gè)新概念,而不是一下子將所有概念都搬到你面前。例如,單獨(dú)有一章講述編寫方法。
計(jì)算機(jī)應(yīng)用
計(jì)算機(jī)的應(yīng)用很廣,本書使用以下這些領(lǐng)域的例子:
信息處理。
游戲。
科學(xué)計(jì)算。
讀者可以選擇重點(diǎn)關(guān)注感興趣的應(yīng)用領(lǐng)域,而在其他領(lǐng)域則少花些時(shí)間。
不同種類的程序設(shè)計(jì)
有很多不同種類的程序設(shè)計(jì),例如過程式的、邏輯式的、函數(shù)式的、電子表格式的、可視化的和面向?qū)ο蟮某绦蛟O(shè)計(jì)。本書關(guān)注的是主流程序設(shè)計(jì)方式,即面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP),這種程序設(shè)計(jì)方式在諸如Visual Basic、C++、C#、Eiffel和Smalltalk之類的語言中均得到了實(shí)踐。
Java版本
Java是不斷演化的,但是演化很慢。Sun公司時(shí)不時(shí)就發(fā)布Java SDK的新版本。新版本意味著在庫中補(bǔ)充了一些項(xiàng),以及新的版本號。從1.2開始的所有版本都具有Java 2這個(gè)通用名。學(xué)習(xí)本書時(shí)你可以使用1.2之后的任何版本。
學(xué)得開心
程序設(shè)計(jì)是富有創(chuàng)造性而且有趣的事情,尤其是Java程序設(shè)計(jì)。請?jiān)W(xué)于樂!
訪問網(wǎng)站
本書中出現(xiàn)的所有程序都可以在網(wǎng)站上找到,網(wǎng)址為www.booksites.net/bell。
第四版的變化
如果你使用過本書更早的版本,你可能想知道第四版有什么不同。在改版時(shí)我們試圖保留舊版的精髓,同時(shí)在適當(dāng)?shù)牡胤竭M(jìn)行了簡化。我們也力圖遵循使用Java的主流趨勢。因此舊版使用applet和AWT來創(chuàng)建GUI,而第四版使用應(yīng)用程序和Swing。舊版大量使用paint方法,每個(gè)人都發(fā)現(xiàn)這很難理解。因此第四版我們做了重大簡化,刪除了paint。
我們做了一些細(xì)微改變,比如使用術(shù)語“call(調(diào)用)”而不是長而難念的“invoke(調(diào)用)”。我們還使用double變量代替float,因?yàn)槁暶髯置嬷蹈菀住?/p>
過去還有一章是關(guān)于applet體系結(jié)構(gòu)的,但是我們不確定它是否湊效。隨著方法paint的刪除,應(yīng)用程序結(jié)構(gòu)變得更簡單了,我們就認(rèn)為不再需要這一章了。還有一章介紹關(guān)于GUI組件,該章似乎不太合適。因此我們刪除了這一章,并將它合并到經(jīng)過改進(jìn)的有關(guān)Java庫的附錄中,其中提供了示例程序。
把抽象類的主題移入到關(guān)于繼承的章節(jié)中,抽象類正好屬于繼承范疇。我們還創(chuàng)建了關(guān)于數(shù)組列表的新章節(jié),數(shù)組列表有助于過渡到數(shù)據(jù)結(jié)構(gòu)。
我們希望你喜歡這些改變。
對本書的評價(jià)
如果你想給作者發(fā)電子郵件,可以發(fā)送到D.H.Bell@shu.ac.uk和M.Parr@shu.ac.uk。我們期待著你的來信。
本書由鄢愛蘭和袁毅主譯,參與翻譯工作的人還有:歐陽宇、盛海燕、郭蓓、唐美艷、張波、趙崗善、郭軍喜、代菊容、魏亮和易磊。
譯 者
2006年8月
第1章 Java背景知識(shí) 1
1.1 Java的歷史 1
1.2 Java的主要特性 2
1.3 什么是程序 2
1.4 編程原則 4
1.5 編程陷阱 4
1.6 小結(jié) 4
1.7 練習(xí) 4
1.8 自測題答案 5
第2章 第一個(gè)程序 6
2.1 簡介 6
2.2 集成開發(fā)環(huán)境 6
2.3 文件和文件夾 6
2.4 使用編輯器 7
2.5 創(chuàng)建第一個(gè)Java程序 8
2.6 庫 10
2.7 揭開程序的神秘面紗 10
2.8 對象和方法簡介 11
2.9 類的一個(gè)比喻 12
2.10 使用文本字段 12
2.11 編程原則 14
2.12 編程陷阱 15
2.13 語法要點(diǎn) 15
2.14 新的語言要素 15
2.15 小結(jié) 15
2.16 練習(xí) 16
2.17 自測題答案 16
第3章 使用圖形方法 17
3.1 簡介 17
3.2 事件 17
3.3 單擊按鈕事件 19
3.4 圖形坐標(biāo)系統(tǒng) 19
3.5 對程序的解釋 19
3.6 用于繪圖的方法 20
3.7 繪制彩色圖 21
3.8 創(chuàng)建新程序 22
3.9 順序的概念 23
3.10 使用注釋增加含義 24
3.11 編程原則 24
3.12 編程陷阱 24
3.13 語法要點(diǎn) 24
3.14 新的語言元素 25
3.15 小結(jié) 25
3.16 練習(xí) 25
3.17 自測題答案 25
第4章 變量和計(jì)算 27
4.1 簡介 27
4.2 int的本質(zhì) 27
4.3 double的本質(zhì) 28
4.4 聲明變量 28
4.5 賦值語句 31
4.6 計(jì)算和運(yùn)算符 32
4.7 算術(shù)運(yùn)算符 32
4.8 %運(yùn)算符 35
4.9 使用+運(yùn)算符連接字符串 35
4.10 字符串和數(shù)值之間的轉(zhuǎn)換 37
4.11 消息對話框和輸入對話框 38
4.12 使用\n格式化對話框中的文本 39
4.13 數(shù)值之間的轉(zhuǎn)換 40
4.14 常量:使用final 41
4.15 表達(dá)式的作用 42
4.16 編程原則 42
4.17 編程陷阱 42
4.18 語法要點(diǎn) 43
4.19 新的語言元素 43
4.20 小結(jié) 43
4.21 練習(xí) 44
4.22 自測題答案 45
第5章 方法和參數(shù) 46
5.1 簡介 46
5.2 編寫自己的方法 46
5.3 第一個(gè)方法 47
5.4 調(diào)用方法 49
5.5 傳遞參數(shù) 49
5.6 形參和實(shí)參 50
5.7 三角形方法 51
5.8 局部變量 54
5.9 命名沖突 54
5.10 事件處理方法和main 56
5.11 return和結(jié)果 56
5.12 構(gòu)造方法:drawHouse 59
5.13 構(gòu)造方法:areaHouse 60
5.14 this和對象 61
5.15 重載 61
5.16 編程原則 62
5.17 編程陷阱 63
5.18 語法要點(diǎn) 63
5.19 新的語言元素 63
5.20 小結(jié) 64
5.21 練習(xí) 64
5.22 自測題答案 65
第6章 使用對象 67
6.1 簡介 67
6.2 實(shí)例變量 67
6.3 實(shí)例化:通過new使用構(gòu)造方法 70
6.4 Random類 70
6.5 main方法和new 74
6.6 Swing工具包 74
6.7 事件 75
6.8 創(chuàng)建JButton 75
6.9 使用對象的準(zhǔn)則 77
6.10 JLabel類 77
6.11 JTextField類 79
6.12 JPanel類 79
6.13 Timer類 80
6.14 JSlider類 82
6.15 編程原則 84
6.16 編程陷阱 84
6.17 語法要點(diǎn) 84
6.18 新的語言元素 85
6.19 小結(jié) 85
6.20 練習(xí) 85
6.21 自測題答案 86
第7章 選擇 87
7.1 簡介 87
7.2 if語句 87
7.3 if…else 89
7.4 比較運(yùn)算符 92
7.5 多個(gè)事件 99
7.6 與、或、非 101
7.7 嵌套if語句 103
7.8 switch語句 105
7.9 Boolean變量 108
7.10 比較字符串 111
7.11 編程原則 111
7.12 編程陷阱 111
7.13 語法要點(diǎn) 113
7.14 新的語言元素 113
7.15 小結(jié) 113
7.16 練習(xí) 114
7.17 自測題答案 116
第8章 循環(huán) 119
8.1 簡介 119
8.2 While 119
8.3 for 123
8.4 與、或、非 125
8.5 do…while 126
8.6 嵌套循環(huán) 127
8.7 組合控制結(jié)構(gòu) 129
8.8 編程原則 129
8.9 編程陷阱 129
8.10 語法要點(diǎn) 130
8.11 新的語言元素 130
8.12 小結(jié) 130
8.13 練習(xí) 130
8.14 自測題答案 132
第9章 編寫類 134
9.1 簡介 134
9.2 設(shè)計(jì)一個(gè)類 134
9.3 類和文件 137
9.3.1 單個(gè)文件 138
9.3.2 單獨(dú)的文件 138
9.4 private變量 139
9.5 public方法 139
9.6 get和set方法 141
9.7 構(gòu)造方法 141
9.8 多個(gè)構(gòu)造方法 142
9.9 private方法 143
9.10 作用域規(guī)則 144
9.11 操作對象 145
9.12 對象析構(gòu) 146
9.13 static方法 146
9.14 static變量 147
9.15 編程原則 148
9.16 編程陷阱 148
9.17 語法要點(diǎn) 149
9.18 新的語言元素 149
9.19 小結(jié) 150
9.20 練習(xí) 150
9.21 自測題答案 151
第10章 繼承 153
10.1 簡介 153
10.2 使用繼承 153
10.3 protected 154
10.4 作用域規(guī)則 155
10.5 附加項(xiàng) 155
10.6 重寫 156
10.7 類圖 156
10.8 使用繼承 157
10.9 super 157
10.10 構(gòu)造方法 158
10.11 final 160
10.12 抽象類 160
10.13 編程原則 161
10.14 編程陷阱 162
10.15 新的語言元素 162
10.16 小結(jié) 163
10.17 練習(xí) 163
10.18 自測題答案 164
(以下略)
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 姜春磊 陳虹潔]
- 基于AI的Java技術(shù)項(xiàng)目實(shí)戰(zhàn) [主編 尹慧超 郭 娜 劉慶杰]
- Java Web項(xiàng)目化設(shè)計(jì)實(shí)踐教程 [邱云 曾陳萍]
- 面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張勇 張平華 趙小龍]
- Java Web應(yīng)用技術(shù)項(xiàng)目化教程 [黃日勝 方阿麗]
- JavaScript與jQuery項(xiàng)目化教程(活頁式) [主編 林灃 藍(lán)雪燕 宋家慧]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- Java編程基礎(chǔ)案例式教程 [主編 陳艷華 唐春蘭]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì)(微課版) [主編 謝先偉 王海洋]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 張立敏 鄒海濤]
- Java Web開發(fā)技術(shù)任務(wù)驅(qū)動(dòng)式教程 [金靜梅]
- Java編程基礎(chǔ) [張煥生 崔炳德]
- Java編程基礎(chǔ)實(shí)踐指導(dǎo) [張煥生 陳勇 崔炳德]
- Java基礎(chǔ)編程(微課版) [主編 王海洋 吳科宏 謝先偉]
- 12歲開始學(xué)JavaScript和Web應(yīng)用 [TENTO 著 徐樂群 譯]
- Java程序設(shè)計(jì)簡明教程 [黃能耿 黃致遠(yuǎn) 編著]
- Java程序設(shè)計(jì) [主編 張繼軍]
- Java基礎(chǔ)應(yīng)用與實(shí)戰(zhàn) [彭東海 王志和 張思奇]
- Java Web開發(fā)技術(shù)與項(xiàng)目實(shí)戰(zhàn) [主編 羅如為]
- Java程序設(shè)計(jì)案例教程 [主 編 寧淑榮 楊國興]
- Java程序設(shè)計(jì) [甘霞]
- Web前端開發(fā)從學(xué)到用完美實(shí)踐HTML5+CSS3+JavaScript+jQuery+AJAX+AngularJS(第2版) [阮曉龍]
- Java程序設(shè)計(jì)實(shí)訓(xùn)教程 [主編 寧淑榮 楊國興]
- 網(wǎng)站前端技術(shù)案例教程(HTML+CSS+JavaScript) [黃華升]
- Java程序設(shè)計(jì)習(xí)題解答及上機(jī)指導(dǎo) [李素若]
- Java核心API編程 [主編 肖睿 禹晨 馬凌]
- Java Web開發(fā)實(shí)戰(zhàn) [主編 肖睿 高海波 徐申]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 肖奎 姚競]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 陳占偉]
- 生活經(jīng)管more>>
- 計(jì)算機(jī)繪圖應(yīng)用教程—CAXA電子圖板XP
- 計(jì)算機(jī)導(dǎo)論(第四版)
- 常用工具軟件實(shí)用教程(第二版)
- C#語言程序設(shè)計(jì)教程
- 單片微型計(jì)算機(jī)原理及接口技術(shù)實(shí)驗(yàn)指導(dǎo)
- 數(shù)據(jù)庫Access案例教程
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)上機(jī)實(shí)驗(yàn)指導(dǎo)(第三版)
- 計(jì)算機(jī)應(yīng)用基礎(chǔ)教程(第三版)
- 微型計(jì)算機(jī)通信與接口技術(shù)
- 大學(xué)計(jì)算機(jī)基礎(chǔ)教程及實(shí)驗(yàn)指導(dǎo)
- Access基礎(chǔ)教程(第二版)
- 計(jì)算機(jī)網(wǎng)絡(luò)實(shí)驗(yàn)教程
- 模擬電子技術(shù)
- Visual FoxPro 6.0程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與
- 微型計(jì)算機(jī)原理及應(yīng)用
- PowerBuilder 10.0應(yīng)用基礎(chǔ)與實(shí)例教程