內容簡介
本書講解Java程式設計知識及其編程方法,包括Java語言的基礎語法、結構化程式設計、面向對象程式設計、數組、字元串、向量、哈希表、泛型、枚舉、異常處理、檔案和數據流、圖形用戶界面設計、小應用程式、執行緒、編程規範、網路程式設計、多媒體和圖形學程式設計以及資料庫程式設計等。
本書的章節編排與內容以人們學習與認知過程為基礎,與公司的實際需求相匹配。內容力求簡明,每章都附有習題,而且在附錄中包含了圖、表、例程以及類和接口的頁碼索引,在正文中採用特殊字型突出中心詞,希望讀者在輕鬆和歡樂之中迅速地了解並掌握Java程式設計的知識和方法,能套用到實踐中去。
本書內容豐富,結構合理,語言簡練,而且提供了豐富的例程,既可以作為計算機專業和非計算機專業的基礎教材以及Sun公司的SCJP(Java程式設計師認證)考試的輔導教材,也可以作為需要使用Java語言的工程人員和科技工作者的自學參考書。
作者簡介
1991年到2000年就讀於清華大學計算機科學與技術系,獲學士、碩士和博士學位,被評為清華大學優秀博士畢業生,博士論文被評為全國優秀博士論文。從2000年3月到2000年6月在香港科技大學計算機系擔任訪問研究員;從2000年11月到2002年9月在美國肯塔基大學計算機系做博士後;現為清華大學軟體學院教師。
從2003年起在清華大學開設了《Java程式設計》、《計算機圖形學》和《計算機動畫的算法與技術》等課程,編寫了教材《Java程式設計》,很受學生歡迎。根據清華大學2003-2004學年秋季學期教學評估結果,教學成績在全校名列前茅,獲得學生一致好評,在清華大學軟體學院所有參評教師中取得教學成績第一名。獲得了清華大學軟體學院教學工作優秀獎,大學生研究訓練計畫(SRT)優秀指導教師一等獎和清華之友——優秀教師獎。
目錄
第1章緒論 1
1.1歷史簡介 1
1.2特點 2
1.3開發環境的建立 3
1.4Java程式及其執行過程 13
1.4.1開發Java程式的工作流程 13
1.4.2Java程式的工作原理 21
1.5本章小結 22
習題 23
第2章結構化程式設計 24
2.1標識符和關鍵字 24
2.2基本數據類型、直接量和變數 28
2.2.1基本數據類型 28
2.2.2直接量 29
2.2.3變數 31
2.3運算符 34
2.3.1算術運算符 35
2.3.2關係運算符 36
2.3.3布爾邏輯運算符 37
2.3.4位運算符 38
2.3.5賦值類運算符 42
2.3.6條件運算符 43
2.3.7其他運算符 43
2.4控制結構 43
2.4.1if語句和if-else語句 44
2.4.2switch語句 46
2.4.3for語句 48
2.4.4while語句 50
2.4.5do-while語句 51
2.4.6break語句 52
2.4.7continue語句 53
2.5結構化程式設計 57
2.6本章小結 59
習題 59
第3章面向對象程式設計 62
3.1類、域、方法和實例對象 62
3.2繼承性 70
3.3多態性 74
3.3.1靜態多態性 75
3.3.2動態多態性 77
3.4包 80
3.5封裝性 85
3.6修飾詞abstract、static和final 88
3.6.1修飾詞abstract 88
3.6.2修飾詞static 89
3.6.3修飾詞final 93
3.7接口 94
3.8內部類 96
3.9變數作用域範圍與參數傳遞方式 105
3.9.1變數作用域範圍 105
3.9.2方法調用的值傳遞方式 109
3.10面向對象程式設計基本思想 113
3.11本章小結 116
習題 117
第4章數組、字元串、向量與哈希表 119
4.1數組 119
4.1.1一維數組 120
4.1.2多維數組 122
4.2字元串和字元串緩衝區 129
4.2.1String 129
4.2.2StringBuffer 141
4.3向量 147
4.4哈希表 152
4.4.1哈希表的基本原理 152
4.4.2Hashtable、HashMap和WeakHashMap 153
4.5本章小結 158
習題 158
第5章泛型、枚舉與for語句的簡化寫法 162
5.1泛型 162
5.2枚舉 168
5.3for語句的簡化寫法 172
5.4本章小結 176
習題 177
第6章異常處理、遞歸和單體程式設計方法 178
6.1異常處理 178
6.1.1異常及其種類 178
6.1.2異常產生 180
6.1.3異常處理 181
6.1.4自定義異常類型 186
6.2遞歸方法 188
6.3單體程式設計模式 191
6.3.1單體程式設計模式的實現方法 191
6.3.2單體類Runtime 194
6.4本章小結 197
習題 197
第7章檔案與數據流 200
7.1輸入流與輸出流 200
7.1.1InputStream和FileInputStream 200
7.1.2OutputStream和FileOutputStream 204
7.1.3PrintStream 207
7.1.4數據的輸入流和輸出流 211
7.1.5帶快取的輸入流和輸出流 214
7.1.6標準輸入輸出流的重定向 217
7.2隨機訪問檔案 219
7.3讀寫器 223
7.3.1Reader和Writer 223
7.3.2FileReader和FileWriter 224
7.3.3帶快取的讀寫器 226
7.3.4PrintWriter 229
7.3.5從控制台視窗讀入數據 231
7.4對象序列化 235
7.5檔案 241
7.6本章小結 245
習題 246
第8章Swing圖形用戶界面程式設計 247
8.1組件和容器 247
8.1.1整體介紹 247
8.1.2JFrame和JLabel 248
8.1.3JDialog和JOptionPane 252
8.1.4JTextField和JPasswordField 257
8.1.5JButton、JCheckBox和JRadioButton 259
8.1.6JComboBox、JList、JTextArea和JScrollPane 263
8.1.7JSlider和JPanel 266
8.2布局管理器 269
8.2.1FlowLayout和GridLayout 269
8.2.2BorderLayout 271
8.2.3BoxLayout 273
8.2.4GridBagLayout 275
8.2.5CardLayout 278
8.2.6組合布局方式 280
8.2.7自定義布局管理器 282
8.3事件處理模型 287
8.3.1事件處理模型的3個要素 288
8.3.2滑鼠事件處理和自定義繪製 295
8.3.3鍵盤事件處理 304
8.4高級圖形用戶界面 308
8.4.1選單 308
8.4.2表格 317
8.4.3多文檔界面 326
8.5本章小結 330
習題 331
第9章小應用程式 333
9.1源程式 333
9.1.1生命周期 333
9.1.2圖形用戶界面 337
9.1.3獲取系統信息 342
9.2網頁標記 346
9.2.1採用object網頁標記 347
9.2.2採用embed網頁標記 348
9.2.3採用APPLET網頁標記 350
9.2.4歸檔檔案 351
9.2.5小應用程式參數 356
9.3應用程式與小應用程式 358
9.4本章小結 363
習題 363
第10章編程規範和程式調試 365
10.1程式編寫規範 365
10.1.1命名規範 365
10.1.2排版規範 368
10.1.3語句 370
10.1.4檔案組織 372
10.2文檔注釋 374
10.3程式調試 384
10.4本章小結 388
習題 388
第11章多執行緒程式設計 389
11.1編寫執行緒程式 389
11.1.1通過類Thread的子類構造執行緒 389
11.1.2通過接口Runnable構造執行緒 392
11.1.3後台執行緒 395
11.1.4執行緒組 398
11.2執行緒的生命周期 400
11.3多執行緒的同步處理 403
11.3.1多執行緒共享記憶體引發的問題 403
11.3.2多執行緒同步的基本原理 407
11.3.3在多執行緒同步中的靜態方法和非靜態方法 410
11.3.4在多執行緒同步中同一個實例對象的多個同步方法 414
11.3.5同步語句塊 416
11.3.6方法wait/notify/notifyAll 425
11.4多執行緒的同步問題 429
11.4.1死鎖問題 430
11.4.2多執行緒同步的粒度問題 432
11.5本章小結 434
習題 435
第12章網路程式設計 437
12.1統一資源定位地址 437
12.1.1網路地址 437
12.1.2統一資源定位地址的組成 440
12.1.3通過統一資源定位地址獲取網路資源 442
12.2基於TCP的網路程式設計 444
12.3基於UDP的網路程式設計 457
12.4基於SSL的網路程式設計 463
12.4.1密鑰和證書管理工具keytool 463
12.4.2基於SSL的伺服器端和客戶端程式 478
12.4.3自定義安全提供程式和密鑰管理器 486
12.5本章小結 499
習題 499
第13章多媒體與圖形學程式設計 501
13.1聲音載入與播放 501
13.2圖像輸入輸出、像素處理和圖像顯示 505
13.3圖形顯示及字型和紋理設定 517
13.4計算機動畫 529
13.4.1通過計時器控制動畫速率 529
13.4.2動畫製作 533
13.4.3提高動畫質量 536
13.5本章小結 540
習題 540
第14章資料庫程式設計 542
14.1基本原理 542
14.1.1資料庫基本知識 543
14.1.2JDBC驅動程式類型 543
14.2MicrosoftAccess資料庫環境建立 545
14.2.1MicrosoftAccess資料庫的直接操作 545
14.2.2MicrosoftAccess資料庫的ODBC數據源 550
14.3資料庫程式設計 553
14.3.1資料庫表操作 553
14.3.2列操作 559
14.3.3記錄操作 568
14.4基於SQLServer2000的JDBC-ODBC橋資料庫程式設計 577
14.4.1SQLServer2000資料庫管理系統的安裝 577
14.4.2SQLServer2000資料庫的直接操作 584
14.4.3SQLServer2000的ODBC數據源 587
14.4.4JDBC-ODBC橋資料庫程式設計 591
14.5基於第四類JDBC驅動程式的資料庫程式設計 594
14.5.1基於SQLServer2000的第四類JDBC驅動程式的安裝 594
14.5.2基於SQLServer2000的JDBC資料庫程式設計 597
14.6資料庫程式設計性能最佳化 599
14.6.1預編譯語句 600
14.6.2SQL語句批處理機制 602
14.6.3基於JNDI的數據源管理機制 604
14.7本章小結 610
習題 610
附錄一圖的索引 612
附錄二表的索引 617
附錄三例程索引 618
附錄四類和接口索引 622
參考文獻 631
Java程式設計教程(第3版)
目錄