java程序設計

第二版

《Jav徠a程序設計(第二版)》是2006年清華大學出版社出版的圖書,作者是辛運幃、饒一梅。本書全面介紹了Java語言的基本概念和編程方法,並深入介紹了Java的高級特性。

內容簡介


本書是《Java程序設計》的第二版。它從Java語言的基本特點入手,全面介紹了Java語言的基本概念和編程方法,並深入介紹了Java的高級特性。本書共分為12章,涉及Java中的基本語法、數據類型、類、異常、界面設計、小應用程序、I/O數據流、線程及網路功能等內容。這些內容基本覆蓋了Java的實用技術,是進一步使用Java進行技術開發的基礎。

目錄


概述1.1什麼是Java語言1
1.1.1Java語言的特點1
1.1.2Java的三層架構3
1.1.3Java語言的目標3
1.1.4Java虛擬機4
1.1.5垃圾收集5
1.1.6代碼安全5
1.2一個基本的Java應用程序8
1.2.1開發環境的安裝8
1.2.2Java應用程序9
1.3程序的編譯和運行11
1.3.1編譯11
1.3.2運行11
1.4常見錯誤12
1.4.1編譯時錯誤12
1.4.2運行時錯誤13
1.5使用Java核心API文檔14
習題17
標識符和數據類型2.1Java的基本語法單位18
2.1.1空白、註釋及語句18
2.1.2關鍵字20
2.1.3標識符20
2.2Java編碼體例21
2.3Java的基本數據類型22
2.3.1基本數據類型22
2.3.2類型轉換24
2.3.3變數、說明和賦值25
2.4複合數據類型26
2.4.1概述26
2.4.2Java的複合數據類型27
2.5類和對象的初步介紹27
2.5.1Java中的面向對象技術27
2.5.2Java中的類定義29
2.5.3Java中與OOP有關的關鍵字30
2.5.4類定義示例33
2.5.5創建一個對象36
2.5.6引用變數的賦值38
2.5.7自動初始化和null引用值39
2.5.8術語概述39
習題40
表達式和流程式控制制語句3.1表達式42
3.1.1操作數42
3.1.2運算符46
3.1.3表達式的提升和轉換48
3.1.4數學函數49
3.2流控制50
3.2.1表達式語句50
3.2.2塊50
3.2.3分支語句51
3.2.4循環語句56
3.2.5break與continue語句59
3.2.6註釋語句61
習題62
數組、向量和字元串4.1數組65
4.1.1數組說明65
4.1.2創建數組66
4.1.3數組邊界69
4.1.4數組元素的引用69
4.1.5多維數組70
4.1.6數組複製75
4.2Vector類76
4.2.1概述77
4.2.2Vector類的構造方法77
4.2.3Vector類對象的操作78
4.2.4Vector類中的其他方法79
4.2.5Vector類的使用舉例80
4.3字元串類型82
4.3.1字元串簡述82
4.3.2字元串說明及初始化82
4.3.3字元串處理82
4.3.4幾個特殊處理84
習題86
進一步討論對象和類5.1抽象數據類型88
5.1.1概述88
5.1.2定義方法89
5.1.3按值傳送92
5.1.4重載方法名94
5.2對象的構造和初始化95
5.2.1顯式成員初始化95
5.2.2構造方法95
5.2.3默認的構造方法97
5.2.4構造方法重載97
5.2.5finalize方法98
5.3this引用99
5.4子類99
5.4.1“is a”關係100
5.4.2extends關鍵字1015.4.3單重繼承102
5.4.4多態性104
5.4.5方法自變數和異類集合104
5.4.6instanceof運算符105
5.4.7轉換對象106
5.5方法重寫107
5.5.1方法重寫示例107
5.5.2應用重寫的規則111
5.5.3父類構造方法調用113
5.6Java包114
5.6.1Java包的概念114
5.6.2import語句115
5.6.3目錄層次關係及classpath環境變數116
5.6.4訪問許可權與數據隱藏118
5.6.5封裝119
5.7類成員120
5.7.1類變數120
5.7.2類方法122
5.8關鍵字final124
5.8.1終極類124
5.8.2終極方法125
5.8.3終極變數125
5.9抽象類127
5.10介面129
5.10.1介面的定義129
5.10.2介面的實現130
5.11內部類133
5.11.1內部類的概念133
5.11.2匿名類135
5.11.3內部類的工作方式136
5.12過時信息137
習題139
Java語言中的異常6.1異常142
6.2異常示例145
6.3異常處理145
6.3.1try,catch和finally語句146
6.3.2再討論前面的示例146
6.3.3公共異常147
6.4異常分類148
6.5拋出149
6.6創建自己的異常149
習題151
Java的圖形用戶界面設計7.1AWT與Swing152
7.2容器153
7.2.1頂層容器153
7.2.2使用JFrame創建一個應用程序154
7.2.3內容窗格154
7.2.4面板156
7.3布局157
7.3.1一個簡單的例子157
7.3.2FlowLayout布局管理器159
7.3.3BorderLayout布局管理器161
7.3.4GridLayout布局管理器162
7.3.5CardLayout布局管理器164
7.3.6BoxLayout布局管理器166
7.3.7其他布局管理器171
7.4事件處理172
7.4.1事件處理模型172
7.4.2事件的種類174
7.4.3一個較複雜的例子176
7.4.4多監聽程序178
7.4.5事件適配器178
習題180Swing組件8.1按鈕182
8.1.1普通按鈕182
8.1.2切換按鈕、複選按鈕及單選按鈕187
8.2標籤192
8.3組合框195
8.4列表198
8.5文本組件203
8.5.1文本域204
8.5.2文本區208
8.6菜單組件211
8.6.1菜單欄211
8.6.2菜單212
8.6.3菜單項212
8.6.4複選菜單項和單選菜單項214
8.6.5彈出式菜單217
8.7對話框、標準對話框與文件對話框220
8.7.1對話框220
8.7.2標準對話框221
8.7.3文件對話框226
8.8控制組件外觀229
8.8.1顏色229
8.8.2字體229
8.8.3繪圖231
習題234
Java Applet9.1編寫Applet237
9.2Applet的方法和Applet的生命周期239
9.3Applet的運行240
9.3.1用於顯示Applet的方法240
9.3.2appletviewer2429.3.3HTML與〈applet〉標記243
9.3.4Applet參數的讀取244
9.3.5Applet與URL246
9.4在Applet中的多媒體處理247
9.4.1在Applet中顯示圖像247
9.4.2在Applet中播放聲音248
9.5Applet的事件處理250
9.6Applet與普通應用程序的結合251
習題253
Java數據流10.1數據流的基本概念254
10.1.1輸入數據流255
10.1.2輸出數據流256
10.2基本位元組數據流類257
10.2.1文件數據流257
10.2.2過濾流259
10.2.3管道數據流261
10.2.4對象流262
10.2.5可持續性263
10.3基本字元流266
10.3.1讀者和寫者266
10.3.2緩衝區讀者和緩衝區寫者268
10.4文件的處理272
10.4.1File類272
10.4.2隨機訪問文件274
習題275
線程11.1線程和多線程277
11.1.1線程的概念277
11.1.2線程的結構27811.2線程的狀態279
11.3創建線程280
11.3.1創建線程的方法一——繼承Thread類281
11.3.2創建線程的方法二——實現Runnable
介面283
11.3.3關於兩種創建線程方法的討論285
11.4線程的啟動286
11.5線程的調度286
11.6線程的基本控制288
徠11.6.1結束線程288
11.6.2檢查線程289
11.6.3掛起線程289
11.7同步問題291
11.7.1線程間的通信291
11.7.2線程間的資源互斥共享293
11.7.3對象的鎖定標誌295
11.7.4同步方法296
11.8死鎖297
11.9線程交互——wait()和notify()299
11.9.1問題的提出299
11.9.2解決方法300
11.9.3守護線程301
11.9.4綜合應用302
習題307
Java的網路功能12.1概述309
12.2使用InetAddress311
12.3統一資源定位器312
12.3.1URL的概念312
12.3.2URL的構造方法313
12.3.3與URL相關的異常314
12.3.4獲取URL對象屬性314
12.3.5讀入URL數據31512.4Socket介面318
12.4.1Socket的基本概念319
12.4.2Socket通信的基本步驟321
12.4.3Socket通信的程序設計321
12.5Java編程綜合實例323
習題331
參考文獻332