內容簡介
《Java編程基礎、實例與進階》全書共11章,內容包括Java概述、Java語言基礎知識、面向對象的編程方法、Java常用類庫和數據結構、Java I/O系統、異常處理、圖形用戶界面、多執行緒、網路編程、優雅而高效的Java編程及編程實例,比較全面地覆蓋了Java語言的基礎知識。在介紹Java語言的主要內容時,以基本知識點、示例解析和知識拓展三個部分分別介紹了基礎知識、基礎知識的示例解析和更進一步的知識講解。在最後一章給出了兩個Java語言的編程實例,有利於初學者鍛鍊使用Java語言解決實際問題的能力。
《Java編程基礎、實例與進階》可以作為高等院校和專業技術學校講授Java課程的實例教程,也可以作為初學者自學的教材。
目錄
第1章 Java概述1
1.1 基本知識點1
1.1.1 面向對象編程的基本概念1
1.1.2 Java開發工具包3
1.1.3 Java集成開發環境Eclipse3
1.2 示例解析4
1.2.1 JDK的安裝4
1.2.2 安裝Eclipse9
1.2.3 利用Eclipse編輯、編譯和運行Hello World!11
1.3 知識拓展15
1.3.1 如何利用JDK編譯、運行Hello World!程式15
1.3.2 如何輸入並輸出一個整數18
習題119
第2章 Java語言基礎知識20
2.1 基本知識點20
2.1.1 標識符與關鍵字20
2.1.2 基本數據類型21
2.1.3 數據類型的轉換22
2.1.4 常量與變數22
2.1.5 運算符23
2.1.6 流程控制語句25
2.1.7 Java程式的基本構成28
2.2 示例解析29
2.2.1 查看基本數據類型的取值範圍29
2.2.2 基本數據類型之間的轉換32
2.2.3 奇偶數判斷33
2.2.4 判斷一個對象是不是某個類的一個實例34
2.2.5 學生成績判斷35
2.2.6 列印1~100之間的整數37
2.2.7 找出1至給定整數之間的所有質數37
2.2.8 解一元二次方程41
2.3 知識拓展43
2.3.1 學生成績判斷如何使用switch語句實現43
2.3.2 如何使用遞歸函式44
習題246
Java編程基礎、實例與進階目錄
第3章 面向對象的編程方法47
3.1 基本知識點47
3.1.1 類47
3.1.2 對象49
3.1.3 類的封裝50
3.1.4 類的繼承50
3.1.5 類的多態51
3.1.6 抽象類與接口51
3.2 示例解析52
3.2.1 訪問控制符的作用範圍52
3.2.2 方法重載59
3.2.3 構造方法的重載60
3.2.4 類繼承中的實例對象的構造順序63
3.2.5 final類不允許派生子類64
3.2.6 類繼承中屬性和方法的繼承與覆蓋65
3.2.7 基於接口實現多繼承68
3.3 知識拓展71
3.3.1 在Java中如何判斷兩個類對象的值是否相等71
3.3.2 在Java中怎樣實現值傳送73
習題376
第4章 Java常用類庫和數據結構78
4.1 基本知識點78
4.1.1 String對象和StringBuffer對象78
4.1.2 System類79
4.1.3 Math對象80
4.1.4 數組80
4.1.5 常用集合類81
4.2 示例解析83
4.2.1 String類常見操作83
4.2.2 StringBuffer類常見操作84
4.2.3 獲得系統屬性85
4.2.4 回顯字元串86
4.2.5 列印乘法表88
4.2.6 兩個矩陣相加89
4.2.7 兩個矩陣相乘91
4.2.8 讀取並顯示檔案內容94
4.2.9 Hashtable類的套用96
4.3 知識拓展98
4.3.1 如何讀取並反序顯示檔案內容98
4.3.2 如何使得集合類能夠識別對象的類型100
4.3.3 如何方便地對一組對象進行排序102
習題4106
第5章 Java I/O系統107
5.1 基本知識點107
5.1.1 流107
5.1.2 位元組流107
5.1.3 字元流109
5.1.4 檔案操作110
5.1.5 對象序列化111
5.2 示例解析112
5.2.1 File類常用方法示例112
5.2.2 檔案行數統計114
5.2.3 利用FileInputStream讀取檔案116
5.2.4 利用FileOutputStream寫入檔案118
5.2.5 在指定檔案中查找詞語120
5.2.6 dir命令的Java實現122
5.2.7 在指定目錄中查找詞語124
5.2.8 讀取一個檔案的內容並寫入另外一個檔案中126
5.3 知識拓展129
5.3.1 在列目錄時如何過濾檔案129
5.3.2 如何向檔案中寫入指定的內容132
5.3.3 如何實現對象的序列化136
習題5138
第6章 異常處理139
6.1 基本知識點139
6.1.1 什麼是異常139
6.1.2 異常的處理140
6.1.3 異常的拋出140
6.1.4 自定義異常141
6.2 示例解析141
6.2.1 數組下標越界異常141
6.2.2 空指針異常142
6.2.3 拋出並捕獲異常的示例144
6.2.4 構造一個特殊的字元串類145
6.3 知識拓展146
如何自定義異常146
習題6147
第7章 圖形用戶界面148
7.1 基本知識點148
7.1.1 AWT圖形用戶界面148
7.1.2 Swing圖形用戶界面152
7.1.3 JavaApplet153
7.2 示例解析153
7.2.1 窗體使用示例153
7.2.2 FlowLayout使用示例154
7.2.3 BorderLayout使用示例156
7.2.4 GridLayout使用示例157
7.2.5 使窗體可以回響事件159
7.2.6 Button使用示例162
7.2.7 Label使用示例164
7.2.8 Checkbox使用示例166
7.2.9 Choice使用示例168
7.2.10 Panel使用示例169
7.2.11 List使用示例171
7.2.12 Canvas使用示例172
7.2.13 TextField使用示例174
7.2.14 TextArea使用示例176
7.2.15 對話框使用示例178
7.2.16 Menu使用示例181
7.2.17 Swing中組件的使用示例183
7.2.18 JScrollPane使用示例184
7.2.19 JSplitPane使用示例186
7.2.20 JTabbedPane使用示例189
7.2.21 JToolBar使用示例190
7.2.22 JTable使用示例192
7.2.23 JTree使用示例194
7.2.24 小程式使用示例198
7.3 知識拓展200
何為匿名類?如何在圖形界面編程中使用匿名類200
習題7202
第8章 多執行緒203
8.1 基本知識點203
8.1.1 什麼是執行緒203
8.1.2 執行緒的生命周期與控制204
8.1.3 執行緒的調度206
8.1.4 多執行緒的同步與通信206
8.2 示例解析206
8.2.1 通過Thread類實現執行緒206
8.2.2 通過Runnable接口實現執行緒208
8.2.3 設定執行緒的優先權209
8.2.4 終止一個執行緒213
8.2.5 幽靈程式示例215
8.2.6 執行緒池示例216
8.3 知識拓展220
8.3.1 如何實現執行緒的同步220
8.3.2 如何線上程之間交換數據224
習題8227
第9章 網路編程228
9.1 基本知識點228
9.1.1 網路和Java網路編程的基本概念228
9.1.2 Internet地址操作231
9.1.3 URL和URLConnection231
9.1.4 套接字編程232
9.2 示例解析233
9.2.1 顯示指定域名的主機的IP位址信息233
9.2.2 顯示本機的IP位址信息235
9.2.3 獲得一個指定的URL的內容236
9.2.4 查看指定主機的指定連線埠是否提供TCP服務239
9.2.5 Echo的服務端和客戶端實現241
9.3 知識拓展247
9.3.1 如何使用Socket獲得一個指定的URL的內容247
9.3.2 如何使用伺服器端套接字查看本機的指定連線埠
是否提供TCP服務249
9.3.3 如何實現ping命令251
9.3.4 如何獲得本機的MAC地址254
習題9257
第10章 優雅而高效的Java編程258
10.1 基本知識點258
10.1.1 編碼規範258
10.1.2 程式的效率259
10.1.3 優雅的編程——設計模式淺談260
10.2 示例解析260
10.2.1 靜態工廠模式示例260
10.2.2 工廠方法模式示例263
10.2.3 抽象工廠模式示例265
10.2.4 單例模式示例268
10.2.5 觀察者模式示例270
10.3 知識拓展274
如何套用Java自帶的觀察者實現274
習題10276
第11章 編程實例277
11.1 數據表查看器277
11.1.1 系統總體設計277
11.1.2 系統模組的設計與實現278
11.2 流程圖繪製工具301
11.2.1 系統總體設計301
11.2.2 系統模組的設計與實現302
習題11318
參考文獻319