內容簡介
本書是目前流行的Java語言的入門教程,由淺入深,循序漸進地講解了如何使用Java語言進行程式開發。本書內容包括Java開發環境,Java基本語言(數據類型、運算符和控制語句等),Java面向對象編程特性(對象、類、接口、異常、多執行緒等),JDBC資料庫編程,Java界面開發,Applet網頁內嵌界面開發和Socket網路編程,最後通過學生管理系統和航空
訂票系統來講解如何使用前面所學進行項目開發。
本書講解知識全面、重點突出,其中覆蓋JavaSE開發中的各個方面,以套用最廣的面向對象和JDBC資料庫編程為重點進行詳細講解。通過本書可以使Java語言的初學者和大中專學生輕鬆入門,並且全面了解Java的套用方向和重點掌握重點內容,從而為進一步學習Java提供堅實基礎。
圖書目錄
第1章 Java概述1
1.1 Java簡介2
1.1.1 Java的發展2
1.1.2 Java的特點2
1.2 搭建開發環境4
1.2.1 下載JDK64
1.2.2 安裝JDK65
1.2.3配置環境變數5
1.2.4 認識JDK目錄結構6
1.2.5 認識幫助文檔API 7
1.3 開發HelloWorld程式7
1.3.1 編寫Java程式7
1.3.2 編譯Java程式8
1.3.3 運行Java程式8
1.3.4 分析HelloWorld程式8
1.4 使用官方開發工具NetBeans9
1.4.1 下載和安裝NetBeans 9
1.4.2 使用NetBeans開發Java程式9
11.5 使用集成開發工具MyEclipse開發11
1.5.1 下載和安裝MyEclipse 11
1.5.2 使用MyEclipse開發Java程式11
1.6 疑難解答13
1.7 問答題14
第2章 Java數據類型和運算符15
2.1 基礎語言要素16
2.1.1 標識符16
2.1.2 關鍵字17
2.1.3 注釋17
2.2 數據類型18
2.2.1 常量和變數19
2.2.2 整數類型19
2.2.3 浮點數類型20
2.2.4 字元類型21
2.2.5 布爾類型22
2.2.6 對象數據類型22
2.3 數據類型轉換22
2.3.1 自動類型轉換22
2.3.2 強制類型轉換23
2.4 運算符和表達式24
2.4.1 算術運算符24
2.4.2 自增自減運算符26
2.4.3 關係運算符28
2.4.4 邏輯運算符29
2.4.5 位運算符30
2.4.6移位運算符30
2.4.7 三元條件運算符31
2.4.8 賦值運算符32
2.4.9 運算符優先權33
實訓2.1——定義學生屬性模型33
2.5 疑難解答35
2.6 上機題36
第3章 流程控制語句37
3.1 條件語句38
3.1.1 簡略形式的if條件語句38
3.1.2 完全形式的if條件語句39
3.1.3 嵌套形式的if條件語句41
3.1.4 switch多分支語句42
3.2 循環語句44
3.2.1 for循環語句44
3.2.2 嵌套for循環語句45
3.2.3 while循環語句46
3.2.4 do-while循環語句47
3.3 跳轉語句48
3.3.1 break中斷語句48
3.3.2 continue繼續語句49
實訓3.1——綜合使用控制語句輸出實心菱形50
3.4 疑難解答53
3.5 上機題54
第4章 數組55
4.1 定義數組56
4.1.1 聲明數組56
4.1.2 創建數組56
4.1.3 數組的初始化58
4.2 數組排序59
4.2.1 數組元素交換59
4.2.2 冒泡排序算法60
4.3 多維數組61
4.3.1 多維數組的定義61
4.3.2 輸出多維數組元素62
4.4 增強for循環63
4.5 命令行參數64
實訓4.1——數組在銀行賬單中的使用65
4.6 疑難解答67
4.7 上機題68
第5章 對象和類69
5.1 面向對象編程70
5.1.1 面向對象編程思想70
5.1.2 什麼是對象70
5.1.3 什麼是類71
5.2 類的定義和對象的創建71
5.2.1 定義類71
5.2.2 創建對象72
5.3 成員變數73
5.3.1 定義成員變數73
5.3.2 使用成員變數73
5.3.3 成員變數的默認初始值74
5.4 成員方法75
5.4.1 成員方法的聲明和簡單調用75
5.4.2 返回類型76
5.4.3 參數序列77
5.4.4 局部變數78
5.4.5 this引用79
5.4.6 值調用和引用調用81
5.5 靜態修飾符82
5.5.1 生命周期82
5.5.2 靜態變數和成員變數的區別82
5.5.3 靜態和成員之間的訪問83
5.5.4 靜態塊和實例塊84
5.9 訪問控制85
5.9.1 創建包85
5.9.2 導入包86
5.9.3 類訪問控制87
5.9.4 成員訪問控制89
5.9.5 Java中的封裝性90
5.10 構造函式91
5.10.1 無參數構造函式的定義和使用91
5.10.2 有參數構造函式的定義和使用92
5.10.3 構造函式間的調用93
5.10.4 構造函式訪問控制93
5.10.5 Java中的單列模式94
實訓5.1 創建班級和學生模型94
5.11 疑難解答97
5.12 上機題98
第6章 繼承和多態99
6.1 繼承的概念100
6.1.1 什麼是繼承100
6.1.2 為什麼使用繼承100
6.1.3 繼承的結構101
6.1.4 創建子類對象的流程102
6.2 this和super在繼承中的使用103
6.2.1 this和super的引用範圍104
6.2.2 使用super()調用父類構造函式104
6.3 繼承中的訪問控制符105
6.3.1 公共訪問控制符105
6.3.2 保護訪問控制符和默認訪問控制符106
6.3.3 私有訪問控制符107
6.4 成員變數的繼承和隱藏108
6.4.1 隱藏規則108
6.4.2 調用隱藏變數109
6.5 方法的繼承和重寫110
6.5.1 重寫規則110
6.5.2 重寫方法的訪問控制111
6.5.3 重寫方法的返回類型112
6.5.4 靜態方法的繼承113
6.5.5 重寫的意義113
6.6 方法的重載114
6.6.1 重載規則115
6.6.2 重載方法的調用116
6.6.3 重載和重寫的區別117
實訓6.1——射擊遊戲的設計117
6.7 多態119
6.7.1 什麼是多態119
6.7.2 類多態和引用範圍120
6.7.3 父類引用調用成員121
6.7.4 引用的類型轉換122
實訓6.2——寵物收容所開發122
6.8 所有類的父類——Object類125
6.8.1 認識Object類和類中方法125
6.8.2 比較方法127
6.8.3 對象銷毀方法128
6.8.4 Object類型引用129
6.8.5instanceof運算符130
6.9 疑難解答132
6.10 上機題133
第7章 抽象類和接口135
7.1 final最終修飾符136
7.1.1 最終變數136
7.1.2 最終方法137
7.1.3 最終類138
7.2 抽象類138
7.2.1 abstract抽象修飾符139
7.2.2 定義抽象類139
7.2.3 抽象方法的限制140
7.2.4 繼承中的抽象類和抽象方法140
7.3 接口141
7.3.1 接口概念141
7.3.2 接口的定義和實現142
7.3.3 接口中變數的設計和使用142
7.3.4 接口中方法的設計和使用144
7.3.5 實現多個接口145
7.3.6 接口的多態146
7.3.7 接口和抽象類的區別147
7.4 API中常用接口147
7.4.1 克隆接口147
7.4.2 比較排序接口149
實訓7.1——實現計算機USB功能150
7.5 疑難解答154
7.6 上機題155
第8章 異常處理157
8.1 異常處理相關概念158
8.1.1 什麼是異常158
8.1.2 什麼是異常處理159
8.2 使用try-catch語句進行異常處理159
8.2.1 try-catch語句的基本形式159
8.2.2 對異常彌補處理161
8.2.3 處理多種異常162
8.2.4 finally語句163
8.2.5 try-catch-finally語句的注意點164
8.3 異常類層次和異常分類165
8.3.1 異常類層次165
8.3.2 異常分類165
8.3.3 多catch語句順序166
8.4拋出異常167
8.4.1 拋出異常的原因167
8.4.2 隱性拋出異常167
8.4.3 顯性拋出異常168
8.4.4 重寫方法中的拋出異常169
8.5 自定義異常170
8.5.1 創建自定義異常170
8.5.2 使用自定義異常171
實訓8.1——.異常在網站登錄模組中的使用172
8.6 疑難解答175
8.7 上機題176
第9章 Java中常用類和接口177
9.1 字元串類178
9.1.1 創建字元串對象178
9.1.2 String類常用方法179
9.1.3 字元串的不變性180
9.2 StringBuffer類181
9.2.1 StringBuffer類的常用方法181
9.2.2 StringBuffer類和字元串的性能比較182
9.3 封裝類183
9.3.1 封裝類介紹184
9.3.2 封裝類和字元串類相互轉換185
9.3.3 自動裝箱拆箱186
9.4 Math數學類187
9.4.1 求隨機數187
9.4.2 求相鄰整數188
9.5 日期時間類188
9.5.1 Date日期時間類189
9.5.2 日期時間格式化類189
9.5.3 字元串轉換為日期時間190
9.5.4 Calendar日曆類191
實訓9.1——使用日期時間類開發萬年曆 192
9.6 疑難解答194
9.7 上機題195
第10章 數據結構和集合框架197
10.1 集合和集合框架接口198
10.1.1 什麼是集合198
10.1.2 集合框架接口198
10.2 列表(List接口)199
10.2.1 數組列表199
10.2.2 疊代器200
10.2.3 Vector類和數組列表的區別201
10.2.4 鏈狀列表202
10.3 集(Set)203
10.3.1 Set接口和List接口的區別204
10.3.2 哈希集204
10.3.3 排序集206
10.4 映射(Map)207
10.4.1 哈希映射207
10.4.2 排序映射208
實訓10.1——集合框架在購物網站裡的使用210
10.5 疑難解答213
10.6 上機題214
第11章 檔案和IO流操作215
11.1 目錄檔案類216
11.1.1 認識目錄檔案類216
11.1.2 顯示目錄下所有檔案217
11.2 了解IO流218
11.2.1 什麼是IO流219
11.2.2 IO流分類219
11.3 位元組流219
11.3.1 檔案位元組輸入流219
11.3.2 檔案位元組輸出流221
11.3.3 使用緩衝區對檔案進行讀寫操作222
11.3.4 基本數據類型流223
11.4 字元流225
11.4.1 字元橋流225
11.4.2 緩衝字元流227
11.4.3 檔案字元流228
11.4.4 鍵盤輸入230
11.5 序列化對象231
11.5.1 序列化接口231
11.5.2 對象流232
實訓11.1——使用IO流對檔案加密解密233
11.6 疑難解答 236
11.7 上機題 237
第12章 多執行緒239
12.1 進程和執行緒 240
12.1.1 進程和執行緒的關係240
12.1.2 調用進程240
12.2 多執行緒開發241
12.2.1 多執行緒的好處241
12.2.2 繼承父類實現執行緒242
12.2.3 實現接口實現執行緒243
12.2.4 兩種方式的區別243
12.2.5 實現多執行緒244
12.2.6 多執行緒特點245
12.2.7 執行緒的生命周期246
12.3 對執行緒的調度 246
12.3.1 執行緒的優先權246
12.3.2 睡眠和喚醒248
12.3.3 執行緒讓步249
12.3.4 執行緒加入250
12.4執行緒同步251
12.4.1 為什麼使用執行緒同步252
12.4.2 同步塊253
12.4.3 同步方法255
12.4.4 同步執行緒的調度255
實訓12.1——生產者和消費者255
12.5 疑難解答 259
12.6 上機題 260
第13章 資料庫開發基礎261
13.1 資料庫 262
13.1.1 安裝MySQL資料庫262
13.1.2 創建和刪除資料庫263
13.1.3 創建和刪除數據表264
13.2 開始JDBC編程 265
13.2.1 資料庫套用架構模型265
13.2.2 JDBC編程的前提條件265
13.2.3 開發第一個JDBC程式266
13.3 分析JDBC開發步驟 267
13.3.1 載入驅動267
13.3.2 建立資料庫連線269
13.3.3 執行資料庫操作272
13.3.4 關閉資源272
13.4 執行增刪改查操作 273
13.4.1 增刪改操作273
13.4.2 查詢操作274
13.4.3可滾動結果集276
13.5 預編譯語句 277
13.5.1SQL注入攻擊277
13.5.2 使用預編譯語句運算元據庫278
13.6 封裝資料庫操作 280
13.6.1 封裝打開和關閉操作280
13.6.2 封裝增刪改查操作282
實訓13.1——JDBC在註冊登錄模組里的使用285
13.7 疑難解答 289
13.8 上機題 290
第14章 JDBC高級編程291
14.1 特殊數據類型操作 292
14.1.1 日期類型292
14.1.2 大文本類型294
14.1.3 二進制類型297
14.2 JDBC事務 299
14.2.1 認識事務299
14.2.2 編寫事務300
14.2.3 定義事務點302
14.2.4 批處理302
14.3 元數據 304
14.3.1資料庫元數據304
14.3.2 結果集元數據305
實訓14.1——使用事務開發信息錄入模組306
14.4 疑難解答 309
14.5 上機題 310
第15章 界面編程初步311
15.1 認識界面開發 312
15.1.1 AWT和Swing之間的關係312
15.1.2 開發第一個界面程式312
15.2 窗體開發 313
15.2.1 創建窗體314
15.2.2 認識事件315
15.2.3 窗體事件315
15.3 容器和簡單控制項 317
15.3.1 控制項的分類317
15.3.2 面板317
15.3.3 標籤318
15.3.4 按鈕320
15.4 布局管理器 321
15.4.1 流布局321
15.4.2 格線布局323
15.4.3 框線布局325
15.4.4 空布局327
實訓15.1——Swing開發簡易計算器329
15.5 疑難解答 334
15.6 上機題 335
第16章 界面開發控制項339
16.1 文本類控制項 340
16.1.1 文本框340
16.1.2 密碼框342
16.1.3 文本區344
16.2 選擇類控制項 345
16.2.1 單選按鈕345
16.2.2 複選框347
16.2.3 列表框349
16.2.4 下拉列表351
16.3 選單類控制項 353
16.3.1 普通界面選單353
16.3.2 右鍵選單355
16.4 輔助類控制項 356
16.4.1 分割容器356
16.4.2 滑塊358
16.4.3 進度條359
實訓16.1——使用控制項搭建用戶註冊界面361
16.5 疑難解答 363
16.6 上機題 364
第17章 網路編程369
17.1 計算機網路相關概念 370
17.1.1 IP位址和域名370
17.1.2 伺服器和客戶機370
17.1.3 連線埠和套接字371
17.1.4 URL 371
17.1.5 TCP/IP協定371
17.2 網路API介紹 371
17.2.1 URL類372
17.2.2 InetAddress協定地址類373
17.2.3 ServerSocket伺服器套接字類374
17.2.4 Socket套接字類376
17.3 單向通信 377
17.3.1 接收信息的伺服器378
17.3.2 傳送信息的客戶機379
17.4 雙向通信 381
17.4.1 返回周長值的伺服器381
17.4.2 傳送半徑值的客戶機383
17.5 多客戶機通信 385
17.5.1 處理多客戶機請求的伺服器385
17.5.2 傳送請求的多客戶機387
實訓17.1——網路編程開發聊天室387
17.6 疑難解答 394
17.7 上機題 395
第18章 Applet網頁內嵌界面開發397
18.1 Applet開發基礎 398
18.1.1 認識HTML靜態頁面語言398
18.1.2 Applet程式的開發過程399
18.1.3 開發第一個Applet程式399
18.1.4 運行Applet程式的方式401
18.2 執行流程 402
18.2.1 Applet生命周期402
18.2.2 Applet流程方法402
18.2.3 Applet安全機制404
18.3 Applet多媒體編程 404
18.3.1 繪製圖形404
18.3.2 圖像處理405
18.3.3 聲音處理407
18.4 Applet和Application的區別 407
實訓18.1——Applet開發一個頁面時鐘408
18.5 疑難解答 413
18.6 上機題 414
第19章 學生管理系統415
19.1 系統設計 416
19.1.1 開發背景416
19.1.2 需求分析416
19.1.3 資料庫設計417
19.1.4 系統演示417
19.2 登錄功能實現 419
19.2.1 登錄界面設計420
19.2.2 登錄業務功能實現422
19.3 學生查看自己信息的實現 423
19.3.1 查看自己信息界面設計423
19.3.2 查看信息功能實現424
19.4 老師相關操作模組 425
19.4.1 老師操作界面設計426
19.4.2 添加學生界面設計427
19.4.3 添加學生功能實現430
19.4.4 查詢指定學生界面設計431
19.4.5 查詢全部學生界面設計432
19.4.6 查詢全部學生功能實現435
19.4.7 獲取平均成績和及格率功能實現436
19.5 系統開發總結 438
第20章 航空訂票系統441
20.1 系統設計 442
20.1.1 開發背景442
20.1.2 需求分析442
20.1.3 資料庫設計442
20.1.4 系統演示443
20.2 公共類設計 444
20.2.1 飛行路線類445
20.2.2 訂單類445
20.3 客戶端模組開發 446
20.3.1 查詢界面開發446
20.3.2 連線伺服器類設計448
20.3.3 查詢結果界面開發449
20.3.4 購買界面開發451
20.4 伺服器端模組開發 454
20.4.1 連線類設計454
20.4.2 伺服器業務處理類設計456
20.4.3 查詢指定航班所有乘客458
20.4.4 查詢航班所有乘客類設計459
20.5 系統開發總結 460