第一部分 Java基礎
第1章 Java簡介 3
1.1 Java是什么 4
1.1.1 歷史 4
1.1.2 為什么使用Java 4
1.1.3 Java的表征性術語 5
1.2 建立Java編程環(huán)境 6
1.2.1 Microsoft Windows 6
1.2.2 Linux 6
1.3 編寫第一個Java程序 7
1.3.1 編譯第一個Java程序 7
1.3.2 運行第一個Java程序 9
1.3.3 理解第一個Java程序 9
1.4 小結 11
第2章 關鍵字. 數(shù)據(jù)類型和變量 12
2.1 編程新手 13
2.2 關鍵字 13
2.3 數(shù)據(jù)類型 13
2.3.1 人/機通信問題 14
2.3.2 基元數(shù)據(jù)類型 15
2.4 變量 17
2.5 字面值 19
2.6 數(shù)值類型之間的轉換 19
2.7 數(shù)據(jù)類型之間的強制轉換 21
2.8 常量 21
2.9 小結 22
2.10 復習題 22
第3章 運算符 23
3.1 算術運算符 24
3.1.1 加法 24
3.1.2 減法 24
3.1.3 乘法 24
3.1.4 除法 25
3.1.5 模數(shù) 25
3.2 遞增和遞減運算符 26
3.3 關系運算符 26
3.4 位運算符 27
3.4.1 與 28
3.4.2 或 29
3.4.3 異或 29
3.4.4 非運算符 29
3.4.5 實際的應用程序 29
3.5 邏輯運算符 30
3.5.1 與 30
3.5.2 或 30
3.5.3 短路運算符 31
3.6 移位運算符 31
3.6.1 左移運算符 32
3.6.2 右移 32
3.6.3 右移(補零) 33
3.7 運算符的優(yōu)先級 33
3.8 小結 35
3.9 復習題 35
第4章 流控制 36
4.1 條件語句 37
4.1.1 if-then-else語句 37
4.1.2 switch語句 40
4.2 循環(huán)結構 42
4.2.1 while語句 42
4.2.2 do語句 42
4.2.3 for語句 43
4.2.4 跳出循環(huán) 45
4.2.5 在循環(huán)中繼續(xù)執(zhí)行 45
4.2.6 標簽 46
4.3 小結 47
4.4 復習題 47
4.5 練習題 47
第5章 方法 48
5.1 分而治之 49
5.2 方法的格式 49
5.3 調用方法 50
5.4 復雜的類方法 51
5.5 變量作用域 52
5.6 遞歸 52
5.7 方法的重載 53
5.8 Java類庫 54
5.9 小結 56
5.10 復習題 56
5.11 練習題 56
第二部分 面向對象編程
第6章 類 59
6.1 面向對象程序設計 62
6.1.1 封裝 62
6.1.2 信息隱藏 62
6.2 類 62
6.2.1 CarObject類 62
6.2.2 組件屬性 63
6.2.3 狀態(tài)屬性 63
6.2.4 行為(方法) 63
6.2.5 Get/Set方法 63
6.2.6 構造函數(shù) 64
6.2.7 類范圍 65
6.2.8 控制對成員的訪問 65
6.2.9 this變量 65
6.2.10 常量 65
6.2.11 組合 66
6.2.12 垃圾收集 66
6.2.13 終結器 66
6.2.14 靜態(tài)類成員 67
6.3 內部類 67
6.3.1 范圍 67
6.3.2 訪問修飾符 68
6.3.3 靜態(tài)內部類 68
6.3.4 匿名內部類 68
6.4 理解對象引用 68
6.5 小結 69
6.6 復習題 69
6.7 練習題 69
第7章 繼承 70
7.1 問題的由來 71
7.2 解決方案:接口 73
7.3 何時使用繼承 75
7.4 繼承關系的準則 75
7.5 樹形圖 76
7.6 語法 76
7.6.1 final類 76
7.6.2 抽象類 76
7.6.3 訪問修飾符 77
7.7 類的終結器 77
7.8 重載方法 78
7.9 動態(tài)綁定和多態(tài) 78
7.10 小結 78
7.11 復習題 79
7.12 練習題 79
第8章 接口 80
8.1 問題的由來 81
8.2 多重繼承 82
8.3 接口語法 83
8.4 實現(xiàn)接口 83
8.5 使用接口實現(xiàn)多重繼承 84
8.6 使用接口為類添加外部性能 84
8.7 接口與抽象類的對比 84
8.8 小結 84
8.9 復習題 85
8.10 練習題 85
第9章 異常處理 86
9.1 問題的由來 87
9.2 異常的定義 90
9.2.1 try塊 90
9.2.2 catch塊 90
9.2.3 finally塊 90
9.3 異常的語法 91
9.4 異常類 92
9.5 引發(fā)異常 94
9.5.1 聲明異常列表 94
9.5.2 創(chuàng)建異常實例 94
9.5.3 引發(fā)異?!?4
9.6 重新引發(fā)異?!?5
9.7 通過方法傳遞異常 95
9.8 創(chuàng)建自定義異?!?5
9.9 小結 96
9.10 復習題 97
9.11 練習題 97
第10章 Java類 98
10.1 JavaDoc簡介 99
10.2 使用Java的包裝類 100
10.2.1 Boolean類 101
10.2.2 Byte類 101
10.2.3 Character類 102
10.2.4 Double類 103
10.2.5 Float類 104
10.2.6 Integer類 105
10.2.7 Long類 106
10.2.8 Short類 107
10.3 使用String類 108
10.3.1 String類 109
10.3.2 StringBuffer類 112
10.3.3 StringTokenizer類 113
10.4 小結 114
10.5 復習題 115
10.6 練習題 115
第11章 集合類 116
11.1 集合類解決的問題 117
11.2 數(shù)據(jù)結構簡介 117
11.2.1 數(shù)組數(shù)據(jù)結構 117
11.2.2 鏈表數(shù)據(jù)結構 118
11.2.3 堆棧數(shù)據(jù)結構 120
11.2.4 隊列數(shù)據(jù)結構 121
11.2.5 哈希表數(shù)據(jù)結構 121
11.2.6 樹數(shù)據(jù)結構 123
11.3 集合概念 124
11.3.1 列表 125
11.3.2 Set接口 125
11.3.3 Map接口 125
11.3.4 Iterator 125
11.4 集合類 125
11.4.1 ArrayList 126
11.4.2 向量 127
11.4.3 LinkedList 128
11.4.4 Stack類 129
11.4.5 HashSet 129
11.4.6 TreeSet 130
11.4.7 HashMap 131
11.4.8 TreeMap 132
11.5 小結 133
11.6 復習題 133
第12章 使用Java的輸入和輸出類 135
12.1 問題的由來 136
12.2 作為輸入和輸出數(shù)據(jù)源的流 137
12.3 面向字節(jié)的流類 137
12.3.1 預定義的流對象 138
12.3.2 過濾流 138
12.3.3 讀寫文件 139
12.3.4 其他字節(jié)I/O類 141
12.4 字符流 141
12.4.1 使用Reader/Writer執(zhí)行文件I/O 142
12.4.2 字節(jié)和字符I/O類 143
12.4.3 執(zhí)行其他字符I/O 的Reader和Writer類 143
12.4.4 StreamTokenizer 143
12.5 鏈接流以便使用 144
12.6 小結 144
12.7 復習題 144
12.8 練習題 144
第三部分 圖形用戶界面
第13章 抽象窗口工具包 147
13.1 容器 148
13.1.1 Applet 149
13.1.2 運行小程序 149
13.1.3 Frame 150
13.1.4 Panel 154
13.1.5 ScrollPane 154
13.2 對話框編程 156
13.3 向GUI添加AWT組件 157
13.3.1 TextField 157
13.3.2 添加按鈕 158
13.3.3 TextArea 160
13.3.4 CheckBox 161
13.3.5 CheckboxGroup 162
13.3.6 選擇控件編程 163
13.3.7 列表控件編程 163
13.3.8 MenuBar 165
13.3.9 MenuItem 166
13.4 布局管理器 166
13.4.1 BorderLayout管理器 167
13.4.2 FlowLayout 168
13.4.3 GridBagLayout 168
13.5 小結 169
13.6 復習題 170
13.7 練習題 170
第14章 事件委派模型 171
14.1 理解事件 172
14.2 Java事件模型編程 173
14.3 其他事件監(jiān)聽器接口的使用 175
14.3.1 ActionListener接口 176
14.3.2 AdjiustmentListener接口 177
14.3.3 ItemListener接口 178
14.3.4 TextListener接口 179
14.3.5 KeyListener和KeyAdapter接口 180
14.3.6 WindowListener和WindowAdapter接口 181
14.3.7 ComponentListener和 ComponentAdapter接口 183
14.3.8 MouseListener和MouseAdapter接口 183
14.3.9 MouseMotionListener和MouseMotionAdapter接口 184
14.4 小結 185
14.5 復習題 185
14.6 練習題 186
第15章 JavaBean 187
15.1 理解JavaBean 188
15.2 開發(fā)簡單的JavaBean 189
15.3 在Forte中部署 193
15.4 屬性. 方法和事件 195
15.4.1 創(chuàng)建新方法 195
15.4.2 事件 195
15.4.3 PropertyChangeEvent 196
15.5 小結 198
15.6 復習題 199
15.7 練習題 199
第16章 Swing庫 200
16.1 理解Swing 201
16.2 Swing應用程序結構 202
16.2.1 窗口管理 203
16.2.2 JFrame 204
16.2.3 JComponent 204
16.2.4 JPanel 204
16.2.5 使用JScrollPane控件 205
16.3 Dialog 206
16.4 使用Swing組件 207
16.4.1 JTextField組件 207
16.4.2 添加按鈕 208
16.4.3 JTextArea 209
16.4.4 JCheckBox 211
16.4.5 JRadioButton 212
16.4.6 JList 212
16.5 小結 213
16.6 復習題 213
16.7 練習題 213
第17章 高級Swing 215
17.1 JTable編程 216
17.1.1 添加標題. 滾動條并格式化 218
17.1.2 JTree編程 219
17.2 使用JOptionPane 222
17.3 小結 223
17.4 復習題 223
17.5 答案 223
17.6 練習題 224
第四部分 高級主題
第18章 多線程編程 227
18.1 為什么需要多線程 228
18.2 使用Thread類控制線程 228
18.2.1 創(chuàng)建多線程應用程序 229
18.2.2 設置線程名稱 230
18.3 使用Runnable接口創(chuàng)建線程 231
18.3.1 中斷線程 232
18.3.2 結束線程 233
18.4 協(xié)調線程對變量的訪問 234
18.5 線程之間的協(xié)調 236
18.6 在線程間發(fā)送數(shù)據(jù) 237
18.7 小結 239
18.8 復習題 239
18.9 練習題 239
第19章 使用Java數(shù)據(jù)庫連接(JDBC)訪問數(shù)據(jù)庫 240
19.1 了解數(shù)據(jù)庫的歷史 241
19.2 理解為何需要JDBC 242
19.3 Java數(shù)據(jù)庫連接編程 243
19.4 查詢數(shù)據(jù)庫 245
19.5 使用JDBC創(chuàng)建表 247
19.6 填充數(shù)據(jù)庫 248
19.7 使用JDBC和GUI來改變數(shù)據(jù) 249
19.8 小結 251
19.9 復習題 251
19.10 練習題 251
第20章 網絡編程 252
20.1 TCP/IP的歷史 253
20.2 TCP/IP內幕 253
20.3 應用層 254
20.4 傳輸層 254
20.5 網絡層 255
20.6 網絡接口層 255
20.7 簡單的套接字編程 256
20.8 使用套接字傳輸復雜對象 261
20.9 使用套接字傳輸流 264
20.10 URL類 265
20.11 小結 266
20.12 復習題 267
20.13 練習題 267
第五部分 Web技術
第21章 Servlet 271
21.1 servlet定義 272
21.2 為什么需要servlet 272
21.3 servlet的工作原理 273
21.4 建立Web環(huán)境 274
21.5 安裝Jakarta Tomcat 274
21.5.1 啟動Tomcat 275
21.5.2 測試安裝 276
21.6 servlet編程 277
21.6.1 編寫通用servlet 277
21.6.2 部署servlet 278
21.6.3 理解HTTP 281
21.6.4 GET命令 281
21.6.5 POST命令 282
21.6.6 其他命令 282
21.6.7 HTTP 1.1 282
21.6.8 HTTP編程 283
21.8 HTML表單和servlet 287
21.9 調用servlet的其他類 289
21.10 使用cookie維護狀態(tài) 291
21.11 使用會話對象維護狀態(tài) 293
21.12 小結 296
21.13 復習題 296
21.14 練習題 296
第22章 JavaServer 頁面(JSP) 297
22.1 JSP是什么, 不是什么 298
22.2 JSP的優(yōu)點 298
22.3 JSP如何工作 299
22.4 JSP編程 299
22.4.1 表達式 299
22.4.2 向JSP頁面添加scriptlet 299
22.4.3 聲明 300
22.4.4 添加注釋 300
22.4.5 指令 300
22.4.6 隱式對象 300
22.5 部署和運行JSP 301
22.6 在JSP中定義方法 304
22.6.1 條件輸出 305
22.6.2 從HTML表單調用JSP 306
22.6.3 錯誤處理 307
22.7 小結 307
22.8 復習題 308
22.9 練習題 308
第23章 基于組件的JavaServer頁面 309
23.1 理解JSP操作 311
23.2 如何在JSP中包含其他JSP 312
23.3 include操作 312
23.4 從JSP訪問JavaBean 315
23.5 使用JavaBean訪問數(shù)據(jù)庫 318
23.5.1 更新數(shù)據(jù)庫 320
23.5.2 從數(shù)據(jù)庫中檢索數(shù)據(jù) 321
23.6 小結 323
23.7 復習題 323
23.8 練習題 323
第24章 自定義標記庫 324
24.1 什么是自定義標記, 什么不是 325
24.2 自定義標記的工作方式 325
24.3 使用自定義標記體 329
24.4 使用自定義標記傳遞參數(shù) 330
24.5 小結 333
24.6 復習題 333
24.7 練習題 334
第25章 XML 335
25.1 XML的重要性 336
25.2 XML組件 337
25.2.1 XML文檔 337
25.2.2 文檔類型定義(DTD) 338
25.2.3 文檔驗證 338
25.2.4 分析技術 339
25.3 使用SAX分析程序讀取XML文檔 340
25.4 使用文檔對象模型(DOM)操作XML文檔 343
25.4.1 在內存中生成XML樹 343
25.4.2 讀取XML樹 344
25.4.3 輸出XML樹 346
25.4.4 操作XML樹 346
25.5 XSLT 348
25.5.1 XSL樣式表 349
25.5.2 XSLT使用示例 350
25.6 使用JDOM操作XML文檔 351
25.6.1 讀取XML文檔 351
25.6.2 JDOM示例 354
25.7 小結 355
25.8 復習題 355
25.9 練習題 356
第26章 Web 體系結構 357
26.1 組織Web站點 358
26.1.1 Web站點的TCP/IP層次 358
26.1.2 超文本傳輸協(xié)議(HTTP) 359
26.1.3 瀏覽器 359
26.1.4 Web服務器 360
26.1.5 應用層 360
26.2 Web設計中的缺陷 360
26.3 模型—視圖—控制器(MVC)架構 361
26.4 servlet 362
26.5 JavaServer頁面(JSP) 363
26.6 JavaScript 365
26.7 Enterprise JavaBean 365
26.8 Web Services 366
26.9 小結 368
26.10 復習題 368
附錄
附錄A 使用Borland JBuilder 371
A.1 下載JBuilder 372
A.2 安裝JBuilder 372
A.3 運行JBuilder 372
A.4 使用IDE開發(fā)Java應用程序 374
A.4.1 在項目中創(chuàng)建類 374
A.4.2 調試Java應用程序 376
A.5 使用IDE開發(fā)JSP和Java Servlet 378
A.6 小結 381
附錄B Sun One Studio 4(Forte)團隊版 382
B.1 下載Sun One Studio 4 383
B.2 安裝Sun One Studio 4 383
B.3 運行Sun One Studio 4 383
B.4 使用IDE開發(fā)Java應用程序 385
B.5 創(chuàng)建項目 385
B.5.1 在項目中創(chuàng)建類 385
B.5.2 調試Java應用程序 387
B.6 使用IDE開發(fā)JSP和Java Servlet 388
B.6.1 添加JSP頁面 389
B.6.2 添加Servlet 391
B.7 小結 392
附錄C 復習題解答 393