本書從初學(xué)者的角度系統(tǒng)介紹了Java程序開發(fā)中用到的重要基礎(chǔ)知識(shí)。全書共13個(gè)項(xiàng)目,具體包括了開發(fā)環(huán)境、基本語法、面向?qū)ο笏枷爰爸匾狝PI的應(yīng)用等。設(shè)計(jì)模式是前人對(duì)代碼開發(fā)經(jīng)驗(yàn)的總結(jié),本書拋磚引玉,在Java學(xué)習(xí)中引入了單例模式、簡單工廠模式、裝飾模式、代理模式等常見的設(shè)計(jì)模式,鼓勵(lì)讀者模仿吸收,養(yǎng)成良好的編程習(xí)慣。本書強(qiáng)調(diào)理論和實(shí)踐相結(jié)合,理論部分通俗易懂,實(shí)踐環(huán)節(jié)案例豐富,步驟完整,以具體應(yīng)用為出發(fā)點(diǎn),幫助讀者快速掌握核心知識(shí),為后續(xù)學(xué)習(xí)打好基礎(chǔ)。本書可作為高等院校計(jì)算機(jī)相關(guān)專業(yè)的教材,也可作為計(jì)算機(jī)編程愛好者的自學(xué)教材。
案例驅(qū)動(dòng),執(zhí)行結(jié)果圖解分析;涵蓋Java SE核心,探討背后思想;講解部分設(shè)計(jì)模式。本書主要針對(duì)應(yīng)用型人才的培養(yǎng),目標(biāo)讀者為信息相關(guān)專業(yè)的本科生、大專生,也可以供其他初學(xué)者學(xué)習(xí)。擬選作者都是有豐富教學(xué)經(jīng)驗(yàn)的一線老師。內(nèi)容主要以Java SE的核心知識(shí)點(diǎn)講解為主,講解Java面向?qū)ο蟮乃枷,以及Java SE中核心的類。本書在強(qiáng)調(diào)案例驅(qū)動(dòng),提高動(dòng)手能力的前提下,也引入了對(duì)Java編程思想的講解,使學(xué)生或其他初學(xué)者理解相關(guān)技術(shù)背后的思想,做到知其然,也知其所以然。
Java語言是當(dāng)前應(yīng)用非常廣泛的一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,從大型復(fù)雜的企業(yè)級(jí)系統(tǒng)到小型移動(dòng)設(shè)備系統(tǒng)開發(fā),隨處都可以看到Java活躍的身影。當(dāng)前,大部分高校計(jì)算機(jī)相關(guān)專業(yè)都開設(shè)了Java程序設(shè)計(jì)相關(guān)課程。Java程序設(shè)計(jì)從基礎(chǔ)到高級(jí)需要一個(gè)長期學(xué)習(xí)的過程,對(duì)于初學(xué)者來說,需要打好基礎(chǔ),樹立信心、循序漸進(jìn),同時(shí)注重編程習(xí)慣的培養(yǎng)。本書針對(duì)應(yīng)用型人才培養(yǎng),強(qiáng)調(diào)實(shí)踐動(dòng)手能力,從需求出發(fā),以案例驅(qū)動(dòng)的形式進(jìn)行組織。書中的案例都是精心設(shè)計(jì)的,只有讀者實(shí)際動(dòng)手敲過代碼,調(diào)試過代碼后才能熟能生巧,知其所用,才能真正掌握這些代碼,感受到編寫Java程序的樂趣。全書共分為13個(gè)項(xiàng)目。項(xiàng)目1主要介紹了Java語言的特點(diǎn)、JDK的安裝及Eclipse開發(fā)環(huán)境,實(shí)現(xiàn)個(gè)Java程序的開發(fā)。項(xiàng)目2介紹Java語言的語法基礎(chǔ),如果讀者有C語言基礎(chǔ),學(xué)習(xí)難度不大,但是對(duì)JVM內(nèi)存劃分需要仔細(xì)體會(huì)。項(xiàng)目3和項(xiàng)目4是Java語言面向?qū)ο笏枷氲?重要部分,詳細(xì)講解了類和對(duì)象的關(guān)系、封裝、繼承和多態(tài)等相關(guān)內(nèi)容,只有理解了面向?qū)ο蟮木幊趟枷,才能真正掌握J(rèn)ava語言的精髓。同時(shí)講解了單例模式、簡單工廠模式的實(shí)現(xiàn)。項(xiàng)目5介紹了Java對(duì)異常的處理。項(xiàng)目6詳細(xì)講解了Java對(duì)多線程技術(shù)的支持。其中生產(chǎn)者和消費(fèi)者模型是難點(diǎn),通過它可以深刻理解線程間通信。項(xiàng)目7講解了包裝類、字符串相關(guān)類和System類。其中字符串相關(guān)類非常重要,讀者要盡量掌握相關(guān)方法,并理解正則表達(dá)式。項(xiàng)目8講解了時(shí)間處理、隨機(jī)數(shù)和Math類的用法,難度不大。項(xiàng)目9講解了集合類,要重點(diǎn)掌握各種集合的創(chuàng)建,增、刪、改、查,以及遍歷的方法。項(xiàng)目10講解File類和輸入輸出流,編寫程序免不了要和文件打交道,涉及的類較多,同時(shí)講解了裝飾模式的實(shí)現(xiàn)。項(xiàng)目11講解JDBC編程,安裝了MySQL,詳細(xì)講解了JDBC開發(fā)過程。項(xiàng)目12講解反射的相關(guān)知識(shí)。反射是Java的高級(jí)特性,掌握反射的本質(zhì)和應(yīng)用,有助于將來的框架學(xué)習(xí)。項(xiàng)目13給出了一個(gè)簡單的Java Web程序開發(fā)示例,幫助讀者理解Java在服務(wù)器端的開發(fā)應(yīng)用。本書由文華學(xué)院林愛武、南通理工學(xué)院宋偉、哈爾濱遠(yuǎn)東理工學(xué)院齊晶薇擔(dān)任主編;由文華學(xué)院張采芳、張翼、仇亞萍、田笛擔(dān)任副主編;南通理工學(xué)院孫溢洋、崔慶華參編。全書由文華學(xué)院林愛武審核并統(tǒng)稿。 由于編者水平有限,加之時(shí)間比較倉促,書中難免有疏漏和不妥之處,懇請(qǐng)廣大讀者朋友批評(píng)指正。
項(xiàng)目1Java語言簡介及開發(fā)環(huán)境
1.1Java語言簡介/1
1.1.1Java語言特點(diǎn)/1
1.1.2Java技術(shù)平臺(tái)/3
1.2JDK的使用/3
1.2.1JDK的安裝/3
1.2.2JDK目錄說明/5
1.2.3JDK、JRE 和JVM的關(guān)系/7
1.2.4Windows命令行窗口操作/7
1.2.5系統(tǒng)環(huán)境變量設(shè)置/9
1.2.6個(gè)Java程序/11
1.3Java集成開發(fā)環(huán)境/13
1.3.1 Eclipse的安裝與配置/13
1.3.2利用Eclipse進(jìn)行程序開發(fā)/16
1.3.3項(xiàng)目的刪除與導(dǎo)入/22
1.3.4Eclipse快捷鍵的使用/23
項(xiàng)目2Java語言基礎(chǔ)
2.1Java注釋/25
2.2關(guān)鍵字/26
2.3標(biāo)識(shí)符/26
2.4數(shù)據(jù)類型/27
2.4.1數(shù)據(jù)類型概述/27
2.4.2基本數(shù)據(jù)類型/28
2.4.3數(shù)據(jù)的類型轉(zhuǎn)換/33
2.4.4引用數(shù)據(jù)類型/35
2.4.5數(shù)組/35
2.5JVM內(nèi)存劃分/41
2.6運(yùn)算符/43
2.6.1算術(shù)運(yùn)算符/43
2.6.2賦值運(yùn)算符/44
2.6.3比較運(yùn)算符/44
2.6.4邏輯運(yùn)算符/44
2.6.5條件運(yùn)算符/45
2.6.6位運(yùn)算符/45
2.6.7運(yùn)算符的優(yōu)先級(jí)和結(jié)合性/46
2.7流程控制語句/46
2.7.1選擇結(jié)構(gòu)語句/47
2.7.2循環(huán)結(jié)構(gòu)語句/51
2.8方法/55
2.8.1方法的定義/55
2.8.2方法的調(diào)用/56
2.8.3方法的重載/57
2.8.4方法的遞歸調(diào)用/58
2.9變量的作用域/60
項(xiàng)目3對(duì)象和類
3.1類的抽象/62
3.1.1面向?qū)ο蟾攀?62
3.1.2類的定義/63
3.2對(duì)象的創(chuàng)建和訪問/65
3.2.1構(gòu)造方法/65
3.2.2創(chuàng)建對(duì)象/66
3.2.3訪問對(duì)象/68
3.2.4this引用的使用/69
3.2.5static關(guān)鍵字的使用/73
3.2.6方法中對(duì)象參數(shù)的傳遞/75
3.2.7匿名對(duì)象/76
3.3類的封裝/77
3.4類的訪問控制/79
3.5單例模式/80
3.6生成幫助文檔/83
項(xiàng)目4類的繼承
4.1繼承的含義/87
4.2super關(guān)鍵字的使用/89
4.2.1子類調(diào)用父類構(gòu)造方法/89
4.2.2子類訪問父類成員/92
4.3final關(guān)鍵字的使用/93
4.4Object類/95
4.5多態(tài)性/98
4.5.1多態(tài)的含義/98
4.5.2參數(shù)傳遞中多態(tài)性的應(yīng)用/100
4.6抽象類/101
4.7接口/102
4.7.1接口聲明與實(shí)現(xiàn)/102
4.7.2接口的多態(tài)/104
4.7.3接口回調(diào)/106
4.7.4Comparable接口/107
4.8匿名內(nèi)部類/109
4.9簡單工廠模式/111
項(xiàng)目5異常機(jī)制
5.1異常的含義/114
5.2異常處理/116
5.2.1捕獲異常/116
5.2.2拋出異常/118
5.3自定義異常/120
5.4運(yùn)行時(shí)異常/121
項(xiàng)目6多線程技術(shù)
6.1基本概念/125
6.2創(chuàng)建線程/126
6.2.1繼承Thread類創(chuàng)建多線程/126
6.2.2實(shí)現(xiàn)Runnable接口創(chuàng)建多線程/128
6.2.3用戶線程和守護(hù)線程/129
6.3線程的狀態(tài)及調(diào)度/130
6.3.1線程調(diào)度/130
6.3.2線程狀態(tài)/131
6.4線程的同步/134
6.4.1同步問題的提出/134
6.4.2線程同步的實(shí)現(xiàn)/136
6.4.3死鎖問題/140
6.5線程間合作/141
6.5.1線程間通信/141
6.5.2生產(chǎn)者和消費(fèi)者模型/142
6.6線程池/145
6.6.1線程池的使用/146
6.6.2線程池的生命周期/147
6.7定時(shí)任務(wù)調(diào)度/148
6.8匿名內(nèi)部類實(shí)現(xiàn)多線程/149
項(xiàng)目7包裝類、字符串相關(guān)類和System類
7.1包裝類/152
7.1.1包裝類概述/152
7.1.2基本數(shù)據(jù)類型與包裝類之間的轉(zhuǎn)換/153
7.1.3基本數(shù)據(jù)類型與String類型之間的轉(zhuǎn)換/154
7.2字符串相關(guān)類/154
7.2.1String類概述/155
7.2.2String類常用方法/155
7.2.3正則表達(dá)式/157
7.2.4StringBuffer類和StringBuilder類/160
7.3System類/162
項(xiàng)目8時(shí)間處理、隨機(jī)數(shù)和Math類
8.1時(shí)間處理相關(guān)類/165
8.1.1Date類/165
8.1.2DateFormat類和SimpleDateFormat類/166
8.1.3Calendar類/168
8.2Random類/170
8.3Math類/173
項(xiàng)目9集合類
9.1集合概述/175
9.2單列集合/175
9.2.1Collection接口/175
9.2.2Iterator接口/176
9.2.3List接口/177
9.2.4ArrayList類/177
9.2.5LinkedList類/180
9.2.6Set接口/180
9.2.7HashSet類/180
9.3雙列集合/182
9.3.1Map接口/182
9.3.2Map.Entry接口/182
9.3.3HashMap類/183
9.3.4Properties類/194
項(xiàng)目10File類和輸入輸出流
10.1File類概述/199
10.2遍歷目錄/202
10.2.1列出當(dāng)前目錄下的目錄和文件/202
10.2.2遞歸遍歷指定目錄下所有文件/204
10.3刪除目錄/205
10.4IO流概述/206
10.5字節(jié)流/207
10.5.1字節(jié)流概述/207
10.5.2FileInputStream類和FileOutputStream類/209
10.5.3BufferedInputStream類和BufferedOutputStream類/213
10.5.4ObjectOutputStream類和ObjectInputStream類/213
10.6字符流/217
10.6.1字符流概述/217
10.6.2FileReader類和FileWriter類/218
10.6.3BufferedReader類和BufferedWriter類/221
10.6.4InputStreamReader類和OutputStreamWriter類/224
10.7裝飾模式/225
項(xiàng)目11JDBC編程
11.1數(shù)據(jù)庫概述/228
11.1.1MySQL簡介/228
11.1.2安裝MySQL/228
11.1.3卸載MySQL/232
11.1.4創(chuàng)建測試數(shù)據(jù)庫和表/233
11.2什么是JDBC/234
11.3JDBC常用API/235
11.4編寫JDBC程序/239
11.4.1導(dǎo)入驅(qū)動(dòng)程序JAR包/239
11.4.2通過JDBC連接數(shù)據(jù)庫/239
11.4.3通過JDBC向數(shù)據(jù)庫增加數(shù)據(jù)/241
11.4.4通過JDBC向數(shù)據(jù)庫查詢數(shù)據(jù)/243
11.4.5通過JDBC向數(shù)據(jù)庫修改數(shù)據(jù)/248
11.4.6通過JDBC向數(shù)據(jù)庫刪除數(shù)據(jù)/249
11.4.7JDBC事務(wù)處理/250
11.5數(shù)據(jù)庫連接池C3P0/252
11.5.1javax.sql.DataSource接口/252
11.5.2C3P0數(shù)據(jù)源/252
項(xiàng)目12反射
12.1反射機(jī)制的含義/256
12.2獲取Class對(duì)象的三種方式/256
12.3反射機(jī)制的常見操作/259
12.3.1利用反射構(gòu)造對(duì)象(Constructor類)/259
12.3.2利用反射操作屬性(Field類)/260
12.3.3利用反射操作方法(Method類)/262
12.4代理模式/263
12.4.1靜態(tài)代理/264
12.4.2動(dòng)態(tài)代理/266
項(xiàng)目13Java Web程序開發(fā)示例
13.1Web程序開發(fā)概述/269
13.1.1軟件體系架構(gòu)C/S和B/S/269
13.1.2靜態(tài)Web頁面和動(dòng)態(tài)Web頁面/269
13.2Eclipse環(huán)境下配置Tomcat服務(wù)器/270
13.2.1安裝Tomcat服務(wù)器/270
13.2.2Eclipse中配置Tomcat/271
13.3利用Eclipse開發(fā)個(gè)Web項(xiàng)目/275
13.3.1新建Web項(xiàng)目/276
13.3.2實(shí)體層/277
13.3.3表現(xiàn)層/277
13.3.4控制層/280
13.3.5業(yè)務(wù)層/284
13.3.6持久層/284
13.3.7部署Web項(xiàng)目/285
13.3.8測試Web項(xiàng)目/286
參考文獻(xiàn)