基本信息
* 內行執筆 筆者有5年Java開發經驗+5年執教經驗 * 內容梯度合理 從最基礎的Java語法講起,最後深入到JSP、Swing、JDBC * 實例經典 用實例演示Java的用法,這些例子可以直接套用到具體實例中 * 案例提高 每一章都有相對應的套用案例,告訴讀者如何綜合使用各種技術
內容簡介
Java是當前最流行的程式設計語言之一。本書以Java最新版本Java SE6為基礎,涵蓋了Java SE6最新特性,由淺入深地介紹了Java SE6的主要內容。全書內容包括Java的發展、環境配置和開發工具安裝、Java基本語法、流程控制語句、字元串、數組、面向對象的抽象性、繼承性和多態性、接口和內部類、多執行緒程式、異常處理、圖形界面設計、Java I/O、集合、Java與資料庫、Java Web套用—— JSP。為了便於讀者學習,本書最後一章對ktv管理系統進行了詳細的分析,幫助讀者掌握Java項目開發。
為了方便讀者學習,本書光碟中提供了豐富的內容,包括全書的多媒體視頻演示、全書的電子教案、943頁的電子資料以及書中講解的原始碼等內容。對於每章後面的習題,筆者都給了相應的解答,讀者可以到www tupwkcom cn/develop網站下載。
圖書目錄
第1章 Java概述 1
1.1 Java的發展史 2
1.1.1 Java起源 2
1.1.2 Java發展 2
1.2 Java是什麼 3
1.2.1 Java語言 3
1.2.2 Java平台 3
1.2.3 Java網路作業系統 4
1.3 Java的特點 5
1.4 Java程式類型 6
1.5 JDK與JRE 6
1.5.1 JAVA開發工具包 6
1.5.2 Java運行環境 7
1.6 Java技術體系 7
1.7 Java虛擬機 8
1.7.1 虛擬機數據類型 8
1.7.2 Java虛擬機的生命周期 9
1.7.3 Java虛擬機的體系結構 9
1.8 垃圾收集器 11
1.9 本章習題 11
第2章 Java開發環境 13
2.1 J2SE的下載和安裝 14
2.1.1 J2SE的下載 14
2.1.2 J2SE的安裝 15
2.2 環境變數的配置與測試 16
2.2.1 設定環境變數path 16
2.2.2 設定環境變數classpath 17
2.2.3 環境變數的測試 18
2.3 API文檔的下載與使用 18
2.4 第一個應用程式 19
2.4.1 HelloWorld程式 19
2.4.2 程式運行編譯命令 21
2.4.3 HelloWorld編譯與運行 24
2.5 簡單開發工具介紹 25
2.5.1 EditPlus的編譯與運行 25
2.5.2 在ultraedit上開發Java 27
2.6 集成開發環境Eclipse介紹 30
2.6.1 Eclipse下載與安裝 30
2.6.2 Eclipse的透視圖 31
2.6.3 Eclipse的視圖(View) 33
2.6.4 Eclipse的編輯器 33
2.6.5 Eclipse的工具列和選單欄 34
2.6.6 使用Eclipse編寫HelloWorld
程式 36
2.7 本章習題 38
第3章 Java語言基礎 39
3.1 標識符 40
3.1.1 標識符的概念 40
3.1.2 變數命名規則 40
3.1.3 變數命名技巧 41
3.2 關鍵字 41
3.3 注釋 42
3.4 數據類型 43
3.4.1 整型 43
3.4.2 浮點型 44
3.4.3 字元型 46
3.4.4 布爾型 47
3.5 變數與常量 47
3.5.1 變數聲明 48
3.5.2 變數賦值和初始化 48
3.5.3 常量 48
3.6 類型轉化 49
3.6.1 數值類型之間的轉換 50
3.6.2 強制類型轉換 51
3.7 運算符 52
3.7.1 算術運算符 52
3.7.2 關係運算符 53
3.7.3 邏輯運算符 54
3.7.4 位運算符 55
3.7.5 自動遞增和遞減 58
3.7.6 三元運算符 60
3.7.7 運算符的優先權 60
3.8 本章習題 61
第4章 程式流程控制 63
4.1 順序結構 64
4.2 條件語句 65
4.2.1 if語句 65
4.2.2 if-else語句 67
4.2.3 if-else-if語句 68
4.2.4 if語句的嵌套 70
4.2.5 布爾表達式 73
4.2.6 開關語句 75
4.3 循環語句 78
4.3.1 while循環結構 78
4.3.2 do-while 循環結構 79
4.3.3 for循環結構 80
4.3.4 循環的嵌套 83
4.4 轉向語句 85
4.4.1 break中斷語句 85
4.4.2 continue條件繼續語句 87
4.4.3 標籤語句 89
4.5 返回語句 92
4.6 綜合實例:水仙花數 95
4.7 本章習題 95
第5章 字元串 97
5.1 字元串簡介 98
5.1.1 字元串常量 98
5.1.2 String創建字元串常量 98
5.1.3 StringBuffer創建字元串 100
5.2 連線字元串 101
5.2.1 與字元串的連線 101
5.2.2 與其他數據類型的連線 102
5.3 String字元串操作 103
5.3.1 基本操作 103
5.3.2 比較 104
5.3.3 轉化 107
5.3.4 查找 109
5.3.5 截取拆分 110
5.3.6 替換或修改 112
5.4 StringBuffer類操作 113
5.4.1 基本操作 113
5.4.2 字元串操作方法 116
5.4.3 添加append() 118
5.4.4 插入insert() 119
5.5 實例:字元串套用 120
5.6 本章習題 122
第6章 數組 123
6.1 一維數組 124
6.1.1 數組的概念 124
6.1.2 一維數組的聲明 124
6.1.3 一維數組的初始化 124
6.1.4 一維數組的使用 126
6.1.5 一維數組的空間模型 127
6.1.6 基本數據類型數組 129
6.1.7 對象數組 130
6.1.8 數組參數 131
6.2 二維數組和多維數組 132
6.2.1 二維數組的聲明 132
6.2.2 二維數組的初始化 133
6.2.3 二維數組的空間模型 134
6.2.4 二維數組的使用 134
6.3 數組操作 136
6.3.1 排序數組 136
6.3.2 查找 138
6.3.3 複製數組 140
6.3.4 填充數據 142
6.3.5 比較數組 144
6.4 實例:楊輝三角 146
6.5 本章習題 148
第7章 對象與類 149
7.1 面向對象程式設計 150
7.1.1 面向對象程式設計的概述 150
7.1.2 面向對象程式設計的特點 150
7.1.3 對象與類的關係 151
7.2 定義類 153
7.2.1 MasterCard類的實現 154
7.2.2 MasterCard類的使用 156
7.2.3 訪問控制 158
7.2.4 構造方法 160
7.2.5 方法的參數 161
7.2.6 封裝與隱藏 162
7.2.7 finalize()方法 164
7.3 靜態域與靜態方法 165
7.3.1 靜態域 165
7.3.2 靜態方法 167
7.3.3 Math類 169
7.4 構造方法 171
7.4.1 默認的域初始化 171
7.4.2 默認構造方法 171
7.4.3 拷貝構造方法 172
7.4.4 重載構造方法 173
7.4.5 調用構造方法 173
7.4.6 初始化塊 174
7.5 包 175
7.5.1 包的概念 175
7.5.2 類的導入 176
7.5.3 包名與目錄 177
7.5.4 靜態導入 179
7.5.5 java包介紹 179
7.6 類設計技巧 180
7.7 實例:完善MasterCard類 182
7.7.1 構造方法 182
7.7.2 setter方法 184
7.7.3 getter方法 185
7.7.4 其他方法 185
7.8 main()方法 187
7.9 本章習題 188
第8章 繼承 189
8.1 父類和子類 190
8.2 super構造方法調用 191
8.3 封裝和繼承 193
8.4 使用繼承 195
8.4.1 Object類 195
8.4.2 定義equals方法 196
8.5 關於設計好繼承的幾點建議 198
8.6 實例:一卡通類的繼承 199
8.6.1 構造方法 199
8.6.2 setter方法 200
8.6.3 getter方法 201
8.6.4 方法覆蓋 201
8.6.5 equals方法 202
8.6.6 其他需要強調的地方 202
8.7 本章習題 203
第9章 多態與抽象類 205
9.1 多態性概念 206
9.2 重載 206
9.2.1 重載概念 206
9.2.2 重載注意事項 207
9.3 覆蓋 209
9.3.1 覆蓋概念 209
9.3.2 覆蓋與訪問許可權 211
9.3.3 靜態方法覆蓋 212
9.3.4 覆蓋與異常拋出 213
9.3.5 抽象方法覆蓋 214
9.3.6 覆蓋與重載 215
9.4 靜態綁定與動態綁定 216
9.4.1 靜態綁定 217
9.4.2 動態綁定 218
9.5 抽象類 220
9.5.1 抽象類概念 220
9.5.2 抽象類套用 221
9.5.3 抽象類注意事項 223
9.6 本章習題 224
第10章 接口與內部類 225
10.1 接口 226
10.1.1 接口的概念 226
10.1.2 接口套用 227
10.1.3 抽象類實現接口 229
10.1.4 派生接口 229
10.1.5 Comparable接口 229
10.1.6 Comparable接口套用 231
10.1.7 接口中定義常量 233
10.1.8 Cloneable接口 235
10.1.9 Cloneable接口套用 236
10.1.10 抽象類與接口區別 239
10.2 內部類概念 239
10.3 成員內部類 239
10.3.1 創建內部類對象 240
10.3.2 內部類的this引用 242
10.3.3 成員內部類的修飾符 242
10.4 方法內部類 243
10.5 匿名內部類 244
10.5.1 繼承式 246
10.5.2 接口式 247
10.5.3 參數式 247
10.6 靜態嵌套類 248
10.7 內部類的繼承 249
10.8 本章習題 252
第11章 執行緒 253
11.1 執行緒基礎 254
11.1.1 什麼是執行緒 254
11.1.2 Thread創建執行緒 254
11.1.3 Thread創建執行緒步驟 257
11.1.4 Runnable接口創建執行緒 259
11.1.5 Runnable創建執行緒步驟 260
11.2 執行緒周期 261
11.2.1 執行緒周期概念 261
11.2.2 執行緒的創建和啟動 263
11.2.3 執行緒狀態轉換 265
11.2.4 等待執行緒結束 267
11.3 執行緒調度 270
11.4 執行緒同步 272
11.4.1 同步概念 272
11.4.2 同步格式 274
11.4.3 同步套用 276
11.5 執行緒通信 277
11.5.1 生產者/消費者 278
11.5.2 共享佇列 279
11.5.3 運行生產者/消費者 280
11.6 死鎖 281
11.7 本章習題 284
第12章 異常處理 287
12.1 異常的概念 288
12.2 異常的基本樣式 289
12.3 Java異常類 290
12.3.1 異常類層次結構 290
12.3.2 異常處理方法 292
12.4 異常捕獲 294
12.4.1 異常捕獲處理語句塊 294
12.4.2 必須執行語句塊 297
12.4.3 必須執行語句的意外 299
12.5 異常拋出 300
12.5.1 異常拋出概念 300
12.5.2 throw 301
12.5.3 throws 302
12.5.4 拋出異常 305
12.6 自定義異常 306
12.6.1 創建用戶自定義異常 307
12.6.2 捕獲運行時異常 308
12.7 本章習題 309
第13章 圖形界面編程 311
13.1 AWT簡介 312
13.2 Swing基礎 312
13.2.1 Swing的類層次結構 313
13.2.2 Swing特點 314
13.2.3 Swing程式結構簡介 314
13.3 Swing組件 315
13.3.1 按鈕(Jbutton) 316
13.3.2 複選框(JCheckBox) 317
13.3.3 單選框(JRadioButton) 318
13.3.4 組合框(JComboBox) 320
13.3.5 進程條(JprogressBar) 321
13.3.6 表格(jtable) 321
13.3.7 樹(JTree) 322
13.3.8 文本框(JTextField)與
文本區(jtextarea) 323
13.4 布局管理器 325
13.4.1 FlowLayout布局管理器 325
13.4.2 BorderLayout布局管理器 326
13.4.3 BoxLayout布局管理器 327
13.4.4 GridLayout布局管理器 329
13.5 事件處理 330
13.5.1 事件監聽器 330
13.5.2 事件適配器 331
13.5.3 事件 332
13.6 舉例 335
13.6.1 界面設計 336
13.6.2 運算設計步驟 338
13.7 本章習題 342
第14章 Java I/O系統 343
14.1 I/O概述 344
14.2 檔案操作 345
14.2.1 File類 345
14.2.2 File類套用 346
14.2.3 RandomAccessFile類 348
14.2.4 RandomAccessFile套用 349
14.3 位元組流InputStream、
OutputStream 351
14.3.1 位元組輸入、輸出流 351
14.3.2 位元組檔案輸入、輸出流 353
14.3.3 位元組緩衝輸入、輸出流 354
14.3.4 位元組數據輸入、輸出流 356
14.3.5 位元組對象輸入、輸出流 358
14.4 字元流Reader、Writer 361
14.4.1 字元讀、寫流 361
14.4.2 字元輸入、輸出流 362
14.4.3 檔案讀、寫字元流 363
14.4.4 字元緩衝區讀、寫流 365
14.5 本章習題 365
第15章 集合 367
15.1 集合概述 368
15.2 容器和疊代器 368
15.2.1 容器(Collection) 368
15.2.2 疊代器(Iterator) 369
15.3 鍊表List 371
15.3.1 鍊表List接口方法 371
15.3.2 鍊表疊代器接口 372
15.3.3 鍊表和數組鍊表 372
15.3.4 鍊表套用 373
15.3.5 數組鍊表套用 378
15.4 集Set 379
15.4.1 排序集接口 380
15.4.2 哈希集和樹集 380
15.4.3 樹集套用 383
15.5 映射Map 384
15.5.1 映射接口方法 384
15.5.2 排序映射接口 385
15.5.3 哈希映射和樹映射 385
15.5.4 哈希映射套用 386
15.5.5 樹映射套用 388
15.6 本章習題 389
第16章 Java與資料庫 391
16.1 SQL語句 392
16.1.1 SQL語句分類 392
16.1.2 SELECT 392
16.1.3 INSERT 393
16.1.4 UPDATE 393
16.1.5 DELETE 393
16.1.6 CREATE 394
16.1.7 ALTER 394
16.1.8 DROP 395
16.2 MySQL概述 395
16.2.1 MySQL簡介 395
16.2.2 下載並安裝MySQL 396
16.2.3 MySQL使用 399
16.3 JDBC 402
16.3.1 JDBC設計思想 403
16.3.2 JDBC常見接口和類 403
16.3.3 JDBC資料庫連線步驟 404
16.3.4 載入JDBC驅動程式 405
16.3.5 獲取Connection連線
對象 406
16.4 Java與各種資料庫連線 408
16.5 本章習題 410
第17章 Java Web套用——JSP 411
17.1 JSP技術概述 412
17.2 JSP運行環境搭建 412
17.2.1 Tomcat下載與安裝 412
17.2.2 Tomcat的環境變數配置 413
17.3 基本語法 414
17.3.1 HTML注釋 414
17.3.2 隱藏注釋 415
17.3.3 聲明 415
17.3.4 表達式 416
17.3.5 腳本集 416
17.4 JSP指令元素 418
17.4.1 Include 指令 418
17.4.2 Page 指令 420
17.4.3 Taglib 指令 421
17.5 jsp動作元素 421
17.5.1 <jsp:forward> 421
17.5.2 <jsp:useBean> 422
17.5.3 <jsp:setProperty> 424
17.5.4 <jsp:getProperty> 426
17.5.5 <jsp:include> 426
17.5.6 <jsp:plugin> 427
17.6 內置對象 428
17.6.1 out對象 429
17.6.2 request對象 429
17.6.3 response對象 434
17.6.4 session對象 436
17.6.5 application對象 438
17.6.6 pageContext對象 441
17.6.7 exception對象 442
17.6.8 config對象 442
17.7 計數器 443
17.8 本章習題 445
第18章 KTV管理系統 447
18.1 數據存儲設計 448
18.2 管理界面 449
18.2.1 添加歌曲界面 450
18.2.2 歌曲查找界面 453
18.2.3 歌曲修改界面 457
18.2.4 刪除歌曲 461
18.3 業務處理 464
18.3.1 實體類 464
18.3.2 數據處理 465
18.3.3 許可權處理 469
創作背景 第1章:本書以Java的發展史開始,將讀者引入了Java的殿堂。然後講述了Java是什麼,並分別講述了Java語言的各個特點,最後概述了Java虛擬機和垃圾收集器。通過本章的學習,讀者會對Java有個整體的了解。
第2章:詳細介紹了開發Java程式所需要的開發工具和組件,深入講解了它們的安裝配置方法,並利用開發工具編寫、編譯、運行第一個應用程式。通過本章的學習,讀者可以熟練地使用這些Java開發工具。
第3章:詳細介紹了Java的基本語言知識,主要包括數據類型、變數和常量、以及運算符。通過本章Java語言最基本知識的學習,為以後Java的學習打下堅實的基礎。
第4章:詳細討論了Java程式設計語言的流程控制語句,主要分為條件語句、循環語句、轉向語句以及返回語句。本書所有的程式都是基於上面所提到的流程控制語句,讀者應熟練掌握。
第5章:重點介紹了Java中字元串String類和StringBuffer類。Java中的字元串都是以對象的形式表示,加深字元串操作方法的理解,為以後程式設計準備必要的條件。
第6章:本章講述了Java中數組的內容。首先詳細介紹一維數組的聲明、初始化、使用、以及空間模型,然後討論二維數組,最後還提供了數組操作方法。
第7章:從本章開始進入了Java的面向對象篇,主要討論抽象性。先從理論的角度理解面向對象設計的思想,然後定義了一個類,貫穿整章內容的講解,其次討論了靜態域、方法,構造方法,以及包的概念。
第8章:本章主要討論面向對象程式設計的繼承的概念。首先提供了第7章MasterCard類的一個子類TeacherMasterCard,並講述了super調用構造方法、如何設計繼承。
第9章:本章主要討論面向對象程式設計的多態性的概念。重點突出講解方法的重載、方法的覆蓋以及動態綁定的概念,最後還講述了抽象類的知識點。
第10章:詳細講述了接口和內部類的概念。接口可以實現多繼承的功能;內部類可以使得Java程式更加簡潔、明了,具有模組化。
第11章:本章主要討論執行緒的相關內容。包括執行緒的創建方式、執行緒周期、執行緒調度、執行緒同步、執行緒通信以及執行緒死鎖等內容。通過本章的學習,讀者可以設計出安全的多執行緒程式。
第12章:詳細講述了異常處理方法。從異常類的層次結構、異常捕獲、異常拋出以及自定義異常類多個方面進行討論。使用異常處理機制來增強程式的健壯性。
第13章:本章開始進入圖形界面設計篇。詳細介紹了Java的事件處理機制和Swing用戶界面設計相關內容。主要包括Swing輕量級容器、Swing組件、布局管理器等內容。
第14章:詳細討論了Java I/O系統。包括File檔案類、位元組流相關的派生類和字元流相關的派生類。通過本章的學習,讀者要學會高效的檔案讀寫操作。
第15章:詳細討論了集合的相關知識。包括Collection、Iterator以及3個集合接口:List接口、Set接口和Map接口。
第16章:本章主要講述MySQL在Java中的使用。不僅講述了MySQL的基本SQL語句,而且還講述了JDBC如何與MySQL互動。通過本章的學習,讀者可以開發小型的資料庫應用程式。
第17章:本章主要介紹JSP程式設計。不僅介紹了JSP指令元素、JSP動作元素,還介紹了JSP的內置對象,最後還提供一個綜合的案例。
第18章:本章給出了一個綜合案例——KTV管理系統。涉及的知識點包括I/O輸入流輸出流和Swing基礎知識。