本書以最新長期支持穩(wěn)定版本Java為基礎,對第3版進行了升級;除保留了原版內容的循序漸進、深入淺出等諸多優(yōu)點外,精心設計每個實例,囊括了Java的最新語言特性;增強了Java數(shù)據庫編程部分的內容,涉及操作最新MySQL、SQL Server、Oracle等多種最新主流數(shù)據庫的關鍵技術。 本書由Java實用教程、實驗、習題集這三個部分組成。第1部分:一般在介紹內容后緊跟相關的實例演示,在第2、4、7、9~12、14、15章章尾配有綜合實例,以提高讀者綜合應用已學過的主要知識的能力。第2部分:首先通過實例引導讀者學習,然后提出思考問題,最后在原有基礎上讓讀者自己進行操作和編程練習。第3部分:本版系統(tǒng)地擴充了習題的內容,對應于主要知識點,對所有習題均結合書中重要知識點進行了精心設計;通過掃描書中的二維碼可得到配套答案,幫助讀者在鞏固所學知識的同時提高能力。 本書以最新版Eclipse作為Java的集成開發(fā)環(huán)境,該版本與各版JDK的兼容性較好,能將用戶以舊版JDK開發(fā)的Java項目自動轉換成新版項目,其編寫、調試、運行Java程序都十分方便。本書所有實例均在最新版Eclipse下調試通過,實例運行結果以抓圖形式提供。 與本書配套的同步電子課件,可直接用于課堂教學。書中的源代碼和電子課件,可從華信教育資源網(http://www.hxedu.com.cn)上免費下載。本書對每個重要知識點均提供通過二維碼播放的配套視頻教學,既可以作為課后教學輔助,也可作為課程自學。 本書既可作為大學本科和?朴嬎銠C及相關專業(yè)的教材,也可作為Java自學者或應用開發(fā)者的參考書。
鄭阿奇,南京師范大學計算機科學與技術學院,副教授,東南大學本科,曾任計算機軟件系主任,獲選南京師范大學教學名師培養(yǎng)人選。主編5套計算機系列教材,獲教育部優(yōu)秀教材二等獎、電子部優(yōu)秀教材二等獎、兩次獲江蘇省優(yōu)秀教學成果二等獎、江蘇省暢銷圖書編輯二等獎、全國高校出版社優(yōu)秀暢銷書二等獎、兩次獲南京師范大學優(yōu)秀教學成果一等獎、南京師范大學精品教材一等獎。參加主持國家八六三計劃子項目、江蘇省科技開發(fā)項目,主持南京市科技開發(fā)項目、泰州市科委項目、金陵石化公司項目,獲江蘇省優(yōu)秀軟件獎,江蘇省科技進步獎、南京市創(chuàng)新成果獎。獲國家發(fā)明專利和實用新型專利20多個。
目 錄
第1部分 Java實用教程
第1章 Java語言及編程環(huán)境 1
1.1 Java語言簡介 1
1.1.1 Java語言特點 1
1.1.2 Java運行機制 2
1.1.3 從Java 5到Java 11 3
1.2 Java編程環(huán)境 4
1.2.1 JDK 11 4
1.2.2 Eclipse集成開發(fā)環(huán)境 6
第2章 Java語法基礎 19
2.1 常量和變量 19
2.1.1 數(shù)據類型 19
2.1.2 標識符和關鍵字 19
2.1.3 常量 20
2.1.4 變量 22
2.1.5 類型轉換 23
2.2 運算符和表達式 25
2.2.1 運算符 25
2.2.2 表達式 30
2.3 流程控制 30
2.3.1 分支語句 30
2.3.2 循環(huán)語句 33
2.3.3 流程跳轉語句 36
2.4 數(shù)組 37
2.4.1 一維數(shù)組 37
2.4.2 多維數(shù)組 39
2.4.3 數(shù)組的訪問 42
2.5 綜合實例 44
第3章 Java類與對象 47
3.1 Java語言的類 47
3.1.1 面向對象程序設計概念 47
3.1.2 類的定義 48
3.1.3 變量初始化 49
3.1.4 類的方法 51
3.2 創(chuàng)建對象 55
3.2.1 構造方法 55
3.2.2 默認構造方法 57
3.2.3 構造方法重載 58
3.3 this引用 59
3.4 靜態(tài)成員 61
3.4.1 靜態(tài)變量 61
3.4.2 靜態(tài)方法 62
3.4.3 main()方法 63
3.4.4 靜態(tài)代碼塊 65
3.5 內部類 65
3.5.1 實例內部類 66
3.5.2 匿名內部類 68
3.5.3 static內部類 69
3.5.4 局部內部類 70
3.6 類的打包或封裝 70
3.6.1 包(package)機制 70
3.6.2 創(chuàng)建JAR文件 74
第4章 Java面向對象編程 76
4.1 繼承 76
4.1.1 繼承的定義 76
4.1.2 初始化基類 77
4.1.3 方法的重寫 78
4.1.4 super關鍵字 80
4.2 多態(tài) 81
4.2.1 對象的類型轉換 81
4.2.2 多態(tài)的實現(xiàn) 84
4.3 抽象類和接口 86
4.3.1 抽象方法與抽象類 86
4.3.2 接口概念及特性 87
4.4 終止繼承 89
4.4.1 final類 90
4.4.2 final方法 90
4.4.3 final變量 91
4.5 修飾符的適用范圍 93
4.5.1 修飾符及訪問權限 93
4.5.2 類內部 93
4.5.3 同一個包的類 94
4.5.4 不同包的子類 95
4.5.5 任意類 96
4.5.6 繼承規(guī)則 97
4.6 Java編程規(guī)范 97
4.6.1 代碼書寫規(guī)范 97
4.6.2 文檔的使用 98
4.7 綜合實例:航班管理 99
4.7.1 需求分析 99
4.7.2 程序設計 100
4.7.3 文檔編制 109
第5章 Java常用類 111
5.1 Object類 111
5.1.1 equals()方法 111
5.1.2 hashCode()方法 112
5.1.3 toString()方法 113
5.2 字符串類 114
5.2.1 String類 114
5.2.2 StringBuffer類 118
5.3 包裝類 119
5.4 Math類 121
5.5 Random類 122
5.6 日期時間類 123
5.6.1 新日期時間包 123
5.6.2 日歷應用 124
5.7 正則表達式 125
5.7.1 基礎知識 125
5.7.2 正則表達式的應用 128
5.8 數(shù)組實用類 131
5.8.1 復制數(shù)組 131
5.8.2 數(shù)組排序 132
5.8.3 數(shù)組元素的查找 133
第6章 Java語言新特性 135
6.1 枚舉 135
6.1.1 定義枚舉類型 135
6.1.2 enum構造方法 136
6.1.3 使用EnumMap 137
6.2 注解 138
6.2.1 內置注解 138
6.2.2 自定義注解 142
6.2.3 元注解 142
6.3 lambda表達式 145
6.3.1 lambda表達式簡介 145
6.3.2 函數(shù)式接口 146
6.3.3 lambda表達式與匿名
內部類 147
6.3.4 方法引用 149
第7章 容器和泛型 150
7.1 Collection與Iterator接口 150
7.2 Collections實用類 152
7.3 Set(集合) 153
7.3.1 HashSet類 153
7.3.2 TreeSet類 155
7.4 List(列表) 158
7.4.1 ArrayList類 158
7.4.2 LinkedList類 161
7.4.3 棧的實現(xiàn) 162
7.5 Queue(隊列) 163
7.5.1 LinkedList類實現(xiàn) 163
7.5.2 PriorityQueue類 163
7.5.3 雙向隊列 165
7.6 Map(映射) 166
7.6.1 HashMap 166
7.6.2 TreeMap 167
7.7 泛型 169
7.7.1 泛型的基本概念 169
7.7.2 泛型方法 171
7.7.3 受限泛型 173
7.7.4 通配符與受限通配符 174
7.7.5 子類泛型 175
7.7.6 泛型數(shù)組 177
7.8 Java增強容器特性 178
7.9 綜合實例 180
第8章 異常處理 183
8.1 異常概述 183
8.2 異常處理機制 184
8.2.1 異常的捕獲與處理 184
8.2.2 聲明拋出異常子句 186
8.2.3 拋出異常 186
8.3 自定義異常類 187
第9章 Java輸入/輸出系統(tǒng) 190
9.1 字節(jié)流 190
9.1.1 字節(jié)數(shù)組輸入流 191
9.1.2 字節(jié)數(shù)組輸出流 192
9.1.3 文件輸入流 192
9.1.4 文件輸出流 193
9.1.5 管道流 194
9.2 過濾流 195
9.2.1 緩沖流類 196
9.2.2 數(shù)據流類 197
9.2.3 PrintStream類 199
9.3 字符流 200
9.3.1 轉換流類 201
9.3.2 FileReader和FileWriter類 202
9.3.3 BufferedReader和
BufferedWriter類 203
9.3.4 PrintWriter類 204
9.4 標準I/O 205
9.4.1 重新包裝標準I/O 206
9.4.2 標準I/O流重定向 206
9.5 隨機訪問文件類 207
9.6 對象序列化 210
9.7 File類 211
9.8 綜合實例 213
第10章 多線程 215
10.1 線程的創(chuàng)建與啟動 215
10.1.1 繼承java.lang.Thread類 215
10.1.2 實現(xiàn)Runnable接口 217
10.2 線程的狀態(tài)轉換 218
10.3 線程調度 219
10.3.1 調整線程優(yōu)先級 219
10.3.2 線程讓步 220
10.3.3 合并線程 221
10.4 后臺線程 222
10.5 線程互斥 223
10.5.1 臨界區(qū) 223
10.5.2 對象鎖機制 225
10.5.3 顯式Lock對象 228
10.6 線程同步 230
10.7 綜合實例 233
第11章 AWT圖形用戶界面編程 238
11.1 AWT容器 238
11.1.1 Window和Frame 239
11.1.2 Panel 239
11.2 布局管理器 241
11.3 事件處理機制 243
11.3.1 AWT事件與監(jiān)聽器 243
11.3.2 窗口事件 244
11.3.3 鼠標事件 246
11.3.4 鍵盤事件 247
11.3.5 內部類實現(xiàn)監(jiān)聽器接口 249
11.3.6 類自身實現(xiàn)監(jiān)聽器接口 250
11.3.7 外部類實現(xiàn)監(jiān)聽器接口 251
11.3.8 采用事件適配器 253
11.4 在AWT中繪圖 255
11.4.1 Graphics類 255
11.4.2 AWT繪圖實現(xiàn)原理 257
11.5 綜合實例 259
第12章 Swing組件及應用 264
12.1 窗口(JFrame) 264
12.2 Swing基本組件 265
12.2.1 按鈕(JButton) 265
12.2.2 文本框(JTextField) 267
12.2.3 復選框(JCheckBox)和
單選按鈕(JRadioButton) 269
12.2.4 列表框(JList) 272
12.3 Swing菜單程序設計 274
12.3.1 菜單條(JMenuBar) 274
12.3.2 彈出式菜單
(JPopupMenu) 277
12.3.3 頁簽面板(JTabbedPane) 279
12.3.4 工具欄(JToolBar) 281
12.4 Swing數(shù)據管理組件 283
12.4.1 表格(JTable) 284
12.4.2 樹狀視圖(JTree) 286
12.5 Swing標準對話框 287
12.5.1 對話框(JDialog) 287
12.5.2 消息框(JOptionPane) 289
12.5.3 文件對話框
(JFileChooser) 291
12.6 綜合實例 293
第13章 Java基礎開發(fā)綜合實習 297
13.1 設計思路 297
13.2 漢諾塔上盤子模擬 297
13.3 對象定位及盤子的存放 298
13.4 創(chuàng)建漢諾塔及實現(xiàn)手工搬運盤子 299
13.5 自動搬運盤子 305
第14章 Java網絡編程 312
14.1 網絡程序設計基礎 312
14.1.1 TCP與UDP 312
14.1.2 端口和套接字 312
14.2 TCP網絡編程 313
14.2.1 TCP通信模型 313
14.2.2 Socket編程相關類 313
14.2.3 TCP通信程序 316
14.3 UDP網絡編程 319
14.3.1 UDP相關類 319
14.3.2 UDP通信程序 321
14.3.3 組播 324
14.4 URL網絡編程 327
14.4.1 URL類 327
14.4.2 URLConnetction類 329
14.5 綜合實例 331
第15章 Java數(shù)據庫編程 336
15.1 SQL語言簡介 336
15.2 JDBC原理 337
15.3 訪問數(shù)據庫 339
15.3.1 加載并注冊數(shù)據庫驅動 339
15.3.2 建立到數(shù)據庫的連接 340
15.3.3 執(zhí)行數(shù)據庫操作 341
15.4 JDBC操作MySQL 342
15.4.1 獲取和加載驅動 342
15.4.2 創(chuàng)建數(shù)據庫和表 345
15.4.3 操作數(shù)據庫 347
15.4.4 事務處理 349
15.4.5 存儲過程 351
15.5 JDBC操作其他數(shù)據庫 353
15.5.1 JDBC操作SQL Server 354
15.5.2 JDBC操作Oracle 355
15.6 綜合實例 356
第2部分 實 驗
實驗1 Java語言及編程環(huán)境 362
實驗2 Java語法基礎 363
實驗3 Java類與對象 365
實驗4 Java面向對象編程 368
實驗5 Java常用類 371
實驗6 Java語言新特性 373
實驗7 容器和泛型 374
實驗8 Java異常處理 377
實驗9 Java輸入/輸出系統(tǒng) 378
實驗10 多線程 379
實驗11 AWT圖形用戶界面編程 380
實驗12 Swing組件及應用 383
實驗13 Java網絡編程 386
實驗14 Java數(shù)據庫編程 392
第3部分 習 題 集
第1章 Java語言及編程環(huán)境 399
第2章 Java語法基礎 399
第3章 Java類與對象 402
第4章 Java面向對象編程 402
第5章 Java常用類 403
第6章 Java語言新特性 403
第7章 容器和泛型 403
第8章 異常處理 404
第9章 Java輸入/輸出系統(tǒng) 404
第10章 多線程 404
第11章 AWT圖形用戶界面編程 405
第12章 Swing組件及應用 405
第14章 Java網絡編程 405
第15章 Java數(shù)據庫編程 406