第1章 異常處理 1
1.1 基本異常處理 2
1.1.1 Java中的異常 2
1.1.2 預定義的異常類 12
1.1.3 ArrayIndexOutOfBounds-Exception (另一種閱讀順序) 12
1.2 定義異常類 13
1.3 使用異常類 21
1.3.1 聲明異常(推脫責任) 21
1.3.2 不需要被捕獲的異常 24
1.3.3 AssertionError類(選讀) 25
1.3.4 多重拋出和捕獲 25
1.3.5 finally塊(選讀) 31
1.3.6 重新拋出異常(選讀) 32
1.4 圖形編程補充(選讀) 43
小結 46
自測題答案 47
編程項目 50
第2章 流和文件I/O 53
2.1 流和文件I/O概覽 54
2.1.1 流的概念 54
2.1.2 為什么要用文件進行I/O 54
2.1.3 文本文件和二進制文件的區(qū)別 54
2.2 文本文件I/O 55
2.2.1 用PrintWriter進行的文本文件輸出 55
2.2.2 帶有BufferedReader的文本文件輸入 64
2.2.3 StringTokenizer類 70
2.2.4 FileReader和FileOutputStream類 73
2.3 File類 74
2.4 基本的二進制文件I/O 77
2.4.1 用ObjectOutputStream向二進制文件輸出 78
2.4.2 一些有關writeUTF的細節(jié)(選讀) 82
2.4.3 用ObjectInputStream從二進制文件讀出 82
2.4.4 EOFException類 87
2.4.5 FileInputStream和FileOutputStream類 89
2.5 用對象流進行對象I/O 93
2.5.1 類對象的二進制I/O 93
2.5.2 Serializable接口 96
2.5.3 二進制文件中的數(shù)組對象 97
2.6 圖形編程補充(選讀) 99
小結 104
自測題答案 104
編程項目 108
第3章 動態(tài)數(shù)據(jù)結構與泛型 110
3.1 向量 111
3.1.1 使用向量 111
3.1.2 參數(shù)化的類與泛型 120
3.2 鏈式數(shù)據(jù)結構 121
3.2.1 鏈表 121
3.2.2 內部類 129
3.2.3 節(jié)點內部類 130
3.2.4 迭代器 131
3.2.5 對鏈表的異常處理 141
3.2.6 鏈表的變體 144
3.2.7 其他鏈式數(shù)據(jù)結構 145
3.3 泛型 146
小結 152
自測題答案 152
編程項目 159
第4章 遞歸 161
4.1 遞歸基礎 161
4.1.1 遞歸是如何工作的 165
4.1.2 遞歸及迭代定義 170
4.1.3 返回值的遞歸方法 171
4.2 用遞歸編程 175
小結 185
自測題答案 185
編程項目 187
第5章 使用Swing的視窗界面 189
5.1 背景知識 190
5.1.1 GUI—圖形用戶界面 190
5.1.2 事件驅動編程 190
5.2 基本的Swing細節(jié) 192
5.2.1 更多關于窗口偵聽器的內容 197
5.2.2 屏幕對象的尺寸單位 198
5.2.3 更多關于setVisible的內容 199
5.2.4 JFrame類的一些方法 207
5.2.5 布局管理器 208
5.3 按鈕和動作偵聽器 214
5.3.1 按鈕 216
5.3.2 動作偵聽器和動作事件 217
5.3.3 接口 221
5.3.4 模型-視圖-控制器模式 223
5.4 容器類 225
5.4.1 JPanel類 225
5.4.2 Container類 228
5.5 GUI的文本I/O 231
5.5.1 文本區(qū)和文本域 231
5.5.2 輸入和輸出數(shù)字 238
5.5.3 捕獲一個NumberFormat-Exception 243
小結 246
自測題答案 246
編程項目 251
第6章 applet與HTML 253
6.1 applet 254
6.1.1 applet基礎 254
6.1.2 運行一個applet 256
6.1.3 向applet添加圖標 259
6.2 HTML簡介 261
6.2.1 HTML基礎 261
6.2.2 插入超鏈接 263
6.2.3 顯示一張圖片 267
6.3 HTML中的applet 267
6.3.1 將applet放入HTML文檔中 268
6.3.2 較老的applet類(選讀) 270
6.3.3 applet與安全 271
小結 271
自測題答案 271
編程項目 272
第7章 更多有關Swing的內容 274
7.1 菜單 274
7.1.1 菜單條、菜單和菜單條目 275
7.1.2 嵌套式菜單 278
7.2 使GUI更漂亮(功能也更強) 280
7.2.1 添加圖標 280
7.2.2 向菜單條目添加圖標 285
7.2.3 滾動條的JScrollPane類 286
7.2.4 添加邊界 290
7.3 更多布局管理器 294
7.3.1 BoxLayout管理器類 295
7.3.2 strut與glue 297
7.3.3 設置組件間的間隔 299
7.3.4 Box容器類 299
7.3.5 CardLayout管理器 302
7.4 內部類 306
7.5 更多關于事件和偵聽器的內容 308
7.5.1 WindowListener接口 308
7.5.2 更多與更新GUI有關的細節(jié) 318
7.6 Swing類的層次關系 318
小結 320
自測題答案 321
編程項目 323
附錄A 關鍵字(圖靈網站下載)
附錄B 優(yōu)先規(guī)則(圖靈網站下載)
附錄C 統(tǒng)一代碼(Unicode)字符集(圖靈網站下載)
附錄D SavitchIn(圖靈網站下載)
附錄E 保護(protected)修飾符與包(package)修飾符(圖靈網站下載)
附錄F DecimalFormat類(圖靈網站下載)
附錄G Iterator接口(圖靈網站下載)
附錄H 克?。▓D靈網站下載)
附錄I javadoc(圖靈網站下載)
附錄J JOptionPane類(圖靈網站下載)
附錄K C++與Java的區(qū)別(圖靈網站下載)