《Java從入門到精通(第7版)》從初學(xué)者角度出發(fā),通過通俗易懂的語言、豐富多彩的實(shí)例,詳細(xì)講解了使用Java語言進(jìn)行程序開發(fā)需要掌握的知識。全書分為4篇共24章,內(nèi)容包括初識Java,開發(fā)工具(IDEA、Eclipse),Java語言基礎(chǔ),流程控制,數(shù)組,類和對象,繼承、多態(tài)、抽象類與接口,包和內(nèi)部類,異常處理,字符串,常用類庫,集合類,枚舉類型與泛型,lambda表達(dá)式與流處理,I/O(輸入/輸出),反射與注解,數(shù)據(jù)庫操作,Swing程序設(shè)計,Java繪圖,多線程,并發(fā),網(wǎng)絡(luò)通信,飛機(jī)大戰(zhàn)游戲,MR人臉識別打卡系統(tǒng)。書中所有知識都結(jié)合具體實(shí)例進(jìn)行講解,涉及的程序代碼都給出了詳細(xì)的注釋,這可以幫助讀者輕松領(lǐng)會Java程序開發(fā)的精髓,并快速提高開發(fā)技能。
叢書說明:軟件開發(fā)視頻大講堂叢書第1版于2008年8月出版,因其編寫細(xì)膩、易學(xué)實(shí)用、配備海量學(xué)習(xí)資源和全程視頻等,在軟件開發(fā)類圖書市場上產(chǎn)生了很大反響,絕大部分品種在全國軟件開發(fā)零售圖書排行榜中名列前茅,2009年多個品種被評為全國優(yōu)秀暢銷書。
軟件開發(fā)視頻大講堂叢書第2版于2010年8月出版,第3版于2012年8月出版,第4版于2016年10月出版,第5版于2019年3月出版,第6版于2021年7月出版。十五年間反復(fù)錘煉,打造經(jīng)典。叢書迄今累計重印680多次,銷售400多萬冊,不僅深受廣大程序員的喜愛,還被百余所高校選為計算機(jī)、軟件等相關(guān)專業(yè)的教學(xué)參考用書。
軟件開發(fā)視頻大講堂叢書第7版在繼承前6版所有優(yōu)點(diǎn)的基礎(chǔ)上,進(jìn)行了大幅度的修訂。第一,根據(jù)當(dāng)前的技術(shù)趨勢與熱點(diǎn)需求調(diào)整品種,拓寬了程序員崗位就業(yè)技能用書;第二,對圖書內(nèi)容進(jìn)行了深度更新、優(yōu)化,如優(yōu)化了內(nèi)容布置,彌補(bǔ)了講解疏漏,將開發(fā)環(huán)境和工具更新為新版本,增加了對新技術(shù)點(diǎn)的剖析,將項目替換為更能體現(xiàn)當(dāng)今IT開發(fā)現(xiàn)狀的熱門項目等,使其更與時俱進(jìn),更適合讀者學(xué)習(xí);第三,改進(jìn)了教學(xué)微課視頻,為讀者提供更好的學(xué)習(xí)體驗(yàn);第四,升級了開發(fā)資源庫,提供了程序員入門學(xué)習(xí)技巧掌握實(shí)例訓(xùn)練項目開發(fā)求職面試等各階段的海量學(xué)習(xí)資源;第五,為了方便教學(xué),制作了全新的教學(xué)課件PPT。
Java是Sun公司推出的跨平臺、可移植性高的一種面向?qū)ο缶幊陶Z言。自面世以來,Java憑借其易學(xué)易用、功能強(qiáng)大的特點(diǎn)得到了廣泛的應(yīng)用。其強(qiáng)大的跨平臺特性使Java程序可以運(yùn)行在大部分系統(tǒng)平臺上,甚至可以運(yùn)行在移動電子產(chǎn)品上,真正做到一次編寫,到處運(yùn)行。Java可用于編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等,這使得它成為應(yīng)用范圍最廣泛的開發(fā)語言。隨著Java技術(shù)的不斷更新,在全球云計算和移動互聯(lián)網(wǎng)飛速發(fā)展的產(chǎn)業(yè)環(huán)境下,Java的顯著優(yōu)勢和廣闊前景將進(jìn)一步呈現(xiàn)出來。
本書內(nèi)容
本書提供了從Java入門到編程高手所必需的各類知識,共分4篇。
第1篇:基礎(chǔ)知識。本篇通過對初識Java、開發(fā)工具、Java語言基礎(chǔ)、流程控制和數(shù)組等內(nèi)容的講解,結(jié)合大量的圖示、舉例、視頻等,使讀者快速掌握J(rèn)ava語言的基礎(chǔ)知識,為以后編程奠定堅實(shí)的基礎(chǔ)。
第2篇:面向?qū)ο缶幊獭1酒v解類和對象,繼承、多態(tài)、抽象類與接口,包和內(nèi)部類等內(nèi)容。學(xué)習(xí)完本篇,讀者將能掌握如何采用面向?qū)ο笏季S編寫Java代碼。
第3篇:核心技術(shù)。本篇講解異常處理、字符串、常用類庫、集合類、枚舉類型與泛型、lambda表達(dá)式與流處理、I/O(輸入/輸出)、反射與注解、數(shù)據(jù)庫操作、Swing程序設(shè)計、Java繪圖、多線程、并發(fā)和網(wǎng)絡(luò)通信等內(nèi)容。學(xué)習(xí)完本篇,讀者將能夠開發(fā)出一些小型應(yīng)用程序。
第4篇:項目實(shí)戰(zhàn)。本篇通過一個小型的游戲項目和一個利用人工智能視覺分析的人臉識別打卡系統(tǒng)項目,運(yùn)用軟件工程的設(shè)計思想,讓讀者學(xué)習(xí)如何進(jìn)行軟件項目的實(shí)踐開發(fā)。項目按照編寫項目計劃書系統(tǒng)設(shè)計數(shù)據(jù)庫設(shè)計創(chuàng)建項目實(shí)現(xiàn)項目運(yùn)行項目解決開發(fā)常見問題的過程進(jìn)行講解,帶領(lǐng)讀者一步一步地體驗(yàn)項目開發(fā)的全過程。
本書特點(diǎn)
由淺入深,循序漸進(jìn)。本書以零基礎(chǔ)入門讀者和初、中級程序員為對象,讓讀者先從Java基礎(chǔ)知識學(xué)起,再學(xué)習(xí)面向?qū)ο缶幊,接著學(xué)習(xí)Java的核心技術(shù),最后學(xué)習(xí)開發(fā)兩個完整項目。講解過程中步驟詳盡,版式新穎,在操作的內(nèi)容圖片上以編號 內(nèi)容的方式進(jìn)行標(biāo)注,使讀者在閱讀時一目了然,可以快速掌握書中內(nèi)容。
微課視頻,講解詳盡。為便于讀者直觀感受程序開發(fā)的全過程,書中重要章節(jié)配備了視頻講解(共249集,時長32小時),讀者可以使用手機(jī)掃描章節(jié)標(biāo)題一側(cè)的二維碼進(jìn)行觀看和學(xué)習(xí)。這也便于初學(xué)者輕松入門,感受編程的快樂和成就感,進(jìn)一步增強(qiáng)學(xué)習(xí)的信心。
基礎(chǔ)示例 強(qiáng)化訓(xùn)練 綜合練習(xí) 項目案例,實(shí)戰(zhàn)為王。通過例子學(xué)習(xí)是最好的學(xué)習(xí)方式,本書核心知識講解通過一個知識點(diǎn)、一個示例、一個結(jié)果、一段評析、一個綜合應(yīng)用的模式,詳盡透徹地講述了實(shí)際開發(fā)中所需的各類知識。全書共計有219個應(yīng)用示例,149個編程訓(xùn)練,96個綜合練習(xí),2個項目案例,為初學(xué)者打造學(xué)習(xí)1小時,訓(xùn)練10小時的強(qiáng)化實(shí)戰(zhàn)學(xué)習(xí)環(huán)境。
精彩欄目,貼心提醒。本書根據(jù)需要在各章安排了很多注意說明技巧誤區(qū)警示等小欄目,讓讀者可以在學(xué)習(xí)過程中更輕松地理解相關(guān)知識點(diǎn)及概念,更快地掌握相關(guān)技術(shù)的應(yīng)用技巧。
讀者對象:初學(xué)編程的自學(xué)者;編程愛好者;大中專院校的老師和學(xué)生;相關(guān)培訓(xùn)機(jī)構(gòu)的老師和學(xué)員;做畢業(yè)設(shè)計的學(xué)生;初、中級程序開發(fā)人員;程序測試及維護(hù)人員;參加實(shí)習(xí)的菜鳥程序員
本書學(xué)習(xí)資源
本書提供了大量的輔助學(xué)習(xí)資源,讀者需刮開圖書封底的防盜碼,掃描并綁定微信后,獲取學(xué)習(xí)權(quán)限。
同步教學(xué)微課
學(xué)習(xí)書中知識時,掃描章節(jié)名稱處的二維碼,可在線觀看教學(xué)視頻。
在線開發(fā)資源庫
本書配備了強(qiáng)大的Java開發(fā)資源庫,包括技術(shù)資源庫、技巧資源庫、實(shí)例資源庫、項目資源庫、源碼資源庫、視頻資源庫。掃描二維碼,可登錄明日科技網(wǎng)站,獲取Java開發(fā)資源庫一年的免費(fèi)使用權(quán)限。
學(xué)習(xí)答疑
關(guān)注清大文森學(xué)堂公眾號,可獲取本書的源代碼、PPT課件、視頻等資源,加入本書的學(xué)習(xí)交流群,參加圖書直播答疑。
讀者掃描圖書封底的文泉云盤二維碼,或登錄清華大學(xué)出版社網(wǎng)站,可在對應(yīng)圖書頁面下查閱各類學(xué)習(xí)資源的獲取方式。
感謝您選擇本書,希望本書能成為您編程路上的領(lǐng)航者。
零門檻編程,一切皆有可能。
祝讀書快樂!
明日科技,全稱是吉林省明日科技有限公司,是一家專業(yè)從事軟件開發(fā)、教育培訓(xùn)以及軟件開發(fā)教育資源整合的高科技公司,其編寫的教材非常注重選取軟件開發(fā)中的必需、常用內(nèi)容,同時也很注重內(nèi)容的易學(xué)、方便性以及相關(guān)知識的拓展性,深受讀者喜愛。其教材多次榮獲全行業(yè)優(yōu)秀暢銷品種全國高校出版社優(yōu)秀暢銷書等獎項,多個品種長期位居同類圖書銷售排行榜的前列。
第1篇 基礎(chǔ)知識
第1章 初識Java 2
1.1 Java簡介 2
1.1.1 什么是Java語言 2
1.1.2 Java的應(yīng)用領(lǐng)域 3
1.1.3 Java的版本 3
1.1.4 怎樣學(xué)好Java 5
1.1.5 Java API文檔 6
1.2 Java語言的特性 6
1.3 搭建Java環(huán)境 8
1.3.1 下載JDK 8
1.3.2 在Windows 10系統(tǒng)下搭建JDK環(huán)境 9
第2章 開發(fā)工具 12
2.1 熟悉IDEA 12
2.1.1 下載IDEA 12
2.1.2 安裝IDEA 14
2.1.3 配置IDEA 16
2.1.4 使用IDEA 17
2.2 熟悉Eclipse 22
2.2.1 下載Eclipse 22
2.2.2 Eclipse的配置與啟動 24
2.2.3 Eclipse工作臺 25
2.2.4 透視圖與視圖 26
2.2.5 菜單欄 26
2.2.6 工具欄 26
2.2.7 包資源管理器視圖 29
2.2.8 控制臺視圖 29
2.3 使用Eclipse 29
2.3.1 創(chuàng)建Java項目 29
2.3.2 創(chuàng)建Java類文件 33
2.3.3 編寫Java程序 34
2.3.4 運(yùn)行Java程序 36
2.4 程序調(diào)試 38
第3章 Java語言基礎(chǔ) 42
3.1 Java主類結(jié)構(gòu) 42
3.2 基本數(shù)據(jù)類型 44
3.2.1 整數(shù)類型 44
3.2.2 浮點(diǎn)類型 45
3.2.3 字符類型 46
3.2.4 布爾類型 48
3.3 變量與常量 48
3.3.1 標(biāo)識符和關(guān)鍵字 48
3.3.2 聲明變量 50
3.3.3 聲明常量 51
3.3.4 變量的有效范圍 52
3.4 運(yùn)算符 53
3.4.1 賦值運(yùn)算符 53
3.4.2 算術(shù)運(yùn)算符 54
3.4.3 自增和自減運(yùn)算符 55
3.4.4 比較運(yùn)算符 55
3.4.5 邏輯運(yùn)算符 56
3.4.6 位運(yùn)算符 57
3.4.7 復(fù)合賦值運(yùn)算符 58
3.4.8 三元運(yùn)算符 59
3.4.9 運(yùn)算符的優(yōu)先級 60
3.5 數(shù)據(jù)類型轉(zhuǎn)換 61
3.5.1 隱式類型轉(zhuǎn)換 61
3.5.2 顯式類型轉(zhuǎn)換 62
3.6 代碼注釋與編碼規(guī)范 63
3.6.1 代碼注釋 63
3.6.2 編碼規(guī)范 64
3.7 實(shí)踐與練習(xí) 65
第4章 流程控制 66
4.1 復(fù)合語句 67
4.2 if條件語句 67
4.2.1 簡單的if條件語句 68
4.2.2 if…else語句 69
4.2.3 if…else if多分支語句 69
4.2.4 if語句的嵌套 71
4.3 switch多分支語句 72
4.3.1 switch語句通用語法 72
4.3.2 switch表達(dá)式 74
4.4 while循環(huán)語句 74
4.5 do…while循環(huán)語句 75
4.6 for循環(huán)語句 76
4.6.1 傳統(tǒng)的for語句 76
4.6.2 foreach語句 77
4.7 循環(huán)嵌套 78
4.8 循環(huán)控制 79
4.8.1 break語句 79
4.8.2 continue語句 81
4.9 實(shí)踐與練習(xí) 82
第5章 數(shù)組 84
5.1 數(shù)組概述 84
5.2 一維數(shù)組 84
5.2.1 創(chuàng)建一維數(shù)組 84
5.2.2 初始化一維數(shù)組 86
5.2.3 使用一維數(shù)組 86
5.3 二維數(shù)組 87
5.3.1 創(chuàng)建二維數(shù)組 87
5.3.2 初始化二維數(shù)組 88
5.3.3 使用二維數(shù)組 88
5.4 數(shù)組的基本操作 89
5.4.1 遍歷數(shù)組 89
5.4.2 填充替換數(shù)組元素 90
5.4.3 對數(shù)組進(jìn)行排序 91
5.4.4 復(fù)制數(shù)組 92
5.4.5 查詢數(shù)組 93
5.5 數(shù)組排序算法 95
5.5.1 冒泡排序 95
5.5.2 直接選擇排序 97
5.5.3 反轉(zhuǎn)排序 98
5.6 實(shí)踐與練習(xí) 99
第2篇 面向?qū)ο缶幊?br />第6章 類和對象 102
6.1 面向?qū)ο蟾攀?102
6.1.1 對象 102
6.1.2 類 104
6.1.3 封裝 104
6.1.4 繼承 104
6.1.5 多態(tài) 105
6.2 類 106
6.2.1 成員變量 106
6.2.2 成員方法 107
6.2.3 權(quán)限修飾符 107
6.2.4 局部變量 108
6.2.5 局部變量的有效范圍 109
6.2.6 this關(guān)鍵字 109
6.3 類的構(gòu)造方法 110
6.4 靜態(tài)變量和靜態(tài)方法 112
6.5 類的主方法 114
6.6 對象 115
6.6.1 對象的創(chuàng)建 115
6.6.2 訪問對象的屬性和行為 116
6.6.3 對象的引用 117
6.6.4 對象的銷毀 118
6.7 實(shí)踐與練習(xí) 119
第7章 繼承、多態(tài)、抽象類與接口 120
7.1 類的繼承 120
7.2 Object類 122
7.3 對象類型的轉(zhuǎn)換 125
7.3.1 向上轉(zhuǎn)型 125
7.3.2 向下轉(zhuǎn)型 126
7.4 instanceof關(guān)鍵字及其新特性 127
7.5 方法的重載 129
7.6 final關(guān)鍵字 132
7.6.1 final變量 132
7.6.2 final方法 133
7.6.3 final類 133
7.7 record類 134
7.8 多態(tài) 135
7.9 抽象類 136
7.10 接口 137
7.10.1 定義接口 137
7.10.2 實(shí)現(xiàn)接口 138
7.10.3 接口繼承接口 140
7.10.4 接口的多重繼承 141
7.10.5 接口的默認(rèn)方法 142
7.10.6 抽象類與接口的區(qū)別 142
7.11 實(shí)踐與練習(xí) 143
第8章 包和內(nèi)部類 145
8.1 Java類包 145
8.1.1 類名沖突 145
8.1.2 完整的類路徑 146
8.1.3 創(chuàng)建包 146
8.1.4 導(dǎo)入包 147
8.2 內(nèi)部類 148
8.2.1 成員內(nèi)部類 149
8.2.2 匿名內(nèi)部類 151
8.3 實(shí)踐與練習(xí) 152
第3篇 核心技術(shù)
第9章 異常處理 154
9.1 異常概述 154
9.2 異常的拋出與捕捉 155
9.2.1 拋出異常 155
9.2.2 使用try…catch…finally語句捕捉異常 156
9.3 Java常見的異常類 158
9.4 自定義異常 158
9.5 在方法中拋出異常 159
9.5.1 使用throws關(guān)鍵字拋出異常 160
9.5.2 使用throw關(guān)鍵字拋出異常 160
9.6 運(yùn)行時異常 162
9.7 try…with…resources語句 162
9.8 異常的使用原則 164
9.9 實(shí)踐與練習(xí) 164
第10章 字符串 166
10.1 String類 166
10.1.1 聲明字符串 166
10.1.2 創(chuàng)建字符串 167
10.2 連接字符串 168
10.2.1 連接多個字符串 168
10.2.2 連接其他數(shù)據(jù)類型 168
10.3 獲取字符串信息 170
10.3.1 獲取字符串長度 170
10.3.2 查找字符串 170
10.3.3 獲取指定索引位置的字符 171
10.4 字符串操作 172
10.4.1 獲取子字符串 172
10.4.2 去除空格 173
10.4.3 替換字符串 173
10.4.4 判斷字符串的開始與結(jié)尾 174
10.4.5 判斷字符串是否相等 175
10.4.6 按字典順序比較兩個字符串 176
10.4.7 字母大小寫的轉(zhuǎn)換 177
10.4.8 分割字符串 178
10.5 格式化字符串 179
10.5.1 日期和時間字符串格式化 179
10.5.2 常規(guī)類型格式化 182
10.6 使用正則表達(dá)式 183
10.7 字符串生成器 185
10.8 實(shí)踐與練習(xí) 187
第11章 常用類庫 188
11.1 包裝類 188
11.1.1 Integer類 189
11.1.2 Double類 190
11.1.3 Boolean類 191
11.1.4 Character類 192
11.1.5 Number類 194
11.2 數(shù)字處理 194
11.2.1 數(shù)字格式化 194
11.2.2 Math類 197
11.2.3 Random類 200
11.2.4 BigInteger類 202
11.2.5 BigDecimal類 203
11.3 System類 205
11.3.1 在控制臺中輸出字符 205
11.3.2 計時 206
11.4 Scanner類 207
11.5 日期時間類 208
11.5.1 Date類 209
11.5.2 日期時間格式化類 210
11.5.3 Calendar類 213
11.6 實(shí)踐與練習(xí) 215
第12章 集合類 216
12.1 集合類概述 216
12.2 Collection接口 217
12.3 List接口 218
12.3.1 List接口概述 218
12.3.2 ArrayList類 218
12.3.3 LinkedList類 219
12.4 遍歷集合中的元素 220
12.4.1 Iterator遍歷集合中的元素 220
12.4.2 使用foreach循環(huán)遍歷集合中的元素 221
12.4.3 使用forEach()方法遍歷集合中的元素 222
12.5 使用Predicate操作集合 222
12.6 Set接口 224
12.6.1 Set接口概述 224
12.6.2 HashSet類 224
12.6.3 TreeSet類 225
12.7 Map接口 226
12.7.1 Map接口概述 227
12.7.2 HashMap類 227
12.7.3 遍歷Map集合 228
12.7.4 TreeMap類 229
12.7.5 Properties類 230
12.8 Collections類 232
12.9 實(shí)踐與練習(xí) 233
第13章 枚舉類型與泛型 234
13.1 枚舉類型 234
13.1.1 使用枚舉類型設(shè)置常量 234
13.1.2 深入了解枚舉類型 236
13.1.3 使用枚舉類型的優(yōu)勢 239
13.2 泛型 239
13.2.1 回顧向上轉(zhuǎn)型與向下轉(zhuǎn)型 239
13.2.2 定義泛型類 240
13.2.3 泛型的常規(guī)用法 241
13.2.4 泛型的高級用法 243
13.2.5 泛型總結(jié) 245
13.3 實(shí)踐與練習(xí) 246
第14章 lambda表達(dá)式與流處理 247
14.1 lambda表達(dá)式 247
14.1.1 lambda表達(dá)式簡介 247
14.1.2 lambda表達(dá)式實(shí)現(xiàn)函數(shù)式接口 248
14.1.3 lambda表達(dá)式調(diào)用外部變量 250
14.1.4 lambda表達(dá)式與異常處理 252
14.2 方法的引用 253
14.2.1 引用靜態(tài)方法 253
14.2.2 引用成員方法 254
14.2.3 引用帶泛型的方法 255
14.2.4 引用構(gòu)造方法 256
14.2.5 Function接口 258
14.3 流處理 259
14.3.1 Stream接口 260
14.3.2 Optional類 262
14.3.3 Collectors類 263
14.3.4 數(shù)據(jù)過濾 264
14.3.5 數(shù)據(jù)映射 267
14.3.6 數(shù)據(jù)查找 268
14.3.7 數(shù)據(jù)收集 271
14.4 實(shí)踐與練習(xí) 275
第15章 I/O(輸入/輸出) 276
15.1 輸入/輸出流 276
15.1.1 InputStream字節(jié)/Reader字符輸入流 277
15.1.2 OutputStream字節(jié)/Writer字符輸出流 278
15.2 File類 279
15.2.1 文件的創(chuàng)建與刪除 279
15.2.2 獲取文件信息 280
15.3 文件輸入/輸出流 281
15.3.1 FileInputStream類和FileOutputStream類 281
15.3.2 FileReader類和FileWriter類 282
15.4 帶緩存的輸入/輸出流 283
15.4.1 BufferedInputStream類和BufferedOutputStream類 283
15.4.2 BufferedReader類和BufferedWriter類 284
15.5 數(shù)據(jù)輸入/輸出流 285
15.6 對象序列化輸入/輸出流 287
15.6.1 序列化對象 288
15.6.2 反序列化對象 289
15.7 實(shí)踐與練習(xí) 289
第16章 反射與注解 290
16.1 反射 290
16.1.1 訪問構(gòu)造方法 291
16.1.2 訪問成員變量 294
16.1.3 訪問成員方法 297
16.2 Annotation注解功能 300
16.2.1 定義Annotation類型 300
16.2.2 訪問Annotation信息 302
16.3 實(shí)踐與練習(xí) 305
第17章 數(shù)據(jù)庫操作 306
17.1 數(shù)據(jù)庫基礎(chǔ) 306
17.1.1 什么是數(shù)據(jù)庫 307
17.1.2 數(shù)據(jù)庫的種類和功能 307
17.1.3 SQL語言 308
17.2 JDBC概述 309
17.2.1 JDBC技術(shù) 309
17.2.2 JDBC驅(qū)動程序的類型 310
17.3 JDBC中常用的類和接口 310
17.3.1 DriverManager類 310
17.3.2 Connection接口 311
17.3.3 Statement接口 312
17.3.4 PreparedStatement接口 312
17.3.5 ResultSet接口 313
17.4 數(shù)據(jù)庫操作 314
17.4.1 連接數(shù)據(jù)庫 314
17.4.2 向數(shù)據(jù)庫中發(fā)送SQL語句 315
17.4.3 處理查詢結(jié)果集 315
17.4.4 順序查詢 315
17.4.5 模糊查詢 316
17.4.6 預(yù)處理語句 317
17.4.7 添加、修改、刪除記錄 318
17.5 實(shí)踐與練習(xí) 321
第18章 Swing程序設(shè)計 322
18.1 Swing概述 323
18.2 常用窗體 324
18.2.1 JFrame窗體 324
18.2.2 JDialog對話框 326
18.2.3 JOptionPane小型對話框 327
18.3 常用布局管理器 331
18.3.1 null絕對布局管理器 331
18.3.2 FlowLayout流布局管理器 332
18.3.3 BorderLayout邊界布局管理器 333
18.3.4 GridLayout網(wǎng)格布局管理器 334
18.4 常用面板 335
18.4.1 JPanel面板 335
18.4.2 JScrollPane滾動面板 337
18.5 文字標(biāo)簽組件與圖標(biāo) 338
18.5.1 JLabel標(biāo)簽 338
18.5.2 圖標(biāo)的使用 339
18.6 按鈕組件 340
18.6.1 JButton按鈕 340
18.6.2 JRadioButton單選按鈕 341
18.6.3 JCheckBox復(fù)選框 343
18.7 列表組件 344
18.7.1 JComboBox下拉列表框 344
18.7.2 JList列表框 346
18.8 文本組件 347
18.8.1 JTextField文本框 347
18.8.2 JPasswordField密碼框 348
18.8.3 JTextArea文本域 349
18.9 表格組件 350
18.9.1 創(chuàng)建表格 350
18.9.2 DefaultTableModel表格數(shù)據(jù)模型 351
18.9.3 維護(hù)表格模型 352
18.10 事件監(jiān)聽器 354
18.10.1 ActionEvent動作事件 354
18.10.2 KeyEvent鍵盤事件 356
18.10.3 MouseEvent鼠標(biāo)事件 357
18.11 實(shí)踐與練習(xí) 359
第19章 Java繪圖 360
19.1 Java繪圖類 360
19.1.1 Graphics類 360
19.1.2 Graphics2D類 361
19.2 繪制圖形 361
19.3 繪圖顏色與畫筆屬性 365
19.3.1 設(shè)置顏色 365
19.3.2 設(shè)置畫筆 366
19.4 繪制文本 367
19.4.1 設(shè)置字體 367
19.4.2 顯示文字 367
19.5 顯示圖片 369
19.6 圖像處理 370
19.6.1 放大與縮小 370
19.6.2 圖像翻轉(zhuǎn) 372
19.6.3 圖像旋轉(zhuǎn) 374
19.6.4 圖像傾斜 375
19.7 實(shí)踐與練習(xí) 376
第20章 多線程 377
20.1 線程簡介 377
20.2 創(chuàng)建線程 378
20.2.1 繼承Thread類 378
20.2.2 實(shí)現(xiàn)Runnable接口 379
20.2.3 實(shí)現(xiàn)Callable接口 381
20.3 線程的生命周期 382
20.4 操作線程的方法 383
20.4.1 線程的休眠 383
20.4.2 線程的加入 384
20.4.3 線程的中斷 386
20.4.4 線程的禮讓 387
20.5 線程的優(yōu)先級 387
20.6 線程同步 389
20.6.1 線程安全 389
20.6.2 線程同步機(jī)制 390
20.7 實(shí)踐與練習(xí) 392
第21章 并發(fā) 393
21.1 并發(fā)編程 393
21.2 yield()方法 394
21.3 線程上下文切換與死鎖 395
21.3.1 線程的上下文切換 396
21.3.2 線程死鎖 396
21.3.3 避免死鎖 398
21.4 守護(hù)線程與用戶線程 399
21.4.1 守護(hù)線程與用戶線程的區(qū)別 399
21.4.2 守護(hù)線程 399
21.5 ThreadLocal 401
21.6 生產(chǎn)者與消費(fèi)者模式 402
21.6.1 wait()方法和notify()方法 403
21.6.2 await()方法和signal()方法 405
21.7 線程池 408
21.8 實(shí)踐與練習(xí) 412
第22章 網(wǎng)絡(luò)通信 413
22.1 網(wǎng)絡(luò)程序設(shè)計基礎(chǔ) 413
22.1.1 局域網(wǎng)與互聯(lián)網(wǎng) 413
22.1.2 網(wǎng)絡(luò)協(xié)議 414
22.1.3 端口與套接字 415
22.2 TCP程序 415
22.2.1 InetAddress類 416
22.2.2 ServerSocket類 417
22.2.3 TCP網(wǎng)絡(luò)程序設(shè)計 418
22.3 UDP程序 421
22.3.1 DatagramPacket類 421
22.3.2 DatagramSocket類 421
22.3.3 UDP網(wǎng)絡(luò)程序設(shè)計 422
22.4 NIO同步非阻塞網(wǎng)絡(luò)編程 425
22.5 AIO異步非阻塞網(wǎng)絡(luò)編程 428
22.6 實(shí)踐與練習(xí) 429
第4篇 項目實(shí)戰(zhàn)
第23章 飛機(jī)大戰(zhàn)游戲 432
23.1 需求分析 432
23.2 系統(tǒng)設(shè)計 433
23.2.1 系統(tǒng)目標(biāo) 433
23.2.2 系統(tǒng)功能結(jié)構(gòu) 433
23.2.3 業(yè)務(wù)流程圖 433
23.2.4 系統(tǒng)預(yù)覽 433
23.3 技術(shù)準(zhǔn)備 434
23.3.1 Timer類的概念 434
23.3.2 Timer類注意事項 435
23.4 公共模塊設(shè)計 435
23.5 玩家飛機(jī)模型設(shè)計 437
23.6 敵機(jī)模型設(shè)計 439
23.7 導(dǎo)彈模型設(shè)計 440
23.8 空投物資模型設(shè)計 441
23.9 游戲面板模型設(shè)計 442
第24章 MR人臉識別打卡系統(tǒng) 449
24.1 需求分析 449
24.2 系統(tǒng)設(shè)計 450
24.2.1 開發(fā)環(huán)境 450
24.2.2 系統(tǒng)功能結(jié)構(gòu) 450
24.2.3 系統(tǒng)業(yè)務(wù)流程 450
24.3 數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計 451
24.3.1 數(shù)據(jù)庫分析 451
24.3.2 數(shù)據(jù)表設(shè)計 452
24.4 系統(tǒng)文件夾組織結(jié)構(gòu) 453
24.5 工具類的設(shè)計 454
24.5.1 日期時間工具類 455
24.5.2 數(shù)據(jù)庫連接工具類 457
24.6 實(shí)體類的設(shè)計 458
24.7 數(shù)據(jù)庫接口及實(shí)現(xiàn)類設(shè)計 459
24.7.1 數(shù)據(jù)庫接口 460
24.7.2 基于MySQL數(shù)據(jù)庫的接口實(shí)現(xiàn)類 461
24.7.3 數(shù)據(jù)庫接口工廠類 464
24.8 全局會話類的設(shè)計 464
24.9 服務(wù)類的設(shè)計 466
24.9.1 攝像頭服務(wù) 466
24.9.2 人臉識別服務(wù) 467
24.9.3 人事服務(wù) 470
24.9.4 圖像文件服務(wù) 476
24.10 窗體類的設(shè)計 478
24.10.1 主窗體 478
24.10.2 主面板 479
24.10.3 登錄對話框 483
24.10.4 考勤報表面板 484
24.10.5 員工管理面板 488
24.10.6 錄入新員工面板 490
24.11 常見問題與解決 492
24.11.1 如何運(yùn)行項目 492
24.11.2 無法激活人臉識別引擎 492
24.11.3 無法連接MySQL數(shù)據(jù)庫 493
24.11.4 如何切換成SQLite數(shù)據(jù)庫 493