
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗(yàn)證碼 ” ,獲取驗(yàn)證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。如果喜歡,請(qǐng)購(gòu)買正版!
一.資料圖片
二.資料簡(jiǎn)介
本書是深受讀者好評(píng)的《Java入門1·2·3——一個(gè)老鳥的Java學(xué)習(xí)心得》的最新升級(jí)版。作者以獨(dú)特的視角向Java初學(xué)者講述了如何才能真正理解和掌握J(rèn)ava。本書充分考慮了初學(xué)Java的種種困難,講解時(shí)細(xì)致入微,抽絲剝繭,層層推進(jìn),并采用對(duì)比、比喻和類比等方式講解,還給出了大量的流程圖幫助讀者理解各種概念和程序的運(yùn)行過(guò)程,而且還給出了大量簡(jiǎn)單易懂的實(shí)例,真正做到了零門檻學(xué)Java。另外,本書基于最新的Java 8標(biāo)準(zhǔn)講解,以順應(yīng)技術(shù)的發(fā)展,而且還首次引入了在手機(jī)上學(xué)Java編程的方式,并提供了二維碼掃描源代碼和習(xí)題答案的方式。書中的源代碼也經(jīng)過(guò)了上機(jī)測(cè)試,保證可以正常運(yùn)行。
本書共22章,分為3篇。第1篇為Java語(yǔ)言基本語(yǔ)法,包括Java語(yǔ)言概述、配置開發(fā)環(huán)境、Java中的基本數(shù)據(jù)類型、Java運(yùn)算符、Java流程控制語(yǔ)句和數(shù)組。第2篇為Java語(yǔ)言高級(jí)語(yǔ)法,包括類、對(duì)象、方法、繼承、多態(tài)、修飾符、接口、抽象類、內(nèi)部類、Java異常處理和多線程編程。第3篇為Java語(yǔ)言編程進(jìn)階,包括Java編程常用知識(shí)、Java文件編程、Java文件I/O編程、Java TCP編程、Java UDP編程、Java Swing編程、JDBC編程,最后還給出了一個(gè)聊天程序?qū)嵗鸵粋€(gè)數(shù)據(jù)表操作窗口實(shí)例,將Swing、UDP、Java集合類、線程同步、接口和JDBC編程有機(jī)地結(jié)合起來(lái),展示了開發(fā)一個(gè)簡(jiǎn)單程序的典型步驟。
本書雖然只涉及Java入門知識(shí),但因其內(nèi)容豐富,講解詳細(xì),實(shí)例多樣,非常適合初學(xué)編程的讀者閱讀,尤其是沒(méi)有任何基礎(chǔ)的Java入門讀者、Java自學(xué)人員、從其他語(yǔ)言轉(zhuǎn)向Java語(yǔ)言的讀者、大中專院校的學(xué)生和社會(huì)培訓(xùn)班的學(xué)員。
三.資料目錄
第1篇 Java語(yǔ)言基本語(yǔ)法
第1篇 Java語(yǔ)言基本語(yǔ)法
第1章 讓自己的第一個(gè)Java程序跑起來(lái)( 教學(xué)視頻:19分鐘) 2
1.1 想要用Java改變這個(gè)世界嗎? 2
1.1.1 Java有什么優(yōu)勢(shì)? 2
1.1.2 Java在哪兒? 3
1.2 準(zhǔn)備好開始Java之旅 3
1.2.1 下載JDK 4
1.2.2 安裝JDK 5
1.2.3 配置環(huán)境變量 6
1.2.4 測(cè)試環(huán)境是否安裝成功 9
1.2.5 如果失敗了怎么辦? 10
1.3 讓自己的第一個(gè)程序運(yùn)行起來(lái) 11
1.3.1 編寫自己的Hello World源程序 11
1.3.2 編譯自己的HelloWorld程序 13
1.3.3 讓代碼運(yùn)行起來(lái) 15
1.4 手機(jī)上寫程序 15
1.4.1 安裝AIDE 15
1.4.2 編寫手機(jī)上第一個(gè)程序 16
1.4.3 使用書中的程序 20
1.5 初探Hello World 21
1.5.1 類(Class):Java世界中一類物體 21
1.5.2 方法(Method):物體的功能 22
1.5.3 main()方法:所有Java程序執(zhí)行的起點(diǎn) 22
1.6 名詞解釋 23
1.6.1 JDK和Java平臺(tái) 23
1.6.2 Java編譯器(Java Compiler) 23
1.6.3 Java類庫(kù)(Java Class Libraries) 24
1.6.4 Java虛擬機(jī)(Java Virtual Machine) 24
1.6.5 HelloWorld的整個(gè)流程 24
1.7 小結(jié):我們學(xué)會(huì)了編譯和運(yùn)行一個(gè)Java程序! 25
1.8 習(xí)題 25
第2章 搭建自己的集成開發(fā)環(huán)境( 教學(xué)視頻:31分鐘) 26
2.1 安裝集成開發(fā)環(huán)境 26
2.1.1 集成開發(fā)環(huán)境有哪些 26
2.1.2 安裝Eclipse 27
2.2 Eclipse界面介紹 29
2.2.1 啟動(dòng)Eclipse 29
2.2.2 Eclipse的Perspective 31
2.2.3 Eclipse的菜單 31
2.2.4 Eclipse的工具條 31
2.2.5 Eclipse輔助視圖區(qū) 32
2.2.6 Eclipse中的Package Explorer 32
2.2.7 Eclipse中的源代碼編輯器 32
2.2.8 Eclipse的設(shè)置窗口 33
2.2.9 Eclipse中的其他視圖 33
2.3 如何使用Eclipse 34
2.3.1 在Eclipse中創(chuàng)建自己的第一個(gè)項(xiàng)目 34
2.3.2 在Eclipse中編寫HelloWorld程序 35
2.3.3 通過(guò)Eclipse運(yùn)行Hello World 37
2.4 小結(jié):Eclipse——功能很強(qiáng)大 38
2.5 習(xí)題 38
第3章 Java中的基本數(shù)據(jù)類型和運(yùn)算符( 教學(xué)視頻:65分鐘) 39
3.1 Java中的基本數(shù)據(jù)類型 39
3.1.1 基本數(shù)據(jù)類型——編程語(yǔ)言中的數(shù)據(jù)原子 39
3.1.2 Java中的基本數(shù)據(jù)類型介紹 40
3.1.3 基本數(shù)據(jù)類型值域 40
3.2 Java運(yùn)算符 42
3.2.1 變量的概念 42
3.2.2 插曲:Java中的語(yǔ)句 43
3.2.3 定義一個(gè)變量和變量名的規(guī)范 43
3.2.4 Java中的基本運(yùn)算符和表達(dá)式 45
3.2.5 Java中的布爾運(yùn)算符 49
3.2.6 位運(yùn)算符 53
3.3 基本數(shù)據(jù)類型運(yùn)算的難點(diǎn) 54
3.3.1 強(qiáng)制類型轉(zhuǎn)換——小數(shù)哪里去了 54
3.3.2 類型的轉(zhuǎn)換在運(yùn)算中悄悄進(jìn)行 56
3.3.3 強(qiáng)制類型轉(zhuǎn)換最優(yōu)先 58
3.3.4 等號(hào)其實(shí)不簡(jiǎn)單 59
3.3.5 小心使用浮點(diǎn)數(shù)進(jìn)行比較 60
3.3.6 boolean和char 61
3.3.7 不要使用還沒(méi)有定義的變量 63
3.3.8 String——char串起的項(xiàng)鏈 65
3.3.9 轉(zhuǎn)義符——看不見(jiàn)寫得出 68
3.4 小結(jié):基本數(shù)據(jù)類型—— Java中一切數(shù)據(jù)和運(yùn)算的基礎(chǔ) 70
3.5 習(xí)題 72
第4章 Java中的程序執(zhí)行流程( 教學(xué)視頻:117分鐘) 73
4.1 順序執(zhí)行 73
4.2 使用if-else讓程序懂得判斷 74
4.2.1 if語(yǔ)句 74
4.2.2 if語(yǔ)句的嵌套 77
4.2.3 if-else語(yǔ)句 79
4.2.4 if-else語(yǔ)句嵌套 81
4.3 使用while進(jìn)行循環(huán) 82
4.3.1 使用while語(yǔ)句 82
4.3.2 使用do-while語(yǔ)句 85
4.4 使用for進(jìn)行循環(huán) 86
4.4.1 自增和自減操作 86
4.4.2 for語(yǔ)句 88
4.4.3 for語(yǔ)句省略形式 90
4.5 語(yǔ)句中不能不說(shuō)的事 91
4.5.1 小心復(fù)雜語(yǔ)句中創(chuàng)建的變量 91
4.5.2 別讓循環(huán)次數(shù)給弄懵了 93
4.5.3 循環(huán)的嵌套 93
4.6 continue關(guān)鍵字與break關(guān)鍵字 94
4.6.1 continue關(guān)鍵字 95
4.6.2 break關(guān)鍵字 96
4.7 使用switch進(jìn)行跳轉(zhuǎn) 97
4.8 大例子 101
4.8.1 從控制臺(tái)讀取數(shù)據(jù) 101
4.8.2 結(jié)賬程序中的循環(huán) 103
4.9 小結(jié):Java不是一個(gè)直腸子 105
4.10 習(xí)題 106
第5章 數(shù)組( 教學(xué)視頻:35分鐘) 107
5.1 什么是數(shù)組 107
5.1.1 假設(shè):如果需要逐個(gè)定義變量 107
5.1.2 數(shù)組初探 108
5.1.3 數(shù)組——物以類聚 111
5.1.4 數(shù)組元素的值內(nèi)有乾坤 112
5.1.5 創(chuàng)建數(shù)組的簡(jiǎn)潔語(yǔ)法 113
5.2 數(shù)組的“名”與“實(shí)” 115
5.2.1 “名”與“實(shí)”分離的數(shù)組 115
5.2.2 一“實(shí)”多“名”的數(shù)組 116
5.2.3 一“實(shí)”多“名”帶來(lái)的困惑 118
5.3 多維數(shù)組 121
5.3.1 什么是多維數(shù)組 121
5.3.2 多維數(shù)組的實(shí)質(zhì) 122
5.4 數(shù)組大練兵 130
5.4.1 輕松查詢?nèi)喑煽?jī) 130
5.4.2 輕松查詢?nèi)3煽?jī)不在話下 131
5.4.3 楊輝三角 133
5.5 小結(jié):方便快速的數(shù)組 136
5.6 習(xí)題 136
第2篇 Java語(yǔ)言高級(jí)語(yǔ)法
第6章 Java的類(Class)和對(duì)象(Object)( 教學(xué)視頻:59分鐘) 140
6.1 駕駛汽車向類(Class)的世界進(jìn)發(fā) 140
6.1.1 汽車帶來(lái)的問(wèn)題 140
6.1.2 類的組成 142
6.1.3 使用自定義的Car類 144
6.1.4 類和對(duì)象 147
6.1.5 源文件的存放 149
6.1.6 理解引用 151
6.1.7 null關(guān)鍵字 153
6.2 巧妙使用類中的屬性 155
6.2.1 在類中給每個(gè)變量一個(gè)初始值 155
6.2.2 定義自己的引用 156
6.2.3 使用點(diǎn)操作符的技巧 156
6.2.4 類的數(shù)組 157
6.3 小結(jié):Java其實(shí)是個(gè)類和對(duì)象的世界 161
6.4 習(xí)題 161
第7章 Java中的方法——給汽車豐富多彩的功能( 教學(xué)視頻:175分鐘) 162
7.1 方法:讓汽車開動(dòng) 162
7.1.1 引出問(wèn)題:開動(dòng)汽車 162
7.1.2 那么,方法到底是什么呢? 163
7.1.3 方法調(diào)用過(guò)程初探 164
7.2 Java普通方法的組成部分 165
7.2.1 訪問(wèn)控制符:public 166
7.2.2 返回值類型和關(guān)鍵字void 166
7.2.3 方法名(Method Name) 167
7.2.4 參數(shù)列表(Parameter List) 167
7.2.5 方法體(Method Body) 168
7.2.6 方法串串燒 168
7.3 方法的參數(shù):讓汽車加速 169
7.3.1 方法的參數(shù):讓汽車可以加速 169
7.3.2 帶參數(shù)的方法有何不同? 170
7.3.3 讓方法有多個(gè)參數(shù) 171
7.4 返回值:汽車超速了嗎? 172
7.4.1 寫一個(gè)有返回值的方法 172
7.4.2 調(diào)用有返回值的方法 173
7.4.3 發(fā)生了什么?如何使用方法的返回值? 174
7.4.4 使用return結(jié)束方法 174
7.5 方法重載(overload):給汽車加速添個(gè)限制 176
7.5.1 什么是方法的簽名 176
7.5.2 什么是重載?為什么要重載? 176
7.5.3 給汽車加個(gè)重載的方法 177
7.5.4 測(cè)試一下 177
7.5.5 重載容易引發(fā)誤解的兩個(gè)地方——返回類型和形參名 178
7.5.6 重載中的最難點(diǎn)——參數(shù)匹配原則 179
7.6 使用類的實(shí)例作為方法參數(shù) 180
7.6.1 超車方法:使用類實(shí)例做參數(shù) 180
7.6.2 調(diào)用這個(gè)方法 181
7.6.3 發(fā)生了什么 182
7.7 加餐:局部變量和實(shí)例變量 183
7.7.1 什么是局部變量(Local Variable) 184
7.7.2 什么是實(shí)例變量(Instance Variable) 185
7.8 this關(guān)鍵字:指向?qū)ο笞约旱囊?185
7.8.1 發(fā)現(xiàn)問(wèn)題:當(dāng)實(shí)例變量和局部變量重名 186
7.8.2 經(jīng)常深藏不露的this關(guān)鍵字 186
7.8.3 在方法中調(diào)用方法 188
7.9 構(gòu)造方法(Constructor) 189
7.9.1 構(gòu)造(Constructor)方法初探 189
7.9.2 如何使用構(gòu)造方法 190
7.9.3 留個(gè)無(wú)參數(shù)的構(gòu)造方法——給重要屬性賦初始值 192
7.9.4 在構(gòu)造方法中調(diào)用構(gòu)造方法 192
7.10 方法大匯總 194
7.10.1 本例中用到的類 194
7.10.2 使用例程將本章的知識(shí)穿起來(lái) 197
7.11 小結(jié):多方位理解Java方法 199
7.12 習(xí)題 201
第8章 Java中的包(Package)命名、習(xí)慣和注釋( 教學(xué)視頻:43分鐘) 202
8.1 Java中的包(Package) 202
8.1.1 Java中的包 202
8.1.2 在Eclipse中使用包 203
8.1.3 天上掉下個(gè)Package 205
8.1.4 包帶來(lái)了什么? 206
8.2 import語(yǔ)句:化繁為簡(jiǎn) 208
8.2.1 import語(yǔ)句 209
8.2.2 一網(wǎng)打盡包中所有類 210
8.2.3 import語(yǔ)句帶來(lái)的小問(wèn)題 211
8.2.4 默認(rèn)引入的包 212
8.3 命名習(xí)慣大回顧 213
8.4 Java中的注釋 214
8.4.1 使用雙斜杠的單行注釋 214
8.4.2 多行注釋 215
8.4.3 Javadoc注釋 215
8.5 小結(jié):包讓Java的類更清晰優(yōu)雅 217
8.6 習(xí)題 218
第9章 再看數(shù)組、字符串和main()方法( 教學(xué)視頻:29分鐘) 219
9.1 數(shù)組也是類 219
9.1.1 得到數(shù)組的長(zhǎng)度 219
9.1.2 加餐:不可改變的final變量 220
9.1.3 多維數(shù)組的長(zhǎng)度 221
9.1.4 一維數(shù)組的clone()方法 221
9.1.5 當(dāng)數(shù)組類型不再是基本數(shù)據(jù)類型 223
9.1.6 多維數(shù)組的clone()方法 226
9.2 老朋友String類 230
9.2.1 遍歷String中的字符 230
9.2.2 獲取字符串中的一部分 232
9.2.3 判斷兩個(gè)字符串是否相等 233
9.2.4 判斷字符串的開頭和結(jié)尾 234
9.2.5 分割字符串 235
9.2.6 在字符串中查找子字符串或字符 236
9.2.7 替換字符串中的內(nèi)容 236
9.2.8 String對(duì)象——磐石刻字 236
9.3 String類的最佳拍檔——StringBuffer類 237
9.3.1 StringBuffer:專業(yè)操縱字符 237
9.3.2 String和StringBuffer一個(gè)都不能少 239
9.4 最熟悉的陌生人:main()方法 239
9.4.1 main()方法的參數(shù) 239
9.4.2 static關(guān)鍵字 242
9.4.3 當(dāng)方法遇到static關(guān)鍵字 243
9.5 小結(jié):學(xué)會(huì)使用類中的方法 245
9.6 習(xí)題 246
第10章 繼承和多態(tài)( 教學(xué)視頻:115分鐘) 247
10.1 繼承——最優(yōu)的解決方案 247
10.1.1 飯前水果:實(shí)例變量的訪問(wèn)控制符 247
10.1.2 一切還是從汽車開始 248
10.1.3 一類車,一個(gè)類 251
10.1.4 分開也有麻煩 254
10.1.5 使用繼承——問(wèn)題迎刃而解 255
10.1.6 使用Bus類 258
10.1.7 Java中的單繼承 258
10.1.8 Java中的類圖 259
10.1.9 萬(wàn)類之祖——Object類 260
10.2 子類對(duì)象?父類對(duì)象? 261
10.2.1 父隨子行 262
10.2.2 當(dāng)構(gòu)造方法遇到繼承 264
10.2.3 記得給類一個(gè)無(wú)參數(shù)的構(gòu)造方法 265
10.2.4 調(diào)用父類中的構(gòu)造方法 266
10.2.5 對(duì)象也會(huì)“變臉” 268
10.2.6 遵守語(yǔ)法,正確“變臉” 272
10.3 覆蓋——與繼承如影隨形 274
10.3.1 當(dāng)方法不再通用 275
10.3.2 覆蓋——讓眾口不再難調(diào) 276
10.3.3 覆蓋——到底調(diào)用了哪個(gè)方法 280
10.3.4 覆蓋的語(yǔ)法不簡(jiǎn)單 282
10.3.5 更復(fù)雜的使用覆蓋的情況 284
10.3.6 覆蓋——不得不打開的潘多拉魔盒 287
10.3.7 使用super調(diào)用父類中的方法和屬性 289
10.4 多態(tài)(Polymorphism)以及其他 290
10.4.1 多態(tài)——運(yùn)行方知結(jié)果 290
10.4.2 重載也不簡(jiǎn)單 291
10.4.3 使用多態(tài)構(gòu)建車隊(duì) 293
10.5 在多態(tài)的環(huán)境中撥開迷霧 295
10.5.1 神秘的Class類 295
10.5.2 覆蓋不再神秘 296
10.5.3 instanceof運(yùn)算符——讓對(duì)象告訴你它的類是誰(shuí) 297
10.6 小結(jié):繼承和多態(tài)讓世界豐富多彩 298
10.7 習(xí)題 300
第11章 修飾符(Qualifier)( 教學(xué)視頻:26分鐘) 302
11.1 插曲:類的組成部分的名字 302
11.2 類中的修飾符 303
11.2.1 無(wú)修飾符類 303
11.2.2 類的可見(jiàn)性 304
11.2.3 final——讓類不可被繼承 306
11.2.4 理解final關(guān)鍵字 307
11.2.5 總結(jié):類的修飾符 308
11.3 方法的修飾符 308
11.3.1 方法的訪問(wèn)控制符 309
11.3.2 public:沒(méi)有限制的修飾符 310
11.3.3 protected:僅對(duì)子類和同包的類可見(jiàn) 311
11.3.4 默認(rèn)控制符:僅在本包中可見(jiàn) 312
11.3.5 private:僅對(duì)本類可見(jiàn) 314
11.3.6 理解4個(gè)訪問(wèn)控制符 315
11.3.7 訪問(wèn)控制符可見(jiàn)性匯總 317
11.3.8 訪問(wèn)控制符帶來(lái)的覆蓋問(wèn)題 317
11.3.9 final:不允許方法被覆蓋 321
11.3.10 重溫靜態(tài)方法 322
11.3.11 靜態(tài)方法——類范圍里的概念 323
11.3.12 靜態(tài)方法何以為“靜態(tài)” 325
11.4 變量的修飾符 328
11.4.1 變量方法皆成員 328
11.4.2 變量的訪問(wèn)控制符 329
11.4.3 使用private修飾類的成員變量 329
11.4.4 使用private,然后呢? 331
11.4.5 變量的覆蓋 334
11.4.6 使用final修飾成員變量 337
11.4.7 靜態(tài)成員變量 338
11.4.8 局部變量的修飾符 339
11.4.9 當(dāng)final遇到引用類型成員變量 339
11.5 小結(jié):修飾符作用大 341
11.6 習(xí)題 342
第12章 接口( 教學(xué)視頻:29分鐘) 343
12.1 自行車帶來(lái)的問(wèn)題 343
12.1.1 記錄馬路上的車輛 343
12.1.2 引發(fā)問(wèn)題的自行車 347
12.1.3 仔細(xì)分析recordTransport()方法 350
12.2 初用接口 351
12.2.1 準(zhǔn)備好需要用到的類 351
12.2.2 認(rèn)識(shí)接口的代碼組成 352
12.2.3 什么是接口 353
12.2.4 使用接口僅需一步——實(shí)現(xiàn)接口 354
12.2.5 接口——讓類集多重類型于一身 356
12.2.6 簡(jiǎn)化recordTransport()方法 359
12.3 再探接口 361
12.3.1 重溫上節(jié)中的程序 362
12.3.2 面向接口編程 363
12.3.3 話說(shuō)“抽象” 365
12.3.4 接口大瘦身 367
12.3.5 實(shí)現(xiàn)多個(gè)接口 368
12.3.6 接口中的變量 370
12.3.7 接口的繼承 371
12.3.8 匹配抽象方法中的類型 372
12.3.9 空接口 374
12.4 小結(jié):接口的難點(diǎn)在于何時(shí)使用 375
12.5 習(xí)題 376
第13章 抽象類和內(nèi)部類( 教學(xué)視頻:26分鐘) 378
13.1 抽象類(Abstract Class) 378
13.1.1 不知道怎么打招呼的Person類 378
13.1.2 當(dāng)類中有了抽象方法 381
13.1.3 抽象類語(yǔ)法詳解 381
13.1.4 理解抽象類的作用 382
13.2 內(nèi)部類的分類(Inner Class) 383
13.2.1 成員內(nèi)部類 383
13.2.2 局部?jī)?nèi)部類 385
13.3 成員內(nèi)部類 387
13.3.1 使用成員內(nèi)部類 387
13.3.2 成員內(nèi)部類的修飾符 388
13.3.3 在類外部使用內(nèi)部類 389
13.3.4 非靜態(tài)內(nèi)部類的特性 391
13.3.5 外部類訪問(wèn)成員內(nèi)部類中的屬性 395
13.3.6 靜態(tài)成員內(nèi)部類 396
13.4 局部?jī)?nèi)部類 398
13.4.1 局部?jī)?nèi)部類之“局部” 398
13.4.2 局部?jī)?nèi)部類之“內(nèi)部類” 400
13.4.3 使用局部?jī)?nèi)部類 402
13.5 匿名內(nèi)部類(Anonymous inner classes) 402
13.5.1 準(zhǔn)備工作 403
13.5.2 匿名內(nèi)部類的語(yǔ)法 403
13.5.3 通過(guò)接口使用匿名類 404
13.5.4 通過(guò)抽象類使用匿名類 405
13.6 類,這樣一路走來(lái) 405
13.7 小結(jié):豐富多彩的類 409
13.8 習(xí)題 411
第14章 Java的異常處理機(jī)制( 教學(xué)視頻:36分鐘) 412
14.1 認(rèn)識(shí)異常 412
14.1.1 異常什么時(shí)候發(fā)生 412
14.1.2 異常是什么 415
14.1.3 Java異常機(jī)制的流程 416
14.2 拋出異常 417
14.2.1 異常類的父類——Throwable 417
14.2.2 在代碼中使用throw拋出一個(gè)異常 419
14.2.3 在方法聲明中使用throws 421
14.2.4 構(gòu)造自定義異常類 423
14.2.5 使用自定義異常類 424
14.3 異常的傳遞 425
14.3.1 拋出最確切的異常類型 425
14.3.2 Java異常的傳遞 427
14.3.3 圖說(shuō)Java異常的傳遞 429
14.4 異常的處理 433
14.4.1 把異常捉住 433
14.4.2 圖說(shuō)異常處理流程 436
14.4.3 多類異常,一并處理 439
14.4.4 try-catch-finally語(yǔ)句 441
14.4.5 try-finally語(yǔ)句 446
14.4.6 好好利用catch語(yǔ)句 447
14.5 異常的類型 448
14.5.1 3個(gè)類的繼承關(guān)系 449
14.5.2 必須處理的Exception類 449
14.5.3 靈活掌握的RuntimeException類 450
14.5.4 不用處理的Error類 450
14.6 小結(jié):終止錯(cuò)誤的蔓延 451
14.7 習(xí)題 452
第15章 多線程編程( 教學(xué)視頻:74分鐘) 453
15.1 線程——執(zhí)行代碼的機(jī)器 453
15.1.1 線程——執(zhí)行代碼的基本單位 453
15.1.2 演奏會(huì)模型 455
15.2 Java中的線程編程 458
15.2.1 線程類Thread 458
15.2.2 覆蓋Thread類的run()方法 459
15.2.3 使用Runnable接口 461
15.2.4 兩個(gè)線程 463
15.3 深入學(xué)習(xí)Thread類 464
15.3.1 線程的名字 464
15.3.2 得到當(dāng)前的線程 466
15.3.3 讓線程“沉睡” 469
15.4 多個(gè)線程的故事 472
15.4.1 一個(gè)有多個(gè)線程的程序 473
15.4.2 復(fù)印社模型 475
15.4.3 一個(gè)簡(jiǎn)單的復(fù)印社例程 477
15.5 多個(gè)線程的同步 479
15.5.1 線程同步之synchronized關(guān)鍵字 479
15.5.2 深入學(xué)習(xí)synchronized關(guān)鍵字 484
15.5.3 靜態(tài)同步方法 485
15.5.4 非靜態(tài)的同步方法 488
15.5.5 銀行的麻煩——賬戶亂套了 490
15.5.6 多角度理解同步方法 497
15.5.7 閑話同步方法的使用 500
15.5.8 同步代碼塊 501
15.5.9 鎖(Lock) 502
15.5.10 線程同步之wait()和notify()方法 504
15.5.11 wait和notify的順序 507
15.6 小結(jié):線程——代碼執(zhí)行器 510
15.7 習(xí)題 511
第3篇 Java語(yǔ)言編程進(jìn)階
第16章 如何學(xué)習(xí)本篇( 教學(xué)視頻:15分鐘) 514
16.1 多想多寫多練 514
16.2 術(shù)業(yè)有專攻 514
16.3 拆分問(wèn)題,逐個(gè)擊破 516
16.4 閱讀Javadoc 516
16.5 小結(jié):大練兵馬上開始 522
16.6 習(xí)題 523
第17章 編程常用知識(shí)( 教學(xué)視頻:18分鐘) 524
17.1 再談對(duì)象的比較 524
17.1.1 hashcode()方法 524
17.1.2 equals()方法 525
17.1.3 對(duì)象的比較equals()方法 525
17.2 Java中的集合類框架 526
17.2.1 集合類框架中的接口 526
17.2.2 List接口 527
17.2.3 使用ArrayList 528
17.2.4 Set接口 532
17.2.5 使用HashSet類 533
17.2.6 List與Set 534
17.3 泛型簡(jiǎn)介 534
17.3.1 沒(méi)有泛型時(shí)的程序 535
17.3.2 使用泛型——避免強(qiáng)制類型轉(zhuǎn)換 536
17.4 Map接口 538
17.4.1 認(rèn)識(shí)Map 538
17.4.2 使用HashMap 539
17.5 字符集和編碼 540
17.5.1 字符集 541
17.5.2 編碼 541
17.5.3 關(guān)于字符集的小程序 542
17.6 小結(jié):編程需要打好基礎(chǔ) 545
17.7 習(xí)題 546
第18章 Java文件編程和Java文件I/O( 教學(xué)視頻:9分鐘) 548
18.1 Java中的文件編程 548
18.1.1 File類 548
18.1.2 創(chuàng)建和刪除文件 549
18.1.3 列出文件和文件夾 550
18.1.4 重命名文件 552
18.2 Java的I/O編程 553
18.2.1 理解Java中的Stream 553
18.2.2 向文件中寫入數(shù)據(jù) 555
18.2.3 從文件中讀取數(shù)據(jù) 557
18.2.4 從控制臺(tái)讀取數(shù)據(jù) 558
18.2.5 使用輸出流寫入數(shù)據(jù) 561
18.2.6 使用輸入流讀取數(shù)據(jù) 562
18.3 小結(jié):Java中的文件類和輸入/輸出機(jī)制 563
18.4 習(xí)題 564
第19章 Java Socket編程( 教學(xué)視頻:8分鐘) 565
19.1 IP地址和端口號(hào) 565
19.1.1 IP地址——計(jì)算機(jī)的標(biāo)識(shí) 565
19.1.2 端口號(hào)——通信的窗口 566
19.1.3 網(wǎng)絡(luò),IP地址和端口號(hào) 568
19.2 Java TCP編程 568
19.2.1 數(shù)據(jù)傳輸協(xié)議 569
19.2.2 TCP的數(shù)據(jù)傳輸模式 569
19.2.3 第一個(gè)TCP小程序 570
19.3 Java UDP編程 574
19.3.1 UDP的數(shù)據(jù)傳輸模式 574
19.3.2 使用UDP協(xié)議收發(fā)數(shù)據(jù) 575
19.3.3 TCP和UDP的區(qū)別 577
19.4 小結(jié):讓程序伸向整個(gè)網(wǎng)絡(luò) 578
19.5 習(xí)題 578
第20章 Java Swing編程( 教學(xué)視頻:14分鐘) 579
20.1 Java Swing編程簡(jiǎn)介 579
20.1.1 圖形用戶界面編程簡(jiǎn)介 579
20.1.2 組件 580
20.1.3 布局管理器(Layout Manager) 580
20.1.4 事件處理(Event Handling) 581
20.2 Swing基本組件 582
20.2.1 窗口(JFrame) 582
20.2.2 Swing的線程 584
20.2.3 Swing組件的鼻祖——JComponent 584
20.2.4 Swing面板類 585
20.2.5 Swing中的標(biāo)簽 585
20.2.6 Swing中的文本框 587
20.2.7 Swing中的文本域 588
20.2.8 Swing中的組合框 589
20.2.9 Swing中的按鈕 590
20.3 Swing的布局管理器 591
20.3.1 最簡(jiǎn)單的FlowLayout 591
20.3.2 東南西北中之BorderLayout 591
20.3.3 平均分割之——GridLayout 593
20.3.4 最強(qiáng)大的布局管理器——GridBagLayout 594
20.3.5 使用多個(gè)布局管理器 597
20.4 Swing的事件處理 598
20.4.1 事件的傳遞和封裝 598
20.4.2 事件監(jiān)聽器——事件的處理者 599
20.4.3 Swing事件處理的機(jī)制 601
20.4.4 事件監(jiān)聽器的編寫 603
20.4.5 如何學(xué)習(xí)更多的事件 605
20.5 小結(jié):從此不再依賴控制臺(tái) 605
20.6 習(xí)題 606
第21章 編程,需要的是想象力和恒心( 教學(xué)視頻:13分鐘) 607
21.1 編程的前奏 607
21.1.1 細(xì)數(shù)手中的積木 607
21.1.2 發(fā)揮想象力 608
21.1.3 確定程序的功能 609
21.2 聊天窗口程序 609
21.2.1 聊天程序設(shè)計(jì) 609
21.2.2 設(shè)計(jì)程序運(yùn)行效果 611
21.2.3 UDP消息收發(fā)模塊 613
21.2.4 圖形用戶界面模塊 616
21.2.5 消息處理模塊 618
21.2.6 一個(gè)更通用的聊天程序 619
21.3 小結(jié):編程是必不可少的鍛煉 620
21.4 習(xí)題 621
第22章 JDBC入門( 教學(xué)視頻:11分鐘) 622
22.1 JDBC的基本API 622
22.1.1 JDBC是什么 622
22.1.2 DriverManager——驅(qū)動(dòng)管理器 624
22.1.3 Connection接口 625
22.1.4 Statement接口 625
22.1.5 PreparedStatement接口 625
22.1.6 ResultSet接口 626
22.1.7 數(shù)據(jù)庫(kù)驅(qū)動(dòng) 626
22.2 一個(gè)操作數(shù)據(jù)庫(kù)的簡(jiǎn)單程序 627
22.2.1 程序的執(zhí)行結(jié)果 627
22.2.2 程序設(shè)計(jì)與模塊劃分 628
22.2.3 準(zhǔn)備好數(shù)據(jù)源 629
22.2.4 數(shù)據(jù)庫(kù)操作模塊的實(shí)現(xiàn) 630
22.2.5 圖形用戶界面模塊的實(shí)現(xiàn) 630
22.3 小結(jié):強(qiáng)大的JDBC標(biāo)準(zhǔn) 632
22.4 習(xí)題 633
后記 634