本書在保持《Java程序設計教程》(第2版)基本框架和特色的基礎上,更新了部分章節(jié),并對一些知識點進行了擴充,更便于讀者學習。全書內(nèi)容分為12章,包括Java概述,Java語言基礎,Java控制結構、數(shù)組和字符串,Java面向對象編程,接口、內(nèi)部類和Java API基礎,異常處理,Applet程序,圖形用戶界面,I/O流,多線程,訪問數(shù)據(jù)庫以及網(wǎng)絡編程等。 本書既適合作為普通高等學校計算機、網(wǎng)絡工程等專業(yè)學生的Java程序設計課程教材,也適合從事軟件開發(fā)的技術人員培訓、自學使用。
作為省級規(guī)劃教材,本書既適合作為普通高等學校計算機、網(wǎng)絡工程等專業(yè)學生的Java程序設計課程教材,也適合從事軟件開發(fā)的技術人員培訓、自學使用。
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡程序開發(fā)大步邁進。在此背景下,Java應運而生。由于其具有跨平臺性、面向對象、分布性和安全性等諸多特點,所以確立了無與倫比的網(wǎng)絡編程優(yōu)勢。從20世紀90年代初Oak的問世至今,已經(jīng)跨越了約三十年,Java在電子商務、遠程醫(yī)療、網(wǎng)上銀行、虛擬課堂等許多應用系統(tǒng)基本上廣泛使用。
當前,普通高等學校的計算機、網(wǎng)絡工程等專業(yè)都開設了Java程序設計課程。此外,不少相關專業(yè)也把Java語言列入教學計劃。教材是體現(xiàn)教學內(nèi)容的知識載體,是進行教學的基本工具。本書在編寫時,從現(xiàn)階段高校使用多的Java系列教材中吸取經(jīng)驗,結合作者在長期教學過程中的體會和積累,旨在向高校學生奉獻一本有特色的教材,向工程技術人員和其他有興趣的讀者提供一本有價值的參考書。本書具有以下特點。
1. 面向實用新技術
本書介紹Java程序設計的多項實用技術,采用JDK 6、Eclipse、MySQL作為Java開發(fā)運行環(huán)境,并將其反映在教材中。強調(diào)學以致用,將新技術與理論、實踐相結合,注重培養(yǎng)學生的能力和創(chuàng)新意識。
2. 涵蓋內(nèi)容較廣泛
本書由淺入深、循序漸進地介紹了Java程序設計的基本概念、方法和應用,涵蓋了Java的語法要點和知識要素。對于Java系統(tǒng)開發(fā)使用的訪問數(shù)據(jù)庫技術、圖形用戶界面等,也進行了較為詳細的說明。
3. 例題講解條理化
本書例題十分豐富,典型實例緊密結合知識要點。全部例子包括題目要求、程序代碼、程序運行結果和程序分析。以此編寫方式,有助于讀者掌握Java開發(fā)要領,快速熟悉重點和難點部分。書中程序代碼都經(jīng)過認真調(diào)試,可以直接運行,方便讀者上機操作。
本書是根據(jù)專業(yè)建設的需要,對第2版進行修訂而形成的。本書保持了第2版的基本框架和特色,更新了部分章節(jié),并對一些知識點進行了擴充,更便于讀者學習。本書內(nèi)容分為12章,包括Java概述,Java語言基礎,Java控制結構、數(shù)組和字符串,Java面向對象編程,接口、內(nèi)部類和Java API基礎,異常處理,Applet程序,圖形用戶界面,I/O流,多線程,訪問數(shù)據(jù)庫以及網(wǎng)絡編程等。另外,在每章的后均列出若干習題,供讀者練習。為了便于說明,為每一行程序代碼都設置了序號,這些序號標記不能作為Java程序的組成部分,實際程序開發(fā)時將其去掉即可。
本書由牛曉太、王紅梅、陳廣智、齊艷珂、王亞楠、齊兵輝、程文靜編著,由牛曉太負責全書的統(tǒng)稿工作。
在本書的編寫和出版過程中,參閱了大量書籍、文獻等資料,得到了清華大學出版社的支持和幫助。在此表示衷心的感謝。
盡管書稿是作者多年教學經(jīng)驗的總結,但由于時間倉促,作者知識水平有限,書中難免存在疏漏和不足,懇請讀者批評指正,以便使本書得以改進和完善。
編者2021年4月
牛曉太 教授 從事計算機應用技術教學二十多年,近年來發(fā)表論文30余篇,獲得河南省自然科學優(yōu)秀學術論文二等獎、三等獎4項;主持省部級項目2項,參與3項;獲得河南省科技成果5項。撰寫學術專著和教材多部。
第1章Java概述1
1.1Java簡介1
1.1.1Java的產(chǎn)生1
1.1.2Java的特點1
1.1.3Java的三大平臺2
1.2Java的開發(fā)和運行環(huán)境3
1.2.1Java虛擬機3
1.2.2JDK的安裝3
1.2.3環(huán)境變量的設置5
1.2.4Java API文檔6
1.3Java程序開發(fā)實例7
1.3.1Java應用程序實例8
1.3.2Java小程序實例10
1.4Eclipse開發(fā)平臺11
1.4.1Eclipse安裝11
1.4.2Eclipse平臺的項目開發(fā)12
習題114第2章Java語言基礎15
2.1標識符和關鍵字15
2.1.1標識符15
2.1.2關鍵字16
2.1.3分隔符16
2.1.4注釋符17
2.2數(shù)據(jù)類型、常量與變量18
2.2.1數(shù)據(jù)類型18
2.2.2常量19
2.2.3變量19
2.3運算符20
2.3.1算術運算符21
2.3.2關系運算符22
2.3.3邏輯運算符22
2.3.4位運算符24
2.3.5賦值運算符24
2.3.6三元運算符26
2.3.7其他運算符26
2.4表達式27
2.4.1運算符的優(yōu)先級27
2.4.2數(shù)據(jù)類型轉換28
2.4.3應用舉例29
習題232第3章Java控制結構、數(shù)組和字符串34
3.1順序結構34
3.1.1語句和語句塊34
3.1.2順序結構35
3.2分支結構35
3.2.1if語句36
3.2.2if語句的嵌套38
3.2.3多分支if語句39
3.2.4switch語句40
3.3循環(huán)結構42
3.3.1for語句42
3.3.2while語句45
3.3.3do語句46
3.3.4循環(huán)嵌套47
3.4轉移語句50
3.4.1break語句50
3.4.2continue語句51
3.5數(shù)組52
3.5.1數(shù)組的聲明52
3.5.2數(shù)組的初始化52
3.5.3數(shù)組元素的引用55
3.6字符串55
3.6.1字符串的聲明和初始化56
3.6.2字符串的處理56
習題357第4章Java面向對象編程60
4.1面向對象編程概述60
4.1.1面向對象的程序設計方法60
4.1.2類和對象60
4.1.3面向對象編程的特點60
4.1.4Java程序設計語言61
4.2類61
4.2.1類的定義61
4.2.2成員變量62
4.2.3成員方法62
4.2.4構造方法67
4.3對象69
4.3.1對象的聲明69
4.3.2對象的創(chuàng)建及初始化69
4.3.3對象的使用70
4.3.4對象的銷毀74
4.3.5this關鍵字75
4.4類的封裝性76
4.4.1包76
4.4.2訪問權限79
4.4.3訪問器81
4.4.4靜態(tài)成員82
4.5類的繼承性84
4.5.1繼承的概念84
4.5.2子類85
4.5.3super關鍵字87
4.5.4終類和抽象類89
4.6類的多態(tài)性90
4.6.1多態(tài)的概念90
4.6.2方法重載90
4.6.3方法覆蓋92
4.6.4綁定93
習題494第5章接口、內(nèi)部類和Java API基礎99
5.1接口99
5.1.1接口的概念99
5.1.2接口的聲明99
5.1.3接口的實現(xiàn)100
5.1.4常用的系統(tǒng)接口103
5.2內(nèi)部類和內(nèi)部接口104
5.2.1內(nèi)部類和內(nèi)部接口的概念104
5.2.2內(nèi)部類的定義和使用105
5.3java.lang包中的基礎類108
5.3.1Object類108
5.3.2System類109
5.3.3Math類110
5.3.4數(shù)據(jù)類型類110
5.4java.util包中的工具類112
5.4.1日期類112
5.4.2Random類113
5.4.3Scanner類114
5.4.4集合類114
習題5117第6章異常處理120
6.1異常的概念120
6.2異常類122
6.2.1Error類及其子類123
6.2.2Exception類及其子類123
6.3異常處理124
6.3.1try…catch…finally語句124
6.3.2拋出異常128
6.4創(chuàng)建自己的異常類130
習題6131第7章Applet程序135
7.1Applet簡介135
7.1.1Java Applet說明135
7.1.2Applet的形式及其類的層次135
7.2Applet的生命周期和顯示方法136
7.2.1Applet的生命周期136
7.2.2Applet的顯示方法137
7.2.3Applet的編寫與執(zhí)行138
7.3HTML中的Applet標記139
7.4Applet應用舉例140
習題7143第8章圖形用戶界面146
8.1AWT146
8.1.1AWT簡介146
8.1.2AWT組件147
8.2事件處理151
8.2.1事件處理機制152
8.2.2事件處理舉例153
8.3Swing160
8.3.1Swing簡介160
8.3.2Swing組件160
8.4布局管理器179
8.4.1FlowLayout布局管理器179
8.4.2BorderLayout布局管理器181
8.4.3GridLayout布局管理器183
8.4.4CardLayout布局管理器184
8.5外觀設計和圖形繪制185
8.5.1外觀設計185
8.5.2圖形繪制186
習題8189第9章I/O流192
9.1I/O流概述192
9.2字節(jié)流192
9.2.1InputStream類和OutputStream類的子類193
9.2.2InputStream類和OutputStream類的方法194
9.2.3FileInputStream類和FileOutputStream類195
9.2.4DataInputStream類和DataOutputStream類197
9.2.5BufferedInputStream類和BufferedOutputStream類199
9.2.6ByteArrayInputStream類和ByteArrayOutputStream類201
9.2.7RandomAccessFile類204
9.2.8SequenceInputStream類206
9.2.9Java標準輸入輸出207
9.3字符流209
9.3.1Reader類和Writer類的子類209
9.3.2Reader類和Writer類的方法210
9.3.3InputStreamReader類和OutputStreamWriter類211
9.3.4FileReader類和FileWriter類213
9.3.5BufferedReader類和BufferedWriter類215
9.3.6StringReader類和StringWriter類217
9.4File類219
9.4.1文件信息獲取和屬性更改219
9.4.2文件和目錄操作222
習題9223第10章多線程225
10.1線程的概念225
10.1.1多線程編程的優(yōu)勢225
10.1.2多線程編程的難點226
10.2線程的實現(xiàn)226
10.2.1創(chuàng)建Java線程226
10.2.2Java線程的狀態(tài)229
10.2.3Java線程的優(yōu)先級230
10.2.4守護線程230
10.2.5終止另一個線程231
10.3線程同步233
10.3.1同步訪問共享資源233
10.3.2協(xié)作完成任務236
習題10239第11章訪問數(shù)據(jù)庫241
11.1數(shù)據(jù)庫簡介241
11.1.1關系型數(shù)據(jù)庫系統(tǒng)概述241
11.1.2MySQL數(shù)據(jù)庫簡介243
11.1.3MySQL Workbench簡介248
11.2使用JDBC進行數(shù)據(jù)庫編程248
11.2.1JDBC架構簡介249
11.2.2使用JDBC訪問數(shù)據(jù)庫249
11.2.3JDBC高級特性258
習題11266第12章網(wǎng)絡編程268
12.1網(wǎng)絡編程基礎268
12.1.1IP地址與端口號的意義268
12.1.2IP地址與端口號的表示269
12.1.3客戶服務器工作模式271
12.1.4TCP與UDP通信271
12.2URL類的使用271
12.2.1URL基礎知識271
12.2.2URL類的使用272
12.2.3通過URLConnection實現(xiàn)雙向通信275
12.3基于TCP的網(wǎng)絡通信275
12.3.1客戶端與服務器端通信276
12.3.2多客戶端通信281
12.4基于UDP的網(wǎng)絡通信284
12.4.1UDP數(shù)據(jù)報文包284
12.4.2UDP通信285
習題12289參考文獻291