Java語言是當今流行的面向對象編程語言之一,它以其健壯性、安全性、可移植性等優(yōu)點成了程序員的技術。本書以典型項目講述了面向對象程序設計的相關概念和使用方法。通過本書的學習,學生不僅能夠學習到基本的面向對象程序設計技術,還能夠掌握用Java語言開發(fā)軟件項目的方法。 本書以學生課程考試系統(tǒng)項目為開發(fā)主線,分解為11個項目,貫穿全書。本書介紹了Java基礎的開發(fā)技術和理論,將知識點與開發(fā)實踐緊密結合。本書內容包括Java語言基礎知識、類與對象的基本概念、面向對象的三大特征、接口與抽象類、輸入/輸出流、圖形用戶界面設計、多線程、數(shù)據(jù)庫等知識點的介紹。讀者通過閱讀本書,可以全面掌握Java的初級開發(fā)技術。 本書可以作為高職高專院校軟件技術專業(yè)、網(wǎng)絡技術專業(yè)以及其他相關專業(yè)的教材或參考書,也適合軟件開發(fā)人員及其他有關人員作為自學參考書或培訓教材。
初版在2015年出版,已經(jīng)重印6次。由于以下原因再版:
① 多次重印,得到了兄弟院校教師的認可,但尚有不足。
② 在教材展現(xiàn)形式上,增加微課。
③ 繼續(xù)堅持教學做一體化方式進行教材設計。
④ 版本升級非常必要。
⑤ 將教材做成課程的整體解決方案了。
⑥ 增加電子活頁內容。
Java是Sun公司推出的跨平臺程序開發(fā)語言,它具有簡單、面向對象、分布式、健壯性、安全性、可移植性等特點,這使它在網(wǎng)絡開發(fā)、網(wǎng)絡應用中發(fā)揮著重要作用,并伴隨因特網(wǎng)的廣泛應用而得以迅速發(fā)展。
本書以培養(yǎng)讀者應用能力為主線,嚴格按照教育部關于加強職業(yè)教育、突出實踐技能培養(yǎng)的要求,依照Java程序設計學習應用的基本過程和規(guī)律,將以項目開發(fā)為主線,任務驅動的寫法貫穿全書,將Java開發(fā)的技術知識融入各個工作任務中,突出了實踐與理論緊密結合的特點。隨著項目開發(fā)任務的層層遞進,再現(xiàn)了軟件開發(fā)的工作過程,同時也體現(xiàn)了從普通程序員到Web程序員的職業(yè)能力的提升。
本書以學生課程考試系統(tǒng)項目為主線,全書共分為11個項目、兩大篇章。篇為項目開發(fā)前期準備,包括項目1~項目4,項目1介紹了Java開發(fā)環(huán)境的下載安裝;項目2介紹了Java的基本特性及基本語法,包括Java語言概述、數(shù)據(jù)類型、運算符與表達式、流程控制語句及數(shù)組的使用;項目3、項目4分別介紹了Java面向對象技術及異常類處理機制。第二篇為開發(fā)課程考試系統(tǒng),包括項目5~項目11,通過一個完整的學生在線系統(tǒng)的開發(fā)系統(tǒng)介紹了圖形用戶界面設計中的事件、組件、布局、文件輸入/輸出以及線程等知識點,并介紹了用數(shù)據(jù)庫存儲數(shù)據(jù)的相關知識。在每個任務中,都是首先介紹學習目標,然后通過任務描述使讀者在明確工作任務之后去學習相關知識。在自測題中,讀者可以完成對本章介紹的技術要點的測試。
通過本書的學習,讀者不僅可以全面掌握Java的開發(fā)知識,而且更能體會到應用Java開發(fā)項目的基本思路及全局觀念。
本書由鄭定超、湯春華、楊云擔任主編,余建浙、蔣君、高偉聰擔任副主編,王瑞、鄭澤也參加了部分章節(jié)的編寫。另外,感謝浪潮集團提供的案例和幫助。
由于編者水平有限,錯誤之處也在所難免,敬請廣大讀者指正,歡迎提出寶貴意見。
編者2021年3月
篇項目開發(fā)前期準備
項目1開發(fā)課程考試系統(tǒng)的準備31.1相關知識3
1.1.1Java語言的發(fā)展歷史4
1.1.2Java語言的特點5
1.1.3Java工作機制6
1.1.4Eclipse集成開發(fā)環(huán)境7
1.2項目設計與分析8
1.3項目實施9
任務11JDK的安裝9
任務12Java環(huán)境變量配置11
任務13Eclipse集成工具安裝14
任務14編寫個Java程序18
自測題22
項目2處理課程考試系統(tǒng)中的學生成績23
2.1相關知識23
2.1.1Java注釋23
2.1.2標識符與關鍵字24
2.1.3變量與常量25
2.1.4數(shù)據(jù)類型與轉換26
2.1.5運算符與表達式29
2.1.6選擇結構語句32
2.1.7循環(huán)結構語句36
2.1.8跳轉語句39
2.1.9數(shù)組41
Java程序設計項目開發(fā)教程(第2版)目錄2.1.10方法與重載46
2.2項目設計與分析48
2.3項目實施49
任務21利用數(shù)組和選擇結構語句實現(xiàn)成績分數(shù)與評價的轉換49
任務22利用數(shù)組和循環(huán)結構語句實現(xiàn)分數(shù)的排序50
自測題51
項目3定義使用課程考試系統(tǒng)中相關的類52
3.1相關知識52
3.1.1面向對象編程的思想52
3.1.2類與對象的創(chuàng)建和使用53
3.1.3類的封裝58
3.1.4類的繼承63
3.1.5類的多態(tài)66
3.1.6抽象類與接口68
3.2項目設計與分析70
3.3項目實施71
任務31學生類的定義71
任務32問題類的定義72
自測題73
項目4捕獲課程考試系統(tǒng)中的異常75
4.1相關知識75
4.1.1什么是異常76
4.1.2異常的捕獲和處理78
4.1.3異常的拋出與聲明80
4.1.4自定義異常81
4.2項目設計與分析83
4.3項目實施83
任務41自定義考試系統(tǒng)中學生年齡異常的處理83
任務42捕獲考試系統(tǒng)中計算平均分的算術異常85
自測題85
第二篇開發(fā)課程考試系統(tǒng)
項目5設計課程考試系統(tǒng)的用戶登錄界面915.1相關知識91
5.1.1Swing概述91
5.1.2Swing容器92
5.1.3常用組件100
5.1.4布局管理器108
5.2項目分析與設計114
5.3項目實施115
任務51設計計算器115
任務52設計登錄頁面115
自測題117
項目6處理課程考試系統(tǒng)中的用戶登錄事件118
6.1相關知識118
6.1.1Java事件處理機制118
6.1.2動作事件120
6.1.3鍵盤事件122
6.1.4鼠標事件124
6.1.5窗口事件130
6.2項目分析與設計132
6.3項目實施132
任務61登錄功能實現(xiàn)132
任務62注冊功能實現(xiàn)133
任務63取消功能實現(xiàn)133
自測題135
項目7實現(xiàn)課程考試系統(tǒng)中的用戶注冊功能137
7.1相關知識137
7.1.1單選按鈕和復選框137
7.1.2下拉框和列表框141
7.1.3盒式布局管理器146
7.2項目分析與設計147
7.3項目實施148
任務71編寫注冊頁面148
任務72實現(xiàn)頁面監(jiān)聽事件151
自測題153
項目8讀/寫考試系統(tǒng)中的文件154
8.1相關知識154
8.1.1輸入/輸出流概述154
8.1.2字符流和字節(jié)流157
8.1.3過濾流和數(shù)據(jù)流162
8.1.4標準輸入/輸出流166
8.1.5對象序列化168
8.2項目分析與設計170
8.3項目實施170
任務81讀取注冊文件170
任務82頁面控件監(jiān)聽172
自測題181
項目9實現(xiàn)課程考試系統(tǒng)的倒計時功能183
9.1相關知識183
9.1.1線程概述183
9.1.2線程的創(chuàng)建與使用184
9.1.3線程生命周期188
9.1.4線程優(yōu)先級與調度189
9.1.5線程同步192
9.2項目分析與設計195
9.3項目實施196
任務91倒計時頁面編寫196
任務92計時線程編寫197
自測題198
項目10實現(xiàn)課程考試系統(tǒng)界面201
10.1相關知識201
10.1.1菜單類控件201
10.1.2工具欄207
10.1.3滾動面板210
10.2項目分析與設計211
10.3項目實施213
自測題224
項目11安裝并使用課程考試系統(tǒng)的數(shù)據(jù)庫226
11.1相關知識226
11.1.1MySQL數(shù)據(jù)庫概述226
11.1.2數(shù)據(jù)庫的安裝與配置227
11.1.3創(chuàng)建課程考試系統(tǒng)數(shù)據(jù)庫236
11.1.4數(shù)據(jù)的插入、刪除、修改和查詢238
11.1.5Java連接數(shù)據(jù)庫249
11.1.6Java操作數(shù)據(jù)254
11.2項目分析與設計260
11.3項目實施261
任務111連接數(shù)據(jù)庫,驗證用戶名和密碼261
任務112修改用戶注冊功能的 register()方法261
自測題263
參考文獻265