圖書簡介
Java是一種面向對象的程式設計語言,具有跨平台、健壯性、安全性等特點,是當前最流行的網路程式語言。本書內容豐富,講解詳細,力求通俗易懂。
本書通過大量的實例,由淺入深、循序漸進地介紹了Java程式語言、Java動態網頁和J2EE等知識。全書共分為20章,主要內容包括Java簡介、 Java語言基礎、控制語句、面向對象程式開發、Java是面向對象語言、Java的繼承與多態、類的高級使用、異常處理、Java的輸入輸出、多執行緒、 AWT、Swing、網路編程、JDBC資料庫編程、HTML、JavaScript、JSP、Servlet,以及J2EE概述等,同時還提供了兩個經典案例――學生信息管理系統和網上書店。
本書可以作為學習Java的入門教材,也可以作為中級讀者的必備寶典,對高級讀者也有一定的參考價值。
圖書目錄
第1篇 Java技術基礎
第1章 Java簡介 2
1.1 Java的起源與發展 2
1.2 Java的特點 2
1.2.1 平台的無關性 2
1.2.2 簡單性 3
1.2.3面向對象語言3
1.2.4健壯性3
1.2.5多執行緒3
1.2.6自動記憶體管理4
1.3 Java開發環境 4
1.3.1 JDK的下載 4
1.3.2 安裝JDK 5
1.3.3 設定環境變數 6
1.4 第1個Java程式 7
1.4.1 編寫HelloWorld.java 8
1.4.2 編譯和運行 8
1.5 小結 9
第2章 Java語言基礎 10
2.1 基礎語言要素 10
2.1.1標識符10
2.1.2關鍵字10
2.1.3分隔設定11
2.1.4 注釋 11
2.2常量和變數 12
2.2.1 常量 12
2.2.2變數12
2.3 基本數據類型 13
2.3.1 整數數據類型 13
2.3.2 浮點類型 14
2.3.3 字元類型 15
2.3.4 布爾類型 17
2.3.5 Java是強語言類型 17
2.4 類型轉換 17
2.4.1 自動類型轉換 18
2.4.2強制類型轉換19
2.5 運算符與表達式 20
2.5.1 Java運算符 20
2.5.2 算術運算符 21
2.5.3關係運算符23
2.5.4邏輯運算符24
2.5.5 位運算符 24
2.5.6賦值運算符27
2.5.7 條件運算符 27
2.5.8表達式及運算符優先權 28
2.6數組29
2.6.1 聲明數組 29
2.6.2 構造數組 29
2.6.3 初始化數組 30
2.6.4多維數組31
2.7 字元串 35
2.7.1 初始化 35
2.7.2 String類方法 35
2.7.3 StringBuffer類方法 38
2.7.4 連結方法 40
2.8 經典題解 41
2.8.1 怎樣綜合使用運算符 41
2.8.2 怎樣使用數組下標 42
2.8.3 怎樣進行不同類型
數值間的運算 43
2.8.4 怎樣進行字元串運算 44
2.9 小結 46
第3章控制語句47
3.1 選擇控制語句 47
3.1.1 if控制語句 47
3.1.2 switch 控制語句 51
3.2 循環控制語句 55
3.2.1 for循環控制語句 55
3.2.2 while循環控制語句 57
3.2.3 do-while循環控制語句 58
3.3 跳轉控制語句 60
3.3.1 break跳轉語句 60
3.3.2 continue 跳轉語句 64
3.3.3 return跳轉語句 65
3.4 經典題解 66
3.4.1 如何正確使用switch語句 66
3.4.2 如何正確使用if語句 67
3.4.3 switch語句的執行順序 68
3.4.4 如何正確使用跳轉語句 69
3.5 小結 71
第4章 面向對象程式開發 72
4.1 面向對象思想 72
4.1.1 對象 72
4.1.2 類 72
4.2 面向對象的特點 73
4.2.1封裝73
4.2.2 繼承 74
4.2.3多態76
4.3 小結 77
第5章 Java是面向對象語言 78
5.1 類 78
5.1.1 定義類 78
5.1.2 類的實例化 79
5.1.3構造函式80
5.1.4 對象的清除 82
5.2類和對象的使用 83
5.2.1 創建和使用對象 83
5.2.2 使用靜態修飾符84
5.3成員變數及方法的訪問 86
5.3.1 public公共修飾符 86
5.3.2 protected保護修飾符 87
5.3.3 private私有修飾符 88
5.3.4 其他修飾符 90
5.4抽象類和抽象方法 92
5.4.1 什麼叫抽象 93
5.4.2 抽象的規則 93
5.5 包 95
5.5.1 定義包 95
5.5.2 導入包 96
5.5.3訪問控制98
5.6 經典題解 99
5.6.1 如何為變數賦值 99
5.6.2 如何正確使用重寫方法 101
5.6.3 如何進行構造函式間調用 103
5.7 小結 104
第6章 Java的繼承與多態 105
6.1 繼承 105
6.1.1超類和子類 105
6.1.2 成員變數和方法的訪問 107
6.1.3 對象的使用 108
6.2. 對父類進行訪問 109
6.2.1 調用父類的構造函式 109
6.2.2 訪問超類的成員變數和方法 112
6.2.3 多層次的繼承 113
6.3 重寫 116
6.3.1 定義重寫 116
6.3.2 重寫規則 118
6.4重載122
6.4.1 定義重載 122
6.4.2 重載規則 123
6.5 經典題解 126
6.5.1 如何綜合使用重寫和重載 126
6.5.2 如何調用父類構造函式 128
6.5.3 如何使用繼承 129
6.5.4 如何調用重寫方法 132
6.6 小結 133
第7章 類的高級使用 134
7.1 靜態訪問修飾符 134
7.1.1靜態變數134
7.1.2靜態方法135
7.2 final 關鍵字的使用 138
7.2.1 常量 138
7.2.2 最終方法 140
7.2.3 最終類 142
7.3 接口 143
7.3.1 定義接口 143
7.3.2 接口常量和抽象方法 144
7.3.3 實現接口 147
7.3.4 接口引用 151
7.4內部類153
7.4.1 內部類的定義 153
7.4.2 內部類的使用 154
7.4.3 匿名內部類 158
7.5 經典題解 163
7.5.1 內部類的實際套用 163
7.5.2 如何正確使用內部類 164
7.5.3 如何正確理解內部類 165
7.5.4 如何使用靜態方法 166
7.5.5 在內部類中如何調用變數 168
7.6 小結 169
第8章異常處理170
8.1 異常處理簡介 170
8.1.1 異常處理基礎 170
8.1.2 異常類型 171
8.2 異常處理方式 172
8.2.1 try/catch捕獲異常 172
8.2.2 throws聲明異常 176
8.2.3 throw拋出異常 177
8.2.4 自定義異常 179
8.3 經典題解 181
8.3.1 如何正確使用
try-catch語句 181
8.3.2 如何進行異常處理 182
8.4 小結 183
第9章 Java的輸入/輸出 184
9.1 數據流的概念和劃分 184
9.1.1 數據流的概念 184
9.1.2 數據流的劃分 185
9.2位元組流186
9.2.1 通過位元組流讀寫數據 187
9.2.2 訪問和使用檔案信息 188
9.2.3 快捷的方式讀取特定信息 190
9.2.4 引入緩衝流讀取檔案 192
9.3 字元流 193
9.3.1 如何讀取Unicode字元 193
9.3.2 讀取字元檔案 194
9.3.3 如何提高IO流操作效率 197
9.3.4 通過字元讀取檔案及寫出 198
9.4 檔案類 199
9.4.1 檔案類簡介 200
9.4.2 通過檔案類對檔案進行操作 201
9.5 小結 203
第10章 多執行緒 204
10.1 多執行緒簡介 204
10.1.1 多執行緒概念 204
10.1.2 Java中的多執行緒 204
10.2 執行緒的創建 205
10.2.1主執行緒的創建 205
10.2.2 通過實現Runnable接口
創建執行緒 206
10.2.3 通過繼承Thread類
創建執行緒 208
10.2.4 兩種方法的比較 209
10.2.5 創建多執行緒 209
10.3 執行緒的調度 212
10.3.1 優先權 212
10.3.2 sleep() (睡眠)方法 214
10.3.3 join()(加入)方法 216
10.3.4 yield()(讓步)方法 219
10.4 執行緒狀態 220
10.4.1 新狀態 221
10.4.2 可運行狀態 221
10.4.3 運行狀態 221
10.4.4 等待/被阻塞/睡眠/監控/
掛起狀態222
10.4.5 死狀態 222
10.5執行緒同步和通信 222
10.5.1 同步的必要性 222
10.5.2 實現同步 224
10.5.3同步代碼塊和死鎖 226
10.5.4 執行緒間通信 228
10.6 經典題解 230
10.6.1 怎樣正確定義多執行緒 231
10.6.2 如何正確使用多執行緒 232
10.6.3 多執行緒和重載的綜合運用 232
10.6.4 如何理解多執行緒的規則 233
10.7 小結 235
第2篇 Java Web開發
第11章 AWT 238
11.1 AWT簡介 238
11.1.1 第一個界面 238
11.1.2 視窗基礎套用需要 239
11.1.3 創建多個視窗 241
11.2 布局管理器 242
11.2.1 FlowLayout 布局管理器 242
11.2.2BorderLayout布局管理器 245
11.2.3 GridLayout布局管理器 248
11.2.4 CardLayout布局管理器 251
11.2.5 Null布局管理器 253
11.3 組件和監聽接口 256
11.3.1 按鈕和ActionListener
監聽接口 256
11.3.2 運用WindowListener
監聽接口操作視窗 257
11.3.3 文本組件和TextListener
接口 259
11.4 小結 260
第12章 Swing 261
12.1 Swing組件庫 261
12.1.1 JFC結構 261
12.1.2 與 AWT的區別 261
12.2 JFrame視窗容器 261
12.2.1 JFrame簡介和方法 262
12.2.2 JFrame 套用 262
12.3 通過Icon接口進行圖像
操作 263
12.3.1 Icon接口簡介和方法 263
12.3.2 Icon 接口套用 264
12.4 按鈕 265
12.4.1 按鈕簡介和方法 266
12.4.2 按鈕的套用 266
12.5彈出式選單267
12.5.1 彈出式選單簡介和方法 268
12.5.2 彈出式選單套用 268
12.6複選框270
12.6.1 複選框簡介和方法 270
12.6.2 複選框套用 270
12.7單選按鈕271
12.7.1 單選按鈕簡介和方法 271
12.7.2 單選按鈕套用 272
12.8 下拉列表框 273
12.8.1 下拉列表框簡介和方法 273
12.8.2 下拉列表框套用 274
12.9 選項卡 275
12.9.1 選項卡簡介和方法 275
12.9.2 選項卡套用 276
12.10 滑桿 277
12.10.1 滑桿簡介和方法 277
12.10.2 滑桿套用 278
12.11 滾動條 280
12.11.1 滾動條簡介和方法 280
12.11.2 滾動條套用 280
12.12 進度條 281
12.12.1 進度條簡介和方法 281
12.12.2 進度條套用 282
12.13 列表框 283
12.13.1 列表框簡介和方法 283
12.13.2 列表框套用 284
12.14選單285
12.14.1 選單簡介和方法 285
12.14.2 選單套用 286
12.15 小結 287
第13章網路編程288
13.1 網路基礎 288
13.1.1 TCP/IP 協定 288
13.1.2 使用URL進行網路連線 288
13.2 網路編程步驟 293
13.2.1 使用 socket進行網路連線 293
13.2.2 創建socket 293
13.2.3 伺服器端 294
13.2.4客戶端295
13.2.5 多客戶端連線 296
13.2.6 網路編程綜合案例 298
13.3 小結 302
第14章 JDBC資料庫編程 303
14.1 通過JDBC訪問資料庫 303
14.1.1 什麼是JDBC 303
14.1.2 JDBC 與Java結合 303
14.2 簡單介紹資料庫 304
14.2.1 關係資料庫 304
14.2.2 通過 Access進行資料庫
操作 305
14.2.3資料庫語言及其操作 306
14.3 JDBC編程步驟 309
14.3.1 創建數據源 310
14.3.2 載入驅動程式 311
14.3.3 指定資料庫 311
14.3.4 打開資料庫連線 312
14.3.5 提交查詢 313
14.3.6 取得查詢結果 313
14.4 使用 PreparedStatement進行預
編譯操作 314
14.4.1 PreparedStatement簡介 314
14.4.2 PreparedStatement 套用 315
14.5 元數據 316
14.5.1 資料庫的DatabaseMetaData
元數據 316
14.5.2 結果集的ResultSetMetaData
元數據 316
14.6批處理317
14.6.1 批處理規範 318
14.6.2 批處理舉例 318
14.7結果集處理 319
14.7.1可滾動結果集319
14.7.2 可更新結果集 321
14.8 小結 321
第15章 HTML 322
15.1 HTML簡介 322
15.1.1 HTML基本結構 322
15.1.2 第 1個HTML檔案 323
15.1.3 HTML文檔的特點 323
15.1.4 HTML標記分類 323
15.2 字型屬性標記 323
15.2.1 標記 323
15.2.2 粗體字 324
15.2.3 斜體字標記 325
15.2.4 加底線標記 326
15.2.5 刪除線標記 326
15.2.6 打字型標記 327
15.2.7 上標字標記、
下標字標記 328
15.2.8 註解標記 328
15.2.9 設定字型大小、顏色、
字型標記 329
15.3 標示標記的使用 331
15.4 區段標記的使用 333
15.5 連結標記的使用 337
15.6圖像標記的使用 339
15.7表單標記的使用 339
15.7.1 form容器 340
15.7.2 Text單行文本框 340
15.7.3 Password密碼框 341
15.7.4 Radio單選按鈕 342
15.7.5 Checkbox複選框 342
15.7.6 SELECT 列表框 343
15.7.7 File資料夾 344
15.7.8 TEXTAREA文本框 345
15.7.9 Submit 提交及Reset清除 345
15.8 表格標記 346
15.8.1 table容器標記 346
15.8.2 CAPTION 表格標題 347
15.8.3 tr和td表格欄 348
15.8.4 th表格欄標題標記 349
15.9 常用框架標記 350
15.10 在網頁中加入聲音 352
15.10.1 加入背景聲音 352
15.10.2 內嵌聲音 353
15.11 在頁面中添加視頻動畫 353
15.11.1 自動播放 354
15.11.2 事件播放 354
15.11.3 循環播放 354
15.11.4 延時播放 355
15.12 小結 355
第16章 JavaScript 356
16.1 JavaScript 的基本介紹 356
16.1.1 JavaScript語言概括 356
16.1.2 JavaScript代碼結構 356
16.1.3 JavaScript數據類型358
16.1.4 JavaScript常量和變數 358
16.1.5 JavaScript運算符與表達式 359
16.1.6 JavaScript 函式 359
16.1.7 JavaScript控制語句 361
16.2 JavaScript事件 363
16.2.1 OnClick 事件 363
16.2.2 OnChange事件 365
16.3 JavaScript對象 367
16.3.1 String 字元串 367
16.3.2 Math對象 370
16.3.3 Date對象 370
16.4 瀏覽器內置對象 371
16.4.1 瀏覽器navigator對象 371
16.4.2 視窗Window對象 372
16.4.3 歷史History對象 374
16.4.4 位置Location對象 375
16.4.5 文檔Document對象 376
16.5窗體對象376
16.5.1 窗體對象簡述 376
16.5.2 button按鈕 377
16.5.3 text單行文本框 377
16.5.4 textarea多行文本框378
16.5.5 select選擇列表框 379
16.5.6 checkbox複選框 381
16.5.7 radio 單選按鈕 382
16.5.8 password密碼 383
16.6 小結 384
第17章 JSP 385
17.1 JSP 簡介 385
17.1.1 主流Web技術介紹 385
17.1.2 JSP的運行環境介紹 386
17.1.3 安裝和啟動JSP運行環境 386
17.2 JSP程式演示 387
17.2.1 體驗JSP 387
17.2.2 JSP與 HTML的初步結合 388
17.3 JSP的基本語法 389
17.4 JSP指令 392
17.4.1 page 指令 392
17.4.2 include指令 393
17.5 JSP動作 395
17.5.1 param動作 395
17.5.2 forward 動作 395
17.5.3 include動作 396
17.5.4 plugin動作 398
17.5.5usebean動作 400
17.6 JSP內置對象 401
17.6.1 out對象 401
17.6.2 request對象 402
17.6.3 response對象 405
17.6.4 session對象 408
17.7 綜合案例分析 411
17.7.1總體設計411
17.7.2 頁面設計 412
17.7.3資料庫設計414
17.7.4 代碼實現 415
17.8 小結 423
第18章 Servlet 424
18.1 Servlet簡介 424
18.2 開發、部署一個簡單的
Servlet 424
18.2.1 編寫Servlet 425
18.2.2 編譯並發布 Servlet 425
18.3 Servlet常用接口介紹 426
18.3.1 實現相關 427
18.3.2 配置相關 428
18.3.3 異常相關 429
18.3.4 請求與回響相關 429
18.3.5 會話相關 432
18.3.6 Servlet 上下文 436
18.4 將請求封裝成HttpServlet
對象 436
18.4.1 doGet 436
18.4.2 doPost 438
18.5 小結 440
第3篇 J2EE企業級開發
第19章 J2EE概述 442
19.1 遠程方法調用 442
19.1.1 遠程方法調用簡介 442
19.1.2 遠程接口 442
19.1.3 伺服器類 443
19.1.4 RMIC編譯器 444
19.1.5 啟動registry 445
19.1.6 客戶類 445
19.2 JNDI 命名和目錄接口 446
19.2.1 JNDI簡介 446
19.2.2 為命名服務初始化參數 447
19.2.3 註冊對象 448
19.2.4 查找對象 449
19.2.5 JNDI和RMI結合 450
19.3 使用EJB開發企業級程式 453
19.3.1 EJB簡介 453
19.3.2 無狀態會話EJB概述 454
19.3.3 無狀態會話 EJB:
遠程業務邏輯接口 454
19.3.4 無狀態會話EJB:
生命周期接口 455
19.3.5 無狀態會話 EJB:組件類 456
19.3.6 無狀態會話EJB:
部署描述檔案 457
19.3.7 無狀態會話EJB:客戶端 458
19.3.8 有狀態會話EJB概述 459
19.3.9 有狀態會話EJB:
遠程業務邏輯接口 460
19.3.10 有狀態會話EJB:
生命周期接口 460
19.3.11 有狀態會話EJB:組件類 461
19.3.12 有狀態會話 EJB:
部署描述檔案 462
19.3.13 有狀態會話EJB:客戶端 463
19.3.14 CMP實體EJB概述 464
19.3.15 CMP實體EJB:
遠程業務邏輯接口 465
19.3.16 CMP實體EJB:
生命周期接口 466
19.3.17 CMP實體EJB:組件類 466
19.3.18 CMP實體EJB:
部署描述檔案 468
19.3.19 CMP 實體EJB:客戶端 471
19.3.20 BMP實體EJB 472
19.3.21 訊息驅動EJB 479
19.4 小結 482
第4篇 經典案例分析
第20章學生信息管理系統484
20.1需求分析484
20.2系統設計484
20.3 登錄模組 484
20.3.1 設計構想 485
20.3.2 實現登錄模組 485
20.4 學生信息模組 488
20.4.1 設計構想 488
20.4.2 實現學生信息主界面 488
20.4.3 增加信息 490
20.4.4 刪除信息 494
20.4.5 修改信息 497
20.4.6 基本信息查詢 501
20.4.7 成績查詢 505
20.4.8 退出系統 509
20.5 教師信息模組 511
20.5.1 主界面 511
20.5.2 增加信息 514
20.5.3 刪除信息 518
20.5.4 修改信息 521
20.5.5 錄入成績 525
20.5.6 刪除成績 529
20.5.7 修改成績 532
20.5.8 基本信息查詢 536
20.5.9 退出系統 540
20.6 小結 542
第21章 網上書店 543
21.1 需求分析 543
21.2 系統設計 543
21.3 系統實現 544
21.3.1 實現效果 544
21.3.2 網上書店框架頁面 546
21.3.3 頁頭頁面 547
21.3.4 用戶登錄 548
21.3.5 主頁 548
21.3.6 購物車頁面 550
21.3.7 註冊頁面 553
21.3.8 錯誤頁面 558
21.3.9 套用JavaBean 559
21.4 小結 564
附錄A Eclispe開發環境概述 565
附錄B ASCII編碼表 580
附錄C JDK命令詳解 582