本書旨在培養讀者的Java技術創新和實踐能力,為有志于從事Java項目開發工作的廣大讀者提供一本綜合學習與項目實戰開發經驗的實用工具書。 本書堅持理論和實踐結合,引進以項目為驅動的開發模式。全書穿插提供了114個示例、13個小型項目實訓和兩個大型項目實訓,代碼近20 000行,使讀者能夠在掌握基本理論知識的同時,提高項目開發能力。 本書適用的讀者對象包括初級、中級Java工程師,也可作為普通高等學校和社會培訓機構Java程序設計課程的教材。
1.注重理論、培養能力。本書既注重理論知識的介紹,又強調項目開發能力的提高;通過深入淺出的學習以及項目的開發能夠積累近2萬行代碼的開發經驗。
2.項目講解直觀、項目開發易學易懂。本書配備了豐富的圖例說明,對項目開發過程的介紹簡潔直觀,容易理解;以項目形式貫穿理論學習始終,大量不同規模項目的配備及詳細介紹從不同深度和角度剖析項目開發過程、展示項目開發方法,使項目開發可以循序漸進、輕松上手。
3.語言簡潔,易懂易用。本書用語簡單、易于理解,使讀者能夠更容易理解理論知識。
4.是工具書又是教材和實訓指導書。本書既詳細介紹了Java技術,又系統地闡述了項目的開發過程。在各章節中已有示例的基礎上為每章配備一節“項目實訓”,用于結合相關章節內容介紹項目開發相關的技術和方法,并總結、歸納Java程序設計中常見問題及解決方案,以備讀者在項目開發中遇到問題時即時參考。
5.“一站式服務”。提供配套教學資源,包括本書中所有示例及項目源代碼、教學課件、教學日歷、教學大綱、課后習題參考答案、期末自測試卷(可在清華大學出版社網站下載:www.tup.com.cn)。另外,提供QQ和郵箱服務,使技術交流和項目開發更加快速便捷,并方便獲取更多的其它相關資料。
2015年12月第1章Java入門1
1.1Java語言的誕生與發展1
1.2Java語言簡介2
1.3Java語言的特征3
1.3.1簡單3
1.3.2面向對象3
1.3.3分布式3
1.3.4健壯性4
1.3.5安全4
1.3.6解釋型4
1.3.7可移植4
1.3.8高性能4
1.3.9多線程4
1.3.10動態5
1.4Java程序的工作原理5
1.5Java應用程序5
1.5.1Application應用程序6
1.5.2Applet小應用程序9
1.6項目實訓12
1.6.1項目目的12
1.6.2項目需求分析12
1.6.3項目實現13
1.6.4常見問題及解決方案14
1.7課外閱讀——計算機語言的發展史19
1.8本章小結22
1.9習題22
1.9.1選擇題22
1.9.2填空題23
1.9.3論述題23
1.9.4操作題23[1]〖2〗深入淺出Java程序設計[1]目錄〖2〗第2章Java開發環境25
2.1JDK的安裝和配置25
2.1.1JDK的簡介與下載25
2.1.2JDK的安裝和配置簡介25
2.2NetBeans開發環境30
2.2.1NetBeans簡介與下載30
2.2.2NetBeans的安裝和使用31
2.3Eclipse開發環境36
2.3.1Eclipse簡介與下載37
2.3.2Eclipse的使用37
2.4項目實訓43
2.4.1項目目的43
2.4.2項目需求分析43
2.4.3項目實現43
2.4.4常見問題及解決方案45
2.5課外閱讀——IBM公司的發展史45
2.6小結52
2.7習題52
第3章Java語言基礎53
3.1Java程序的基本結構53
3.2標識符和關鍵字55
3.2.1標識符56
3.2.2關鍵字56
3.3分隔符58
3.4數據類型59
3.4.1基本數據類型60
3.4.2數據類型轉換62
3.5常量和變量64
3.5.1常量64
3.5.2變量65
3.6運算符與表達式66
3.6.1運算符66
3.6.2表達式70
3.7項目實訓71
3.7.1項目目的71
3.7.2項目需求分析71
3.7.3項目實現72
3.7.4常見問題及解決方案73
3.8課外閱讀——馮·諾依曼74
3.9本章小結76
3.10習題77
3.10.1選擇題77
3.10.2填空題77
3.10.3論述題78
3.10.4操作題78
第4章控制語句79
4.1順序語句79
4.2選擇語句81
4.2.1if語句81
4.2.2switch分支語句85
4.3循環語句87
4.3.1while語句87
4.3.2dowhile語句89
4.3.3for語句92
4.4轉移語句95
4.4.1break語句95
4.4.2continue語句96
4.4.3return語句97
4.5項目實訓98
4.5.1項目目的98
4.5.2項目需求分析98
4.5.3項目實現99
4.5.4常見問題及解決方案101
4.6課外閱讀——Sun公司的發展史102
4.7本章小結106
4.8習題106
4.8.1選擇題106
4.8.2填空題106
4.8.3論述題106
4.8.4操作題107
第5章數組和字符串108
5.1數組108
5.1.1一維數組108
5.1.2二維數組115
5.2字符串118
5.2.1聲明字符串變量118
5.2.2字符串的運算119
5.2.3String類的常用方法120
5.3項目實訓122
5.3.1項目目的122
5.3.2項目需求分析122
5.3.3項目實現123
5.3.4常見問題及解決方案125
5.4課外閱讀——蘋果公司的發展史126
5.5本章小結129
5.6習題129
5.6.1選擇題129
5.6.2填空題129
5.6.3論述題129
5.6.4操作題130
第6章類和對象131
6.1類和對象131
6.1.1類131
6.1.2對象135
6.2類的封裝性136
6.2.1構造方法136
6.2.2成員方法139
6.2.3訪問權限140
6.2.4this、static、final、instanceof141
6.3類的繼承性146
6.3.1父類和子類146
6.3.2子類的聲明與方法的覆蓋147
6.3.3super148
6.3.4類的封裝性、繼承性程序應用149
6.4類的多態性162
6.4.1多態性的概念162
6.4.2方法的重載和覆蓋162
6.4.3多態性程序應用163
6.5包169
6.5.1包的概念169
6.5.2包的創建和包對文件的管理170
6.5.3包的導入170
6.6抽象類與接口171
6.6.1抽象類171
6.6.2接口172
6.7內部類與匿名類180
6.7.1內部類180
6.7.2匿名類181
6.8項目實訓182
6.8.1項目目的182
6.8.2項目需求分析182
6.8.3項目實現182
6.8.4常見問題及解決方案184
6.9課外閱讀——面向對象簡介185
6.10本章小結188
6.11習題188
6.11.1選擇題188
6.11.2填空題188
6.11.3論述題189
6.11.4操作題189
第7章異常處理190
7.1Java異常處理的基本概念190
7.1.1錯誤與異常191
7.1.2錯誤和異常的分類191
7.2異常處理193
7.2.1捕獲異常并處理194
7.2.2拋出異常196
7.3自定義異常類198
7.4項目實訓201
7.4.1項目目的201
7.4.2項目需求分析201
7.4.3項目實現202
7.4.4常見問題及解決方案202
7.5課外閱讀——HP公司的發展史203
7.6本章小結208
7.7習題208
7.7.1選擇題208
7.7.2填空題209
7.7.3論述題209
7.7.4操作題209
第8章圖形用戶界面210
8.1Swing簡介210
8.2Swing組件211
8.2.1Swing組件關系211
8.2.2JFrame和JLabel組件212
8.2.3JDialog和JOptionPane組件216
8.2.4JTextField和JPasswordField組件219
8.2.5JButton、JCheckBox和JRadioButton組件221
8.2.6JComboBox、JList、JTextArea和JScrollPane組件223
8.2.7JPanel和JSlider組件224
8.3布局管理器226
8.3.1布局管理器的概念226
8.3.2FlowLayout布局管理器227
8.3.3BorderLayout布局管理器228
8.3.4GridLayout布局管理器230
8.3.5BoxLayout布局管理器231
8.3.6CardLayout布局管理器233
8.3.7GroupLayout234
8.4事件處理237
8.4.1事件處理簡介238
8.4.2事件與事件源240
8.4.3監聽器的使用241
8.4.4事件處理243
8.4.5鼠標事件245
8.4.6鍵盤事件247
8.5高級組件249
8.5.1菜單249
8.5.2表格256
8.5.3JTree263
8.6項目實訓277
8.6.1項目目的277
8.6.2項目需求分析277
8.6.3項目實現277
8.6.4常見問題及解決方案283
8.7課外閱讀——圖形用戶界面的發展史284
8.8本章小結285
8.9習題285
8.9.1選擇題285
8.9.2填空題286
8.9.3論述題286
8.9.4操作題286
第9章JDBC技術287
9.1JDBC簡介287
9.2通過JDBC技術訪問數據庫289
9.2.1通過JDBC訪問MySQL數據庫289
9.2.2通過JDBC訪問MicrosoftSQLServer數據庫294
9.3查詢數據庫301
9.4更新數據庫307
9.5項目實訓308
9.5.1項目目的308
9.5.2項目需求分析308
9.5.3項目實現309
9.5.4常見問題及解決方案321
9.6課外閱讀——DBMS技術簡介322
9.7本章小結325
9.8習題325
9.8.1選擇題325
9.8.2填空題325
9.8.3論述題325
9.8.4操作題325
第10章IPTTM管理系統項目實訓326
10.1項目需求說明326
10.2項目分析與設計327
10.3項目的數據庫設計327
10.4項目的開發過程330
10.4.1項目的模塊劃分及其結構330
10.4.2項目的登錄和注冊功能設計與實現331
10.4.3項目主界面設計與實現339
10.4.4項目的用戶管理功能設計與實現342
10.4.5項目的資費管理功能設計與實現354
10.4.6項目其他功能模塊的設計與實現363
10.5課外閱讀——企業管理系統363
10.6本章小結364
10.7習題364
第11章I/O流與文件365
11.1文件與流簡介365
11.1.1文件簡介365
11.1.2流簡介366
11.2字節輸入輸出流367
11.2.1InputStream和FileInputStream367
11.2.2OutputStream和FileOutputStream371
11.2.3DataInputStream和DataOutputStream374
11.2.4ObjectInputStream和ObjectOutputStream377
11.2.5BufferedInputStream和BufferedOutputStream379
11.2.6標準的輸入輸出流382
11.3字符輸入輸出流384
11.3.1Reader和Writer384
11.3.2FileReader和FileWriter386
11.3.3BufferedReader和BufferedWriter387
11.4文件操作類390
11.4.1文件類390
11.4.2隨機訪問文件類392
11.4.3文件過濾器接口394
11.4.4文件對話框類396
11.5項目實訓398
11.5.1項目目的398
11.5.2項目需求分析398
11.5.3項目實現398
11.5.4常見問題及解決方案414
11.6課外閱讀——操作系統簡介414
11.7本章小結418
11.8習題419
11.8.1選擇題419
11.8.2填空題419
11.8.3論述題419
11.8.4操作題419
第12章多線程420
12.1多線程簡介420
12.1.1什么是程序、進程和線程420
12.1.2使用線程的好處422
12.2線程的實現422
12.2.1繼承Thread線程類422
12.2.2實現接口Runnable425
12.2.3Timer類和TimerTask類428
12.3線程的生命周期429
12.3.1線程的狀態429
12.3.2線程的優先級430
12.3.3線程的調度432
12.4線程的同步439
12.4.1線程間的關系439
12.4.2線程同步問題441
12.5項目實訓445
12.5.1項目目的445
12.5.2項目需求分析446
12.5.3項目實現446
12.5.4常見問題及解決方案449
12.6課外閱讀——微軟公司的發展史450
12.7本章小結456
12.8習題456
12.8.1選擇題456
12.8.2填空題456
12.8.3論述題456
12.8.4操作題456
第13章網絡編程457
13.1網絡通信簡介457
13.2統一資源定位器458
13.3Java網絡編程464
13.3.1Java網絡編程概述464
13.3.2基于TCP的網絡編程原理465
13.3.3基于TCP的網絡編程實現466
13.3.4基于UDP的Socket編程原理480
13.3.5基于UDP的Socket編程實現481
13.3.6基于SSL的Socket編程原理484
13.4項目實訓485
13.4.1項目目的485
13.4.2項目需求分析485
13.4.3項目實現486
13.4.4常見問題及解決方案487
13.5課外閱讀——互聯網的發展史488
13.6本章小結492
13.7習題492
13.7.1選擇題492
13.7.2填空題493
13.7.3論述題493
13.7.4操作題493
第14章集合494
14.1Java集合框架494
14.2Collection接口496
14.3List接口499
14.3.1ArrayList類499
14.3.2LinkedList類502
14.4Map接口505
14.4.1HashMap類506
14.4.2TreeMap類509
14.5Set接口513
14.5.1HashSet類514
14.5.2TreeSet類520
14.6迭代器與比較器522
14.6.1迭代器522
14.6.2比較器527
14.7集合工具類532
14.7.1Arrays類532
14.7.2Collections類537
14.8項目實訓541
14.8.1項目目的541
14.8.2項目需求分析541
14.8.3項目實現543
14.8.4常見問題及解決方案555
14.9課外閱讀——云計算556
14.10本章小結563
14.11習題564
14.11.1選擇題564
14.11.2填空題568
14.11.3論述題570
14.11.4操作題570
第15章MySQL數據庫應用572
15.1MySQL基礎知識572
15.1.1MySQL介紹572
15.1.2MySQL下載574
15.1.3MySQL安裝575
15.1.4MySQL插件的使用583
15.2MySQL及其插件的使用586
15.2.1創建數據庫586
15.2.2導出/導入數據庫589
15.2.3創建表591
15.3課外閱讀——大數據592
15.4本章小結599
15.5習題599
第16章網絡即時通信系統項目實訓600
16.1C/S模式600
16.2項目需求分析601
16.3項目設計601
16.3.1服務器端設計601
16.3.2客戶端設計602
16.3.3通信協議設計602
16.4項目的數據庫設計603
16.5項目的開發過程604
16.5.1項目簡介604
16.5.2網絡通信系統服務器端實現606
16.5.3網絡通信系統客戶端實現645
16.5.4網絡通信系統功能演示690
16.6常見問題及解決方案702
16.7課外閱讀——即時通信軟件702
16.8本章小結705
16.9習題705
參考文獻706