本書(shū)是“十二五”普通高等教育本科國家級規劃教材。本書(shū)全面介紹Java語(yǔ)言程序設計的基礎知識、運行機制、多種編程方法和技術(shù),力求建立牢固扎實(shí)的理論基礎,系統、有序地進(jìn)行程序設計和面向對象方法的基礎訓練;為操作系統、數據庫應用、網(wǎng)絡(luò )通信、Web應用等軟件領(lǐng)域的實(shí)際應用問(wèn)題,提供基于Java技術(shù)的解決方案。本書(shū)主要內容包括:Java開(kāi)發(fā)運行環(huán)境JDK和MyEclipse,Java語(yǔ)言基礎,類(lèi)的封裝、繼承和多態(tài),接口、內部類(lèi)和Java API,異常處理,圖形用戶(hù)界面,多線(xiàn)程,輸入/輸出流和文件操作,網(wǎng)絡(luò )通信,數據庫應用,Web應用和綜合應用設計。這些內容是構成Java應用程序的基本要素和必備知識。本書(shū)可作為普通高等學(xué)校計算機及相關(guān)專(zhuān)業(yè)本科的Java語(yǔ)言程序設計課程教材,或使用Java語(yǔ)言從事軟件開(kāi)發(fā)人員的參考書(shū)。
葉核亞,女,南京工程學(xué)院計算機工程學(xué)院教師,畢業(yè)于南京大學(xué)。多年來(lái)一直教授"Java程序設計”、"數據結構”等課程,編寫(xiě)的教材榮獲普通高等教育"十一五”國家級規劃教材、”十二五"普通高等教育本科國家級規劃教材等。
目 錄
第1章 Java概述 1
1.1 了解Java 1
1.1.1 Java的誕生和發(fā)展 1
1.1.2 Java的特點(diǎn) 2
1.1.3 Java核心技術(shù) 5
1.2 JDK 7
1.2.1 JDK的安裝和設置 8
1.2.2 Application應用程序的編輯、編譯和運行 10
1.2.3 包 10
1.3 MyEclipse 15
1.3.1 MyEclipse集成開(kāi)發(fā)環(huán)境 15
1.3.2 Application應用程序的編輯、編譯和運行 16
1.3.3 設置MyEclipse環(huán)境屬性 18
1.3.4 設置項目屬性 20
1.3.5 程序調試技術(shù) 21
習題1 23
實(shí)驗1 Application應用程序的編輯、編譯和運行 24
第2章 Java語(yǔ)言基礎 25
2.1 語(yǔ)言成分 25
2.1.1 標識符與關(guān)鍵字 25
2.1.2 基本數據類(lèi)型 26
2.1.3 變量與常量 28
2.1.4 運算符與表達式 29
2.2 流程控制語(yǔ)句 35
2.2.1 順序結構語(yǔ)句 36
2.2.2 選擇語(yǔ)句 36
2.2.3 循環(huán)語(yǔ)句 38
2.2.4 轉移語(yǔ)句 43
2.3 數組 44
2.3.1 一維數組 44
2.3.2 二維數組 47
2.4 靜態(tài)方法 50
2.4.1 方法聲明與調用 50
2.4.2 方法重載 51
2.4.3 參數傳遞 51
2.4.4 遞歸方法 56
2.5 字符串 57
習題2 62
實(shí)驗2 Java程序設計基礎 63
第3章 類(lèi)的封裝、繼承和多態(tài) 66
3.1 類(lèi)和對象 66
3.1.1 類(lèi) 66
3.1.2 對象 68
3.2 類(lèi)的封裝性 70
3.2.1 構造與析構 70
3.2.2 對象的引用和運算 72
3.2.3 訪(fǎng)問(wèn)控制 73
3.2.4 靜態(tài)成員 75
3.2.5 淺拷貝與深拷貝 80
3.3 類(lèi)的繼承性 83
3.3.1 由繼承派生類(lèi) 83
3.3.2 繼承原則及作用 84
3.3.3 子類(lèi)的構造方法 86
3.4 類(lèi)的多態(tài)性 87
3.4.1 子類(lèi)聲明多態(tài)成員 87
3.4.2 類(lèi)型的多態(tài) 91
3.4.3 何時(shí)確定執行哪個(gè)多態(tài)方法?怎樣執行 91
3.4.4 多態(tài)的方法實(shí)現 93
3.5 類(lèi)的抽象性 97
3.5.1 用繼承刻畫(huà)包含關(guān)系 97
3.5.2 抽象類(lèi) 98
3.5.3 最終類(lèi) 103
習題3 103
實(shí)驗3 類(lèi)的封裝、繼承和多態(tài) 105
第4章 接口、內部類(lèi)和Java API基礎 107
4.1 接口與實(shí)現接口的類(lèi) 107
4.2 內部類(lèi)和內部接口 113
4.3 Java API基礎 116
4.3.1 java.lang包中的基礎類(lèi)庫 116
4.3.2 java.util包中的工具類(lèi)庫 121
4.4 泛型** 126
習題4 129
實(shí)驗4 接口與實(shí)現接口的類(lèi) 130
第5章 異常處理 132
5.1 異常處理基礎 132
5.1.1 異常處理機制的必要性 132
5.1.2 錯誤 133
5.1.3 異常 134
5.2 異常處理措施 136
5.2.1 異常處理語(yǔ)句 137
5.2.2 拋出異常 139
5.2.3 定義異常類(lèi) 140
習題5 141
實(shí)驗5 異常的拋出、捕獲并處理 142
第6章 圖形用戶(hù)界面設計 143
6.1 AWT組件及屬性類(lèi) 143
6.1.1 AWT組件 143
6.1.2 布局管理 147
6.1.3 顏色和字體 149
6.2 事件處理 149
6.2.1 委托事件模型 149
6.2.2 AWT事件類(lèi)和事件監聽(tīng)器接口 154
6.3 Swing組件及事件 156
6.3.1 Swing組件和布局 156
6.3.2 文本顯示和編輯組件及事件 158
6.3.3 按鈕組件 163
6.3.4 列表框和組合框組件及事件 164
6.3.5 中間容器 166
6.3.6 定制對話(huà)框 167
6.3.7 菜單組件 175
6.3.8 表格組件 183
6.4 圖形設計 187
習題6 193
實(shí)驗6 圖形用戶(hù)界面設計 195
第7章 多線(xiàn)程編程 203
7.1 進(jìn)程和線(xiàn)程 203
7.1.1 進(jìn)程 203
7.1.2 線(xiàn)程 205
7.2 Java的線(xiàn)程對象 206
7.2.1 Runnable接口和Thread類(lèi) 207
7.2.2 線(xiàn)程對象的優(yōu)先級 210
7.2.3 線(xiàn)程對象的生命周期 211
7.2.4 使用線(xiàn)程實(shí)現動(dòng)畫(huà)設計 212
7.3 線(xiàn)程互斥和線(xiàn)程同步 217
7.3.1 交互線(xiàn)程,與時(shí)序有關(guān)的錯誤 217
7.3.2 交互線(xiàn)程的競爭與互斥 219
7.3.3 交互線(xiàn)程的協(xié)作與同步 223
習題7 234
實(shí)驗7 線(xiàn)程設計 235
第8章 流和文件操作 238
8.1 文件和目錄 238
8.1.1 文件 238
8.1.2 目錄 240
8.1.3 文件系統 241
8.2 字節流 242
8.2.1 流的概念 242
8.2.2 抽象字節流 243
8.2.3 文件字節流 244
8.2.4 數據字節流 247
8.2.5 對象字節流 252
8.2.6 管道字節流 255
8.3 字符流 259
8.3.1 字符流類(lèi) 259
8.3.2 Java標準輸入、輸出 262
8.4 文件操作 263
8.4.1 文件類(lèi)及其過(guò)濾器 263
8.4.2 文件選擇對話(huà)框組件 267
習題8 276
實(shí)驗8 流和文件操作 277
第9章 Socket通信 278
9.1 網(wǎng)絡(luò )編程基礎 278
9.2 TCP Socket通信 281
9.3 UDP Socket通信 295
9.3.1 UDP Socket點(diǎn)對點(diǎn)通信 295
9.3.2 UDP組播通信 299
習題9 304
實(shí)驗9 Socket通信 305
第10章 數據庫應用 306
10.1 關(guān)系數據庫系統 306
10.1.1 關(guān)系模型 306
10.1.2 客戶(hù)-服務(wù)器結構的關(guān)系數據庫系統 308
10.1.3 結構化查詢(xún)語(yǔ)言SQL 309
10.2 MySQL數據庫 313
10.2.1 安裝數據庫,啟動(dòng)數據庫服務(wù) 313
10.2.2 MySQL數據庫工作臺 314
10.3 JDBC 316
10.3.1 JDBC的作用和功能 316
10.3.2 指定JDBC驅動(dòng)程序 317
10.3.3 連接數據庫 318
10.3.4 執行SQL語(yǔ)句 319
10.3.5 處理數據查詢(xún)結果集 320
習題10 327
實(shí)驗10 數據庫應用 327
第11章 基于JSP的Web應用 329
11.1 Web瀏覽基礎 329
11.2 JSP技術(shù) 332
11.2.1 JSP原理 332
11.2.2 運行JSP 333
11.2.3 JSP語(yǔ)法 338
11.2.4 基于JSP提供數據庫應用服務(wù)的Web應用 345
習題11 347
實(shí)驗11 基于JSP的Web應用設計 347
第12章 綜合應用設計 349
12.1 集合框架 349
12.1.1 集合 350
12.1.2 映射 354
12.2 反射 355
12.3 使用復雜Swing組件 356
12.3.1 BoxLayout盒式布局和Box容器 357
12.3.2 列表框 357
12.3.3 表格 362
12.3.4 多文檔界面 362
12.3.5 樹(shù) 367
12.4 數據庫應用 383
12.5 課程設計的要求和選題 398
附錄A ASCII字符與Unicode值 410
附錄B Java語(yǔ)言的關(guān)鍵字 411
附錄C Java基本數據類(lèi)型 412
附錄D Java語(yǔ)言的運算符及其優(yōu)先級 413
附錄E java.lang包API(部分) 414
附錄F MyEclipse常用菜單命令 419
參考文獻 420