本書系統(tǒng)地介紹了Java桌面編程的基礎(chǔ)知識,共分10章。其中,前9章的內(nèi)容包括Java概述及開發(fā)環(huán)境,Java語言基礎(chǔ),面向?qū)ο蟮某绦蛟O(shè)計,多線程,集合框架與泛型,Java UI設(shè)計,Java I/O操作與文件讀寫,網(wǎng)絡(luò)編程和JDBC編程;第10章是綜合項目實訓(xùn)。本書充分考慮后續(xù)課程的需要,精心安排內(nèi)容結(jié)構(gòu),力求從簡單到復(fù)雜,循序漸進,突出邏輯性和實用性。重要的知識點都配有示例,配套的課程網(wǎng)站包括了相關(guān)軟件下載、上機實驗指導(dǎo)(含項目案例)、課件下載和課程檔案文件下載等。本書可以作為高等院校計算機專業(yè)和相關(guān)專業(yè)學生學習Java程序設(shè)計等課程的教材,也可以作為Web開發(fā)者的參考書。
張曉龍,教授,武漢科技大學計算機學院任教,主要研究領(lǐng)域:人工智能、機器學習、數(shù)據(jù)挖掘、大數(shù)據(jù)處理、生物信息處理等。
第1章 Java概述及開發(fā)環(huán)境 (1)
1.1 Java語言發(fā)展簡史及應(yīng)用 (1)
1.1.1 Java語言發(fā)展簡史 (1)
1.1.2 Java語言應(yīng)用的三個方向 (1)
1.2 Java語言的特點 (2)
1.2.1 面向?qū)ο筇匦、解釋性與簡單性 (2)
1.2.2 平臺無關(guān)性(可移植性) (3)
1.2.3 健壯性與安全性 (3)
1.2.4 多線程特性 (3)
1.2.5 網(wǎng)絡(luò)支持 (3)
1.3 Java運行環(huán)境及開發(fā)環(huán)境 (4)
1.3.1 安裝JDK并建立環(huán)境變量 (4)
1.3.2 JDK工具箱與Java虛擬機 (5)
1.3.3 Java集成開發(fā)環(huán)境eclipse-jee (5)
1.3.4 統(tǒng)一eclipse項目編碼 (6)
1.3.5 eclipse若干快捷操作 (6)
1.4 Java面向?qū)ο蟪醪?(7)
1.4.1 類與對象、封裝特性 (7)
1.4.2 Java程序結(jié)構(gòu) (8)
1.4.3 Java類庫及API簡介 (9)
1.4.4 導(dǎo)入Java包指令import (10)
1.5 在eclipse中創(chuàng)建與運行Java項目 (10)
1.5.1 一個簡單Java項目的創(chuàng)建與運行 (10)
1.5.2 Java項目的導(dǎo)入 (11)
1.5.3 Java項目導(dǎo)出及打包應(yīng)用程序 (12)
1.5.4 Maven項目的創(chuàng)建與使用 (13)
1.6 Java程序調(diào)試 (16)
1.6.1 單元測試JUnit 4 (16)
1.6.2 動態(tài)調(diào)試模式Debug (18)
習題1 (19)
實驗1 (20)
第2章 Java語言基礎(chǔ) (22)
2.1 標識符、關(guān)鍵字與保留字 (22)
2.1.1 標識符 (22)
2.1.2 關(guān)鍵字與保留字 (22)
2.2 數(shù)據(jù)類型 (23)
2.2.1 8種基本數(shù)據(jù)類型 (23)
2.2.2 引用數(shù)據(jù)類型 (24)
2.2.3 包裝類 (26)
2.2.4 強制轉(zhuǎn)換類型 (26)
2.3 運算符與表達式 (27)
2.4 流程控制語句 (28)
2.4.1 條件語句if (28)
2.4.2 開關(guān)語句switch (28)
2.4.3 循環(huán)語句for/while/do…while (29)
2.4.4 中斷語句continue /break/return (29)
2.5 數(shù)組及其遍歷 (30)
2.5.1 一維數(shù)組的創(chuàng)建及其遍歷 (30)
2.5.2 二維數(shù)組的創(chuàng)建及其遍歷 (30)
2.6 與日期、時間、數(shù)學相關(guān)的類 (31)
2.6.1 Date類 (31)
2.6.2 DateFormat類和SimpleDateFormat類 (31)
2.6.3 Calendar類和GregorianCalendar類 (31)
2.6.4 Math類 (32)
2.7 異常處理與異常類 (33)
2.7.1 Java內(nèi)置異常 (34)
2.7.2 Java異常處理 (36)
2.7.3 使用throws拋出異常 (38)
習題2 (39)
實驗2 (41)
第3章 Java面向?qū)ο蟮某绦蛟O(shè)計 (43)
3.1 面向?qū)ο蠡A(chǔ) (43)
3.1.1 包與類的聲明 (43)
3.1.2 類的構(gòu)造方法與析構(gòu)方法 (44)
3.1.3 使用this關(guān)鍵字 (45)
3.1.4 訪問權(quán)限控制 (46)
3.1.5 方法重載 (46)
3.2 繼承 (47)
3.2.1 子類繼承父類 (47)
3.2.2 方法重寫 (48)
3.2.3 關(guān)鍵字super (48)
3.3 抽象、接口與多態(tài) (49)
3.3.1 使用關(guān)鍵字abstract定義抽象方法(類) (49)
3.3.2 使用關(guān)鍵字interface定義接口 (50)
3.3.3 使用類繼承實現(xiàn)多態(tài)、動態(tài)綁定 (51)
3.3.4 使用接口實現(xiàn)多態(tài) (53)
3.4 類的高級特征 (54)
3.4.1 使用關(guān)鍵字static定義靜態(tài)成員和靜態(tài)代碼塊 (54)
3.4.2 使用關(guān)鍵字final定義終結(jié)類(方法或變量) (55)
3.4.3 內(nèi)部類(接口) (56)
3.4.4 創(chuàng)建接口(抽象類)的匿名實現(xiàn)類對象 (57)
3.4.5 在類方法里使用可變參數(shù) (58)
3.4.6 Class類與Java反射機制 (58)
3.4.7 動態(tài)代理類Proxy與遠程過程調(diào)用(PRC) (61)
習題3 (64)
實驗3 (66)
第4章 Java進程與多線程 (68)
4.1 Java進程 (68)
4.2 Java多線程 (69)
4.2.1 線程與多線程概念 (69)
4.2.2 在某個進程中創(chuàng)建多個線程 (69)
4.3 線程同步 (73)
4.4 線程間的協(xié)作 (75)
4.5 死鎖 (78)
4.6 異步任務(wù)處理 (80)
習題4 (82)
實驗4 (83)
第5章 Java集合框架與泛型 (85)
5.1 Java集合框架概述與泛型 (85)
5.1.1 Java集合框架的主要接口 (85)
5.1.2 迭代接口Iterable與迭代器Iterator (86)
5.1.3 Java泛型 (87)
5.2 Collection集合及其遍歷 (89)
5.2.1 List接口及其常用實現(xiàn)類 (90)
5.2.2 Set集合接口及實現(xiàn)類 (93)
5.2.3 隊列接口Queue及實現(xiàn)類 (95)
5.3 Map集合及其遍歷 (97)
5.3.1 Map接口 (97)
5.3.2 Map實現(xiàn)類HashMap及其他實現(xiàn)類 (98)
5.3.3 使用Map.Entry遍歷Map集合 (102)
習題5 (104)
實驗5 (105)
第6章 Java UI設(shè)計及圖形功能 (107)
6.1 抽象窗口工具集AWT (107)
6.1.1 Java AWT概述 (107)
6.1.2 AWT常用組件 (109)
6.1.3 布局管理器及常用布局 (110)
6.1.4 Java圖形功能 (112)
6.1.5 Java事件處理模型 (115)
6.1.6 Java小程序Applet (120)
6.2 Swing UI (122)
6.2.1 Swing概述 (122)
6.2.2 JFrame框架 (123)
6.2.3 Swing容器組件JPanel (123)
6.2.4 Swing常用組件 (124)
6.3 安裝WindowBuilder實現(xiàn)UI可視化 (135)
習題6 (138)
實驗6 (139)
第7章 Java I/O操作與文件讀寫 (142)
7.1 Java I/O流及分類 (142)
7.2 控制臺I/O (143)
7.2.1 PrintStream對象System.out和System.err (143)
7.2.2 InputStream對象System.in (143)
7.3 文件類File及Java文件讀寫 (144)
7.3.1 類File的常用方法 (144)
7.3.2 Java文件讀寫 (146)
7.4 字節(jié)流 (148)
7.4.1 字節(jié)流抽象類InputStream與OutputStream (148)
7.4.2 文件字節(jié)流FileInputStream和FileOutputStream (150)
7.4.3 數(shù)據(jù)流DataInputStream和DataOutputStream (150)
7.4.4 字節(jié)緩沖流BufferedInputStream和BufferedOutputStream (152)
7.5 字符流 (154)
7.5.1 字符流抽象類Reader和Writer (154)
7.5.2 字符流類InputStreamReader和OutputStreamWriter (155)
7.5.3 文件字符流類FileReader和FileWriter (156)
7.5.4 字符緩沖流BufferedReader和BufferedWriter (157)
7.6 對象序列化與反序列化 (159)
習題7 (161)
實驗7 (162)
第8章 Java網(wǎng)絡(luò)編程 (164)
8.1 TCP/IP、HTTP協(xié)議與Socket (164)
8.1.1 TCP/IP連接 (164)
8.1.2 HTTP連接 (165)
8.1.3 Socket及其工作原理 (165)
8.2 Socket網(wǎng)絡(luò)編程 (167)
8.2.1 基于TCP和UDP的Socket編程 (167)
8.2.2 使用多線程支持多客戶端 (170)
8.3 基于URL的網(wǎng)絡(luò)編程 (176)
8.3.1 從C/S到B/S (176)
8.3.2 基于URL和URLConnection的網(wǎng)絡(luò)編程 (177)
8.4 Java WebService (182)
習題8 (187)
實驗8 (188)
第9章 JDBC編程 (190)
9.1 MySQL數(shù)據(jù)庫 (190)
9.1.1 關(guān)系型數(shù)據(jù)庫與SQL語言 (190)
9.1.2 MySQL服務(wù)器軟件安裝與基本使用 (192)
9.1.3 MySQL前端工具SQLyog (193)
9.2 使用JDBC訪問MySQL數(shù)據(jù)庫 (195)
9.2.1 JDBC概述 (195)
9.2.2 連接MySQL數(shù)據(jù)庫 (196)
9.2.3 創(chuàng)建執(zhí)行數(shù)據(jù)庫操作的命令對象 (196)
9.2.4 增、刪、改操作 (197)
9.2.5 查詢操作 (197)
9.2.6 使用預(yù)處理封裝MySQL通用類 (199)
9.3 JDBC高級編程 (204)
9.3.1 可滾動結(jié)果集和可更新結(jié)果集 (204)
9.3.2 使用數(shù)據(jù)庫事務(wù)機制 (206)
9.3.3 數(shù)據(jù)庫應(yīng)用程序代碼分層架構(gòu) (208)
習題9 (213)
實驗9 (214)
第10章 綜合項目實訓(xùn) (216)
10.1 打坦克游戲 (216)
10.1.1 游戲規(guī)則及界面設(shè)計 (216)
10.1.2 項目文件系統(tǒng) (216)
10.1.3 項目實現(xiàn)主要代碼 (217)
10.2 簡易人事管理信息系統(tǒng) (226)
10.2.1 系統(tǒng)目標 (226)
10.2.2 系統(tǒng)功能 (226)
10.2.3 數(shù)據(jù)庫設(shè)計 (226)
10.2.4 界面設(shè)計 (227)
10.2.5 主要模塊設(shè)計 (229)
習題10 (238)
實驗10 (240)
習題答案 (242)
參考文獻 (246)