人民郵電出版社教材
書 名 Java程式設計實用教程叢 書 名 21世紀高等學校計算機規劃教材——精品系列
標準書號 ISBN 978-7-115-22024-0
作 者 耿祥義 張躍平 編著
責任編輯 劉博
開 本 16 開
印 張 21.75
字 數 570 千字
頁 數 338 頁
裝 幀 平裝
版 次 第1版第1次
初版時間 2010年4月
本 印 次 2010年4月
首 印 數 3000 冊
定 價 36.00 元
內容提要
Java語言具有面向對象、與平台無關、安全、穩定、多執行緒等優良特性,是目前軟體設計中極為強大的程式語言。本書注重結合實例,循序漸進地向讀者介紹了Java語言的重要知識點,特彆強調Java面向對象編程的思想。全書分為16章,分別講解了簡單數據類型、運算符、表達式和語句、類與對象、子類與繼承、接口與多態、數組與枚舉、內部類與異常類、常用實用類、Java輸入輸出流、JDBC資料庫操作、泛型與集合框架、Java多執行緒機制、Java網路基礎、圖形用戶界面設計、Java Applet程式等內容。本書適合作為高等院校計算機相關專業“Java語言程式設計”以及“面向對象語言”課程的教材。
目錄
第1章 初識Java 11.1 Java誕生的原因 2
1.2 Java的地位 4
1.2.1 網路地位 4
1.2.2 語言地位 4
1.2.3 需求地位 4
1.3 安裝JDK 4
1.3.1 3種平台簡介 4
1.3.2 安裝Java SE平台 5
1.4 Java程式的開發步驟 7
1.5 一個簡單的Java應用程式 8
1.5.1 編寫源檔案 8
1.5.2 編譯 9
1.5.3 運行 10
1.6 Java的語言特點 10
1.6.1 簡單 10
1.6.2 面向對象 11
1.6.3 多執行緒 11
1.6.4 安全 11
1.6.5 動態 11
習題1 11
第2章 初識對象和簡單數據類型 13
2.1 問題的提出 13
2.2 簡單的矩形類 14
2.3 使用矩形類創建對象 15
2.3.1 用類聲明對象 15
2.3.2 為對象分配變數 15
2.3.3 使用對象 16
2.4 在Java應用程式中使用矩形對象 16
2.5 Java應用程式的基本結構 17
2.6 一個源檔案中編寫多個類 19
2.7 標識符與關鍵字 20
2.7.1 標識符 20
2.7.2 關鍵字 20
2.8 簡單數據類型 20
2.8.1 邏輯類型 21
2.8.2 整數類型 21
2.8.3 字元類型 22
2.8.4 浮點類型 23
2.9 簡單數據類型的級別與數據轉換 24
2.10 從命令行視窗輸入、輸出數據 25
2.10.1 輸入基本型數據 25
2.10.2 輸出基本型數據 26
2.11 編成風格 27
2.11.1 Allmans風格 27
2.11.2 Kernighan風格 27
2.11.3 注釋 28
習題2 28
第3章 運算符、表達式和語句 30
3.1 運算符與表達式 30
3.1.1 算術運算符與算術表達式 30
3.1.2 自增,自減運算符 30
3.1.3 算術混合運算的精度 31
3.1.4 關係運算符與關係表達式 31
3.1.5 邏輯運算符與邏輯表達式 31
3.1.6 賦值運算符與賦值表達式 32
3.1.7 位運算符 32
3.1.8 instanceof運算符 33
3.1.9 運算符綜述 33
3.2 語句概述 34
3.3 if條件分支語句 34
3.3.1 if語句 34
3.3.2 if-else語句 35
3.3.3 if-else if-else語句 35
3.4 switch開關語句 37
3.5 循環語句 39
3.5.1 for循環語句 39
3.5.2 while循環 40
3.5.3 do-while循環 40
3.6 break和continue語句 41
習題3 42
第4章 類與對象 44
4.1 從抽象到類 44
4.2 類 45
4.2.1 類聲明 45
4.2.2 類體 45
4.2.3 成員變數 46
4.2.4 方法 47
4.2.5 需要注意的問題 49
4.2.6 類的UML類圖 49
4.3 構造方法與對象的創建 49
4.3.1 構造方法 50
4.3.2 創建對象 50
4.3.3 使用對象 52
4.3.4 對象的引用和實體 53
4.4 參數傳值 55
4.4.1 傳值機制 55
4.4.2 基本數據類型參數的傳值 55
4.4.3 引用類型參數的傳值 56
4.4.4 可變參數 58
4.5 有理數的類封裝 59
4.6 對象的組合 62
4.6.1 圓錐體 62
4.6.2 關聯關係和依賴關係的UML圖 63
4.7 實例成員與類成員 64
4.7.1 實例變數和類變數的聲明 64
4.7.2 實例變數和類變數的區別 64
4.7.3 實例方法和類方法的定義 66
4.7.4 實例方法和類方法的區別 66
4.8 方法重載與多態 67
4.9 this關鍵字 69
4.10 包 69
4.10.1 包語句 70
4.10.2 有包名的類的存儲目錄 70
4.10.3 運行有包名的主類 70
4.11 import語句 72
4.11.1 引入類庫中的類 72
4.11.2 引入自定義包中的類 73
4.11.3 使用無包名的類 75
4.11.4 避免類名混淆 75
4.12 訪問許可權 76
4.12.1 何謂訪問許可權 76
4.12.2 私有變數和私有方法 76
4.12.3 共有變數和共有方法 77
4.12.4 友好變數和友好方法 78
4.12.5 受保護的成員變數和方法 78
4.12.6 public類與友好類 79
4.13 基本類型的類包裝 79
4.13.1 Double和Float類 79
4.13.2 Byte、Short、Integer、Long類 80
4.13.3 Character類 80
4.14 反編譯和文檔生成器 80
4.14.1 javap反編譯 80
4.14.2 javadoc製作文檔 80
習題4 81
第5章 子類與繼承 83
5.1 子類與父類 83
5.2 子類的繼承性 84
5.2.1 子類和父類在同一包中的繼承性 84
5.2.2 子類和父類不在同一包中的繼承性 86
5.2.3 protected的進一步說明 86
5.2.4 繼承關係的UML圖 86
5.2.5 關於instanceof運算符 86
5.3 子類對象的特點 87
5.4 成員變數的隱藏和方法重寫 88
5.4.1 成員變數的隱藏 88
5.4.2 方法重寫 89
5.5 super關鍵字 94
5.5.1 用super操作被隱藏的成員變數和方法 94
5.5.2 使用super調用父類的構造方法 95
5.6 final關鍵字 97
5.6.1 final類 97
5.6.2 final方法 97
5.6.3 常量 97
5.7 對象的上轉型對象 98
5.8 繼承與多態 100
5.9 abstract類和abstract方法 101
5.10 面向抽象編程 102
5.11 開-閉原則 104
習題5 107
第6章 接口與多態 109
6.1 接口 109
6.1.1 接口的聲明與使用 109
6.1.2 理解接口 112
6.1.3 接口的UML圖 113
6.2 接口回調 114
6.2.1 接口變數與回調機制 114
6.2.2 接口的多態性 115
6.2.3 abstract類與接口的比較 116
6.3 面向接口編程 116
習題6 119
第7章 數組與枚舉 121
7.1 創建數組 121
7.1.1 聲明數組 121
7.1.2 為數組分配元素 122
7.1.3 數組元素的使用 123
7.1.4 length的使用 123
7.1.5 數組的初始化 124
7.1.6 數組的引用 124
7.2 遍歷數組 125
7.2.1 基於循環語句的遍歷 125
7.2.2 使用toString()方法遍歷數組 126
7.3 複製數組 127
7.3.1 arraycopy方法 127
7.3.2 copyOf和copyOfRange()方法 128
7.4 排序與二分查找 129
7.5 枚舉 130
7.5.1 枚舉類型的定義 130
7.5.2 枚舉變數 130
7.5.3 枚舉類型與for語句和switch語句 131
習題7 132
第8章 內部類與異常類 134
8.1 內部類 134
8.2 匿名類 135
8.2.1 和子類有關的匿名類 135
8.2.2 和接口有關的匿名類 137
8.3 異常類 138
8.3.1 try~catch語句 138
8.3.2 自定義異常類 139
8.4 斷言 141
習題8 142
第9章 常用實用類 144
9.1 String類 144
9.1.1 構造字元串對象 144
9.1.2 String 類的常用方法 145
9.1.3 字元串與基本數據的相互轉化 149
9.1.4 對象的字元串表示 150
9.1.5 字元串與字元、位元組數組 151
9.1.6 正則表達式及字元串的替換與分解 153
9.2 StringBuffer類 157
9.2.1 StringBuffer對象的創建 157
9.2.2 StringBuffer類的常用方法 158
9.3 StringTokenizer類 159
9.4 Date類 160
9.4.1 構造Date對象 160
9.4.2 日期格式化 161
9.5 Calendar類 163
9.6 Math類和BigInteger類 165
9.6.1 Math類 165
9.6.2 BigInteger類 166
9.7 DecimalFormat類 167
9.7.1 格式化數字 167
9.7.2 將格式化字元串轉化為數字 168
9.8 Pattern類與Match類 169
9.8.1 模式對象 170
9.8.2 匹配對象 170
9.9 Scanner類 171
9.10 System類 173
習題9 174
第10章 輸入、輸出流 176
10.1 File類 177
10.1.1 檔案的屬性 177
10.1.2 目錄 178
10.1.3 檔案的創建與刪除 179
10.1.4 運行執行檔 179
10.2 位元組流與字元流 180
10.2.1 InputStream類與OutputSream類 180
10.2.2 Reader類與Writer類 181
10.2.3 關閉流 181
10.3 檔案位元組流 181
10.3.1 檔案位元組輸入流 182
10.3.2 檔案位元組輸出流 183
10.4 檔案字元流 183
10.5 緩衝流 184
10.6 隨機流 186
10.7 數組流 189
10.8 數據流 190
10.9 對象流 193
10.10 序列化與對象克隆 195
10.11 檔案鎖 196
10.12 使用Scanner解析檔案 197
10.13 使用Console流讀取密碼 199
習題10 200
第11章 JDBC資料庫操作 202
11.1 Microsoft Access資料庫管理系統 202
11.1.1 建立資料庫 203
11.1.2 創建表 203
11.2 JDBC 204
11.3 連線資料庫 204
11.3.1 連線方式的選擇 204
11.3.2 建立JDBC-ODBC橋接器 205
11.3.3 ODBC數據源 205
11.3.4 建立連線 206
11.4 查詢操作 208
11.4.1 順序查詢 209
11.4.2 控制游標 211
11.4.3 條件查詢 213
11.4.4 排序查詢 213
11.4.5 模糊查詢 214
11.5 更新、添加與刪除操作 215
11.6 使用預處理語句 216
11.6.1 預處理語句優點 216
11.6.2 使用通配符 218
11.7 事務 221
11.7.1 事務及處理 221
11.7.2 JDBC事務處理步驟 221
11.8 批處理 222
11.9 CachedRowSetImpl類 223
習題11 226
第12章 泛型與集合框架 227
12.1 泛型 227
12.1.1 泛型類 228
12.1.2 泛型類聲明對象 228
12.1.3 泛型接口 229
12.1.4 泛型的目的 230
12.2 鍊表 230
12.2.1 LinkedList<E>泛型類 230
12.2.2 常用方法 231
12.2.3 遍歷鍊表 231
12.2.4 排序與查找 233
12.2.5 洗牌與旋轉 235
12.3 堆疊 237
12.4 散列映射 238
12.4.1 HashMap<K,V>泛型類 238
12.4.2 常用方法 239
12.4.3 遍歷散列映射 239
12.4.4 基於散列映射的查詢 239
12.5 樹集 241
12.5.1 TreeSet<E>泛型類 241
12.5.2 節點的大小關係 241
12.5.3 TreeSet類的常用方法 241
12.6 樹映射 243
12.7 自動裝箱與拆箱 244
習題12 245
第13章 Java多執行緒機制 246
13.1 進程與執行緒 246
13.1.1 作業系統與進程 246
13.1.2 進程與執行緒 247
13.2 Java中的執行緒 247
13.2.1 Java的多執行緒機制 247
13.2.2 執行緒的狀態與生命周期 248
13.2.3 執行緒調度與優先權 251
13.3 Thread的子類創建執行緒 251
13.4 使用Runnable接口 253
13.4.1 Runnable接口與目標對象 253
13.4.2 關於run方法啟動的次數 254
13.4.3 線上程中啟動其他執行緒 255
13.5 執行緒的常用方法 256
13.6 執行緒同步 259
13.6.1 什麼是執行緒同步 259
13.6.2 通過同步避免切換的影響 261
13.7 在同步方法中使用wait()、notify()和notifyAll()方法 263
13.8 執行緒聯合 264
習題13 265
第14章 Java網路編程 268
14.1 URL類 268
14.1.1 URL的構造方法 269
14.1.2 讀取URL中的資源 269
14.2 InetAdress類 270
14.2.1 地址的表示 270
14.2.2 獲取地址 271
14.3 套接字 271
14.3.1 套接字 271
14.3.2 客戶端套接字 272
14.3.3 ServerSocket對象與伺服器端套接字 272
14.3.4 使用多執行緒技術 275
14.4 UDP數據包 278
14.4.1 傳送數據包 279
14.4.2 接收數據包 279
14.5 廣播數據包 282
14.6 Java遠程調用 284
14.6.1 遠程對象及其代理 285
14.6.2 RMI的設計細節 285
習題14 288
第15章 圖形用戶界面設計 289
15.1 Java Swing概述 289
15.2 視窗 290
15.2.1 JFrame常用方法 291
15.2.2 選單條、選單、選單項 292
15.3 常用組件與布局 293
15.3.1 常用組件 293
15.3.2 常用容器 295
15.3.3 常用布局 296
15.4 處理事件 301
15.4.1 事件處理模式 301
15.4.2 ActionEvent事件 302
15.4.3 ItemEvent事件 306
15.4.4 DocumentEvent事件 308
15.4.5 MouseEvent事件 310
15.4.6 焦點事件 314
15.4.7 鍵盤事件 314
15.4.8 匿名類實例或視窗做監視器 317
15.4.9 事件總結 319
15.5 使用MVC結構 319
15.6 對話框 322
15.6.1 訊息對話框 322
15.6.2 輸入對話框 323
15.6.3 確認對話框 325
15.6.4 顏色對話框 326
15.6.5 檔案對話框 327
15.6.6 自定義對話框 330
15.7 發布GUI程式 331
習題15 332
第16章 Java Applet程式 333
16.1 Java Applet的結構 333
16.2 Java Applet的運行原理 334
16.3 在Java Applet中播放聲音 336
16.4 網頁傳值 338
習題16 338