內容簡介
本書從基本概念出發,深入淺出地講解了Java的基礎知識及其套用場景。全書分為理論篇和實踐篇。理論篇共分為14章,分別介紹了初識Java,Java基礎知識,類與對象,類之間的關係,抽象類、接口和內部類,異常處理,泛型和集合,流和檔案,JDBC基礎,Swing圖形界面(1),Swing圖形界面(2),執行緒知識,網路編程Socket,Java高級套用拓展。實踐篇分為11個實踐,通過項目實例介紹了Java開發技術的套用方法。
本書側重講解實際套用的程式設計概念和特點,以點帶面,深入至知識點的實際套用場景,通過理論篇和實踐篇對案例進行講解、剖析及實現,使讀者能夠迅速理解並掌握相關知識點。
本書適應面廣,可作為本科計算機科學與技術、軟體工程、網路工程、計算機軟體、計算機信息管理、電子商務和經濟管理等專業程式設計課程的教材,也可作為科研、程式設計人員的參考書籍。
目錄
理 論 篇
第1章 初識Java 3
1.1 Java簡介 4
1.2 Java的特點 4
1.3 Java體系結構與程式類型 5
1.3.1 Java體系結構 6
1.3.2 Java程式類型 6
1.4 JVM、JRE和JDK 7
1.4.1 JVM 7
1.4.2 JRE與JDK 8
1.4.3 JVM、JRE和JDK三者關係 8
1.5 第一個Java程式 9
1.6 Java注釋 10
1.6.1 單行注釋 10
1.6.2 塊注釋 10
1.6.3 文檔注釋 11
本章小結 12
本章練習 12
第2章 Java基礎知識 13
2.1 常量和變數 14
2.1.1 標識符 14
2.1.2 分隔設定 14
2.1.3 常量 15
2.1.4 變數 16
2.2 數據類型 16
2.2.1 基本數據類型 16
2.2.2 引用類型 18
2.2.3 類型轉換 18
2.3 變數的作用域和初始化 20
2.3.1 變數的作用域 20
2.3.2 變數的初始化 21
2.4 運算符 22
2.4.1 算術運算符 22
2.4.2 比較運算符 23
2.4.3 邏輯運算符 24
2.4.4 位運算符 25
2.4.5 賦值運算符 28
2.4.6 條件運算符 28
2.4.7 運算符優先權 29
2.5 流程控制 30
2.5.1 分支結構 30
2.5.2 疊代結構 34
2.5.3 轉移語句 39
2.6 數組 42
2.6.1 數組創建 42
2.6.2 數組初始化 45
2.6.3 數組拷貝 47
2.6.4 二維數組 49
本章小結 51
本章練習 52
第3章 類與對象 55
3.1 面向對象思想 56
3.1.1 面向對象簡介 56
3.1.2 面向對象機制 57
3.2 類與對象 57
3.2.1 類的聲明 57
3.2.2 對象的創建 59
3.2.3 構造方法 60
3.2.4 類的方法 63
3.2.5 使用對象 64
3.3 參數傳遞和重載 66
3.3.1 參數傳遞 66
3.3.2 方法重載 68
3.4 類的組織 70
3.4.1 包 70
3.4.2 訪問修飾符 72
3.4.3 靜態變數和方法 75
本章小結 77
本章練習 77
第4章 類之間的關係 79
4.1 類間關係 80
4.2 繼承和多態 80
4.2.1 繼承 80
4.2.2 多態 83
4.2.3 super 85
4.2.4 final 89
4.3 Object類 91
4.3.1 equals()方法 91
4.3.2 toString()方法 95
4.4 依賴、關聯、聚合、組合關係 96
4.4.1 依賴關係 97
4.4.2 關聯關係 97
4.4.3 聚合關係 98
4.4.4 組合關係 100
本章小結 101
本章練習 102
第5章 抽象類、接口和內部類 103
5.1 抽象類 104
5.2 接口 107
5.2.1 定義接口 107
5.2.2 實現接口 108
5.3 instanceof運算符 110
5.4 對象轉換 111
5.5 內部類 112
5.5.1 成員內部類 112
5.5.2 局部內部類 114
5.5.3 靜態內部類 115
5.5.4 匿名內部類 117
本章小結 117
本章練習 118
第6章 異常處理 119
6.1 異常 120
6.1.1 異常概述 120
6.1.2 Java異常的分類 120
6.1.3 Java異常處理機制 122
6.2 異常處理 122
6.2.1 異常實例 122
6.2.2 try、catch 123
6.2.3 多重catch處理異常 124
6.2.4 嵌套異常處理 127
6.2.5 finally 128
6.2.6 throw、throws 129
6.3 自定義異常 131
本章小結 132
本章練習 133
第7章 泛型和集合 135
7.1 泛型 136
7.1.1 認識泛型 136
7.1.2 泛型定義 138
7.1.3 有界類型 139
7.1.4 通配符 140
7.1.5 泛型的局限性 142
7.2 集合概述 144
7.2.1 集合框架 144
7.2.2 疊代器接口 147
7.3 集合類 148
7.3.1 List 148
7.3.2 Set 152
7.3.3 Map 155
7.3.4 區別與聯繫 157
本章小結 158
本章練習 158
第8章 流和檔案 161
8.1 檔案 162
8.1.1 File類 162
8.1.2 檔案列表器 164
8.2 流 167
8.3 位元組流 168
8.3.1 InputStream 169
8.3.2 OutputStream 171
8.3.3 過濾流 173
8.4 字元流 176
8.4.1 Reader 176
8.4.2 Writer 179
8.5 對象流 181
8.5.1 對象序列化與反序列化 181
8.5.2 對象流對象 181
本章小結 185
本章練習 185
第9章 JDBC基礎 187
9.1 JDBC 188
9.1.1 JDBC概述 188
9.1.2 JDBC結構 188
9.1.3 JDBC類型 189
9.1.4 JDBC與ODBC 190
9.1.5 JDBC API 191
9.2 訪問資料庫 191
9.2.1 資料庫訪問步驟 192
9.2.2 訪問資料庫示例 195
9.3 運算元據庫 197
9.3.1 Statement 197
9.3.2 PreparedStatement 201
9.3.3 CallableStatement 207
9.4 集元數據 210
9.4.1 DatabaseMetaData 211
9.4.2 ResultSetMetaData 212
9.5 事務操作 213
9.5.1 事務 214
9.5.2 保存點 215
本章小結 217
本章練習 218
第10章 Swing圖形界面(1) 219
10.1 Swing概述 220
10.1.1 Swing簡介 220
10.1.2 Swing結構 220
10.2 容器 221
10.2.1 頂層容器 221
10.2.2 中間容器 223
10.3 布局 224
10.3.1 FlowLayout 224
10.3.2 BorderLayout 225
10.3.3 GridLayout 227
10.3.4 CardLayout 228
10.3.5 NULL布局 230
10.4 事件處理 231
10.4.1 Java事件處理機制 231
10.4.2 事件類 232
10.4.3 監聽接口 233
10.4.4 事件處理步驟 234
10.4.5 鍵盤事件 238
10.4.6 滑鼠事件 240
10.4.7 適配器 242
10.5 常用組件 243
10.5.1 按鈕 243
10.5.2 標籤 244
10.5.3 圖示 244
10.5.4 文本組件 245
10.5.5 複選框 248
10.5.6 單選按鈕 249
10.5.7 列表框 252
10.5.8 組合框 253
本章小結 259
本章練習 260
第11章 Swing圖形界面(2) 263
11.1 選單 264
11.1.1 選單欄對象 264
11.1.2 選單對象 264
11.1.3 選單項對象 264
11.1.4 選單示例 265
11.1.5 彈出式選單 267
11.2 工具列 269
11.3 對話框 270
11.3.1 標準對話框 270
11.3.2 自定義對話框 274
11.3.3 檔案對話框 279
11.3.4 顏色對話框 284
11.4 JTable 285
11.4.1 表格 285
11.4.2 表格模型 286
11.4.3 表格列模型 286
11.4.4 表格選擇模式 287
本章小結 291
本章練習 292
第12章 執行緒知識 293
12.1 執行緒 294
12.1.1 執行緒概述 294
12.1.2 Java執行緒模型 295
12.2 執行緒使用 295
12.2.1 創建執行緒 295
12.2.2 執行緒狀態 298
12.2.3 執行緒優先權 303
12.3 多執行緒 305
12.3.1 多執行緒概述 305
12.3.2 執行緒同步 308
12.3.3 執行緒通信 310
12.3.4 死鎖 313
本章小結 315
本章練習 316
第13章 網路編程Socket 317
13.1 網路基礎 318
13.1.1 網路類型 318
13.1.2 TCP/IP協定 318
13.1.3 UDP協定 319
13.1.4 IP位址 320
13.1.5 連線埠 321
13.1.6 域名與DNS 321
13.2 網路API 322
13.2.1 InetAddress類 322
13.2.2 URL類 324
13.2.3 URLConnection類 326
13.3 Socket網路通信 327
13.3.1 Socket類 328
13.3.2 ServerSocket類 329
13.3.3 C/S實例 330
13.3.4 多執行緒Socket通信 334
13.3.5 聊天室 336
本章小結 341
本章練習 342
第14章 Java高級套用拓展 343
14.1 類載入 344
14.1.1 認識Class 344
14.1.2 使用ClassLoader 346
14.1.3 使用instanceof 348
14.2 反射 349
14.2.1 Constructor類 350
14.2.2 Method類 352
14.2.3 Field類 353
14.3 枚舉 355
14.3.1 枚舉定義 356
14.3.2 Java枚舉是類類型 357
14.3.3 枚舉繼承自Enum 359
14.4 註解 360
14.4.1 註解定義 360
14.4.2 註解使用 361
14.4.3 註解內置 363
14.5 國際化和本地化 364
14.5.1 國際化概述 364
14.5.2 Locale 366
14.6 格式化處理 368
14.6.1 數字格式化 369
14.6.2 貨幣格式化 371
14.6.3 日期格式化 371
14.7 訊息格式化 375
14.8 字元集 377
14.8.1 ASCII 377
14.8.2 ISO8859-1 377
14.8.3 GB2312、GBK和BIG5 378
14.8.4 Unicode 378
14.8.5 UTF-8和UTF-16 378
14.9 正則表達式 379
14.9.1 正則表達式概述 379
14.9.2 模式 379
14.9.3 常用正則表達式 383
14.10 Java中套用正則表達式 384
14.10.1 Pattern類 384
14.10.2 Matcher類 386
14.10.3 套用實例 388
本章小結 393
本章練習 393
實 踐 篇
實踐1 初識Java 397
實踐指導 397
實踐1.1 397
實踐1.2 400
知識拓展 406
拓展練習 411
實踐2 Java基礎知識 412
實踐指導 412
實踐2.1 412
實踐2.2 413
實踐2.3 414
實踐2.4 415
實踐2.5 416
知識拓展 418
拓展練習 429
實踐3 類與對象 431
實踐指導 431
實踐3.1 431
實踐3.2 433
實踐3.3 434
實踐3.4 438
實踐3.5 440
知識拓展 444
拓展練習 445
實踐4 類之間的關係 446
實踐指導 446
實踐4.1 446
實踐4.2 448
實踐4.3 453
實踐4.4 453
實踐4.5 454
實踐4.6 459
知識拓展 462
拓展練習 465
實踐5 抽象類、接口和內部類 466
實踐指導 466
實踐5.1 466
實踐5.2 467
實踐5.3 469
知識拓展 471
拓展練習 473
實踐6 處理異常 474
實踐指導 474
實踐6.1 474
實踐6.2 476
知識拓展 477
拓展練習 480
實踐7 泛型與集合 481
實踐指導 481
實踐7.1 481
實踐7.2 484
實踐7.3 484
知識拓展 486
拓展練習 494
實踐8 流和檔案 495
實踐指導 495
實踐8.1 495
實踐8.2 497
實踐8.3 500
知識拓展 505
拓展練習 510
實踐9 JDBC基礎 511
實踐指導 511
實踐9.1 511
實踐9.2 516
實踐9.3 518
實踐9.4 522
實踐9.5 523
實踐9.6 524
實踐9.7 525
知識拓展 529
拓展練習 539
實踐10 Swing圖形界面 540
實踐指導 540
實踐10.1 540
實踐10.2 559
實踐10.3 563
實踐10.4 568
實踐10.5 571
實踐10.6 575
實踐10.7 577
實踐10.8 580
實踐10.9 581
實踐10.10 583
知識拓展 585
拓展練習 587
實踐11 網路編程Socket 588
實踐指導 588
實踐11.1 588
實踐11.2 589
實踐11.3 597
知識拓展 602
拓展練習 609
附錄A Java關鍵字 610
附錄B 正則表達式元字元 611