定 價:49 元
叢書名:高等學(xué)校計算機專業(yè)規(guī)劃教材
- 作者:吳倩編著
- 出版時間:2016/8/1
- ISBN:9787111545095
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP312JA
- 頁碼: 351頁
- 紙張:膠版紙
- 版次:2
- 開本:16K
本書以面向?qū)ο蟮脑O(shè)計思想為主線,首先從Java語言的特性介紹入手,詳細講解Java的基礎(chǔ)語法知識;然后循序漸進地解釋面向?qū)ο笕筇卣骱徒涌诘戎匾R點,并剖析其應(yīng)用及程序設(shè)計方法;最后進一步深入講解Java在輸入/輸出、Java集合框架、JDBC連接數(shù)據(jù)庫、圖形用戶界面、多線程等方面的編程方法。此外,本書內(nèi)容還涉及一些Java高級主題,包括高級并發(fā)、Socket網(wǎng)絡(luò)編程、Java NIO以及Android圖形用戶界面開發(fā)等基本理論及實用開發(fā)技術(shù)。本書全面整合了JDK 5~JDK 8的主要特性,力求與當(dāng)今Java技術(shù)的工程應(yīng)用保持同步。在例題與習(xí)題的選用與設(shè)計上深入淺出,強調(diào)連貫性與實用性,以期通過實踐鍛煉讀者的面向?qū)ο蟪绦蛟O(shè)計能力。
第2版說明本書第1版于2012年9月出版,第2版在第1版的基礎(chǔ)上,結(jié)合當(dāng)今Java發(fā)展的最新技術(shù),廣泛聽取了讀者和同行的建議,并根據(jù)作者在授課和開發(fā)過程中的實踐經(jīng)驗重新整編。
本書在保持第1版Java基礎(chǔ)知識體系的同時,進一步從實踐的角度闡述Java面向?qū)ο蟮木幊趟枷爰熬幊碳记,與當(dāng)前業(yè)內(nèi)Java技術(shù)的最新發(fā)展相結(jié)合,細化、深化某些技術(shù)要點,強調(diào)Java應(yīng)用程序的設(shè)計思想及技巧,體現(xiàn)Java的知識性、系統(tǒng)性及先進性。主要更新知識點如下:
1.緊密結(jié)合Java的最新發(fā)展,在JDK 5、JDK 6、JDK 7的基礎(chǔ)上,繼續(xù)增添JDK 8的語法新特性。
2.刪除第1版的Java applet部分,因為該技術(shù)如今已經(jīng)很少使用。
3.增加Java網(wǎng)絡(luò)應(yīng)用知識,增添Java Socket網(wǎng)絡(luò)編程和Java非阻塞IO(NIO),并以實例展示Socket 、NIO結(jié)合多線程在網(wǎng)絡(luò)及分布式系統(tǒng)中的綜合應(yīng)用。
4.深化多線程編程,同時進一步細化并深入分析多線程高級并發(fā)部分,補充了線程池、阻塞隊列等內(nèi)容。
5.增加Android圖形用戶界面開發(fā)簡介。結(jié)合當(dāng)今Java在GUI方面的應(yīng)用重點已經(jīng)轉(zhuǎn)移到Android 平臺的特點,介紹Android系統(tǒng)架構(gòu)及組件,并以實例的形式講解Android GUI基礎(chǔ)控件的開發(fā)。
6.其他增添及更新的細節(jié)包括:Java基礎(chǔ)部分的注釋(Annotation)、反射機制,Java集合框架的Collections類、比較器、泛型,JDBC連接數(shù)據(jù)庫的調(diào)用存儲過程,等等。
本書背景作為當(dāng)今最流行而且不斷發(fā)展的面向?qū)ο蟪绦蛟O(shè)計語言,Java語言隨著網(wǎng)絡(luò)的發(fā)展而被廣泛普及、應(yīng)用,Java語言已經(jīng)和我們的日常生活息息相關(guān)。信息化的發(fā)展帶動了Java在金融、通信、制造、電子政務(wù)、移動設(shè)備及消費類電子產(chǎn)品等領(lǐng)域日益廣泛的應(yīng)用,尤其是近年來Android移動平臺的推廣,又為Java語言注入了新的活力,使之成為IT行業(yè)一顆璀璨的明星。
近年來,市場對Java開發(fā)人才的需求旺盛,激發(fā)了廣大開發(fā)人員學(xué)習(xí)Java語言的興趣。但是,對于很多Java初學(xué)者來說,如何選擇適合自己的教材,從而快速提高Java編程水平,是很重要的事情。
本書作者具有豐富的教學(xué)經(jīng)驗及工業(yè)界軟件開發(fā)經(jīng)歷,書的設(shè)計力求切合實際,盡量為縮小計算機專業(yè)畢業(yè)生與工業(yè)界人才需求之間的差距做出一些努力,同時引導(dǎo)讀者深入理解Java程序設(shè)計,少走彎路。本書從始至終貫穿著面向?qū)ο蟮木幊趟枷,以Java語言為實現(xiàn)方式,強調(diào)Java語言的精華在于“面向?qū)ο笏枷搿薄1緯采w的內(nèi)容全面,從Java語言的基礎(chǔ)知識一直到Java類庫的應(yīng)用、數(shù)據(jù)庫程序設(shè)計及Android平臺程序開發(fā)。使讀者能夠從通俗易懂的語言中理解程序設(shè)計理念,幫助讀者認識到任何一種面向?qū)ο蟪绦蛟O(shè)計語言的語法和風(fēng)格可能有所不同,但是其編程思想都是一致的,編程語言的學(xué)習(xí)不應(yīng)該局限于表面的語法格式,而是應(yīng)該深入了解程序設(shè)計語言的本質(zhì)規(guī)律,掌握其精髓思想,才能真正學(xué)會并運用一門程序語言。
本書特色本書的主要特色為通俗易懂、實踐性強、例題豐富,展現(xiàn)了Java最新技術(shù)。
本書著重探究應(yīng)用設(shè)計技巧及解決方案,始終以面向?qū)ο笤O(shè)計理念為主線,解析面向?qū)ο蟪绦蛟O(shè)計思想及方法,強調(diào)語法知識的學(xué)習(xí)應(yīng)以理解編程思想為前提。
本書強調(diào)Java語言的實踐性,提供大量實用性很強的編程實例,實例生動、完整、連貫性強,并配有與開發(fā)相關(guān)的重要技術(shù)要點提示。采用業(yè)內(nèi)流行的eclipse集成開發(fā)環(huán)境作為開發(fā)平臺,配合UML(統(tǒng)一建模語言)表述程序分析及設(shè)計。另外還提供了一個覆蓋所有重要知識點的綜合性開發(fā)實例(電子產(chǎn)品商店管理系統(tǒng)),該實例隨著面向?qū)ο蟪绦蛟O(shè)計理論的深入、Java語法知識點的展開,由淺入深,并逐步完善和擴展規(guī)模,最后形成一個具有圖形用戶界面、實現(xiàn)數(shù)據(jù)庫訪問操作的、規(guī)模適中的應(yīng)用管理系統(tǒng),幫助學(xué)生理解Java編程的設(shè)計與實現(xiàn)。
本書強調(diào)Java語言的更替性及應(yīng)用性,緊密結(jié)合Java語言不斷發(fā)展的特色,覆蓋內(nèi)容全面,理論闡述簡潔淺顯,具有較強的可讀性。本書也力求反映Java技術(shù)的新成果、新趨勢,將JDK 5、JDK 6、JDK 7及JDK 8的最新技術(shù)和思想方法介紹給讀者。本書還簡要介紹了目前Java語言應(yīng)用最為廣泛的Android移動平臺以及基本的Android圖形用戶界面編程方法。
本書習(xí)題側(cè)重于培養(yǎng)學(xué)生自主學(xué)習(xí)、自行探索、獨立解決問題以及團隊協(xié)作的能力。學(xué)生不僅可以練習(xí)編程,而且還能自行設(shè)計程序架構(gòu),學(xué)習(xí)查閱資料解決問題。習(xí)題具有連貫性,循序漸進,分組協(xié)作,最終逐步擴展為一個基于TCP/IP及多線程的完整C/S架構(gòu)應(yīng)用系統(tǒng)。
主要內(nèi)容全書分為三部分,共14章:第一部分,全面闡述面向?qū)ο蟪绦蛟O(shè)計思想及Java基礎(chǔ)語法,內(nèi)容包括第1章、第2章;第二部分,結(jié)合實例,以Java語言講述面向?qū)ο蟮娜筇卣骷俺绦蛟O(shè)計方法,內(nèi)容包括第3~6章;第三部分,講述Java語言類庫、輸入/輸出、多線程、圖形用戶界面、數(shù)據(jù)庫、網(wǎng)絡(luò)及Android無線移動通信平臺中的圖形用戶界面,內(nèi)容包括第7~14章。
各章內(nèi)容介紹如下:
第1章介紹面向?qū)ο蟮幕靖拍睢⒚嫦驅(qū)ο蟮娜筇卣鳎ǚ庋b、繼承和多態(tài))、類的建模及其結(jié)構(gòu)層次設(shè)計、面向?qū)ο蟪绦蛟O(shè)計原則,并對Java語言特點及開發(fā)環(huán)境eclipse進行了概要的介紹。
第2章全面介紹Java語言基礎(chǔ)知識及語法,具體包括Java語言基本元素、基本數(shù)據(jù)類型、引用數(shù)據(jù)類型、基本數(shù)據(jù)類型的封裝類、運算符、表達式及流程控制。
第3章講述類與對象。從如何設(shè)計類開始,到對象的創(chuàng)建及使用方法、static靜態(tài)成員的基本特征、方法重載、包的概念、類的訪問控制,以及基礎(chǔ)類庫。
第4章講述異常處理,包括異常的概念、異常的分類、異常的處理機制、自定義異常類。
第5章講述類的重用,包括類的繼承和類的組合兩種方式的語法實現(xiàn),并介紹了抽象類與抽象方法、類成員方法的覆蓋。
第6章講述接口與多態(tài),從接口存在的必要性入手,逐步引導(dǎo)讀者理解接口如何在程序結(jié)構(gòu)中實現(xiàn)多重繼承、多態(tài)的概念及實現(xiàn)、多態(tài)的適用環(huán)境,以及內(nèi)部類的概念及使用方法。
第7章講述Java的集合框架及其提供的幾種集合,并介紹了泛型的相關(guān)知識及其在集合中的應(yīng)用。
第8章講述輸入/輸出,包括I/O流的概念、I/O流的分類、文件讀寫以及對象的序列化。
第9章講述JDBC訪問數(shù)據(jù)庫,主要介紹JDBC技術(shù)的原理、JDBC API、通過JDBC訪問數(shù)據(jù)庫、實現(xiàn)與數(shù)據(jù)庫的連接,以及訪問數(shù)據(jù)庫的一系列操作。
第10章講述Java圖形用戶界面,具體包括Java圖形用戶界面類庫、Swing的組件、Swing組件的層次結(jié)構(gòu)、Swing GUI 程序、事件處理機制、eclipse下的可視化圖形界面編程。
第11章講述Java多線程,具體包括進程與線程的概念、多線程編程基礎(chǔ)、線程的生命周期、線程的常用方法、多線程的編程方式、死鎖等相關(guān)問題的處理。擴展講解了高級并發(fā)提供的幾種機制,包括Lock與Condition、讀寫鎖、阻塞隊列、線程池等。
第12章講述Java Socket網(wǎng)絡(luò)編程,包括基于TCP/UDP 的單線程C/S模式或者多線程C/S模式。
第13章講述Java 非阻塞IO(NIO),包括Java NIO包含的3個核心對象緩沖區(qū)、通道、選擇器及其操作方法,以及NIO Socket的通信機制。
第14章講述Android圖形用戶界面開發(fā),包括Android框架及應(yīng)用程序組件、開發(fā)環(huán)境配置、Android 圖形用戶界面的各種控件及其使用示例。
本書提供完整的示例程序來講解基本概念,所有程序都在eclipse4.5 Mars環(huán)境下編譯運行通過,本書提供電子教學(xué)課件及各章例題。
致謝在書稿的完成過程中,機械工業(yè)出版社的編輯此書的出版給予了周到的安排和支持,同時也得到了家人、朋友的大力支持,使此書得以在短時間內(nèi)出版,在此對他們表示真摯的感謝!
盡管作者具有程序設(shè)計方面的教學(xué)經(jīng)驗以及軟件項目開發(fā)經(jīng)驗,但由于時間倉促及水平有限,難免存在不妥之處,懇請廣大讀者給予批評指正。
編者2016年5月
前言
教學(xué)建議
第1章 面向?qū)ο蟪绦蛟O(shè)計思想 1
1.1 類和對象 1
1.2 面向?qū)ο蟪绦蛟O(shè)計的三大特征 3
1.2.1 封裝 4
1.2.2 繼承 4
1.2.3 多態(tài) 5
1.3 面向?qū)ο蟮某绦蛟O(shè)計 7
1.3.1 類的建模 7
1.3.2 類的層次結(jié)構(gòu)設(shè)計 8
1.3.3 面向?qū)ο蟪绦蛟O(shè)計原則 9
1.4 Java語言簡介 10
1.4.1 Java語言的特點 12
1.4.2 Java程序的開發(fā)環(huán)境 13
1.4.3 第一個Java程序 14
本章小結(jié) 19
習(xí)題 19
第2章 Java語言基礎(chǔ)知識 21
2.1 Java語言基本元素 21
2.2 Java基本數(shù)據(jù)類型 22
2.3 引用數(shù)據(jù)類型 26
2.3.1 枚舉 26
2.3.2 數(shù)組 27
2.4 基本數(shù)據(jù)類型的封裝類 34
2.5 運算符及表達式 37
2.5.1 算術(shù)運算符 37
2.5.2 關(guān)系運算符 39
2.5.3 邏輯運算符與邏輯表達式 39
2.5.4 賦值運算符 40
2.5.5 位運算符 40
2.5.6 其他運算符 41
2.5.7 表達式 42
2.6 Java控制語句 42
2.6.1 分支結(jié)構(gòu) 42
2.6.2 循環(huán)結(jié)構(gòu) 44
2.6.3 中斷結(jié)構(gòu) 46
本章小結(jié) 49
習(xí)題 49
第3章 類與對象 51
3.1 類與對象的創(chuàng)建 51
3.2 對象的初始化 54
3.3 數(shù)據(jù)成員及方法 56
3.3.1 訪問數(shù)據(jù)成員及方法 56
3.3.2 方法中參數(shù)傳遞的問題 57
3.3.3 toString()方法 58
3.4 類的使用 60
3.4.1 static數(shù)據(jù) 60
3.4.2 static方法 62
3.4.3 終態(tài)final 63
3.4.4 方法重載 63
3.4.5 this指針 64
3.4.6 對象的回收 67
3.4.7 包 68
3.4.8 類的訪問控制 71
3.5 Java基礎(chǔ)類庫 73
3.5.1 語言包java.lang 74
3.5.2 實用包java.util 81
3.6 Java注釋 83
3.6.1 Annotation的定義 84
3.6.2 基本Annotation 85
3.6.3 Annotation的用途 85
3.6.4 Java文檔生成器 86
本章小結(jié) 89
習(xí)題 89
第4章 異常處理 91
4.1 異常的概念 91
4.2 異常的分類 92
4.3 異常的處理機制 94
4.3.1 非檢查型異常處理 94
4.3.2 檢查型異常處理 96
4.4 自定義異常類 101
本章小結(jié) 104
習(xí)題 105
第5章 類的重用 106
5.1 類的重用概述 106
5.2 重用方式之一——繼承 107
5.2.1 父類與子類 107
5.2.2 繼承的語法 107
5.2.3 子類的數(shù)據(jù)成員 110
5.2.4 子類的方法 111
5.2.5 繼承關(guān)系下的構(gòu)造方法 114
5.3 抽象類與抽象方法 117
5.4 重用方式之二——類的組合 121
5.4.1 組合的語法 121
5.4.2 組合與繼承的結(jié)合 123
本章小結(jié) 126
習(xí)題 127
第6章 接口與多態(tài) 128
6.1 接口的概念及用途 128
6.2 接口的聲明及實現(xiàn) 129
6.3 接口與抽象類的比較 140
6.4 多態(tài) 144
6.4.1 向上轉(zhuǎn)型的概念及方法調(diào)用 145
6.4.2 靜態(tài)綁定和動態(tài)綁定 145
6.4.3 多態(tài)的實現(xiàn) 147
6.4.4 多態(tài)的應(yīng)用 148
6.5 內(nèi)部類 149
6.5.1 內(nèi)部類的概念 150
6.5.2 靜態(tài)內(nèi)部類 151
6.5.3 內(nèi)部類實現(xiàn)接口及抽象類 151
6.5.4 方法中的內(nèi)部類 152
6.5.5 匿名的內(nèi)部類 153
本章小結(jié) 154
習(xí)題 154
第7章 Java集合框架 156
7.1 集合框架概述 156
7.2 Collection接口 158
7.3 List接口 158
7.3.1 LinkedList 159
7.3.2 ArrayList 159
7.4 泛型 160
7.4.1 泛型的定義及實例化 160
7.4.2 泛型在集合中的應(yīng)用 162
7.5 迭代器 165
7.6 Set接口 167
7.7 Map接口 169
7.8 Collections類 172
7.9 比較器 173
7.10 Lambda表達式 175
本章小結(jié) 177
習(xí)題 177
第8章 輸入/輸出 178
8.1 I/O流的概念 178
8.2 I/O流的種類 179
8.2.1 字節(jié)流 179
8.2.2 字符流 180
8.2.3 標(biāo)準(zhǔn)輸入/輸出數(shù)據(jù)流 182
8.3 文件輸入/輸出流 185
8.3.1 字符輸出流 185
8.3.2 字符輸入流 187
8.3.3 字節(jié)輸出流 188
8.3.4 字節(jié)輸入流 190
8.3.5 File類 193
8.3.6 隨機文件的讀寫 195
8.4 對象序列化 197
本章小結(jié) 200
習(xí)題 200
第9章 JDBC 201
9.1 JDBC簡介 201
9.2 JDBC架構(gòu) 201
9.3 JDBC API 202
9.4 在eclipse環(huán)境下通過JDBC訪問數(shù)據(jù)庫 204
9.4.1 配置開發(fā)環(huán)境 204
9.4.2 調(diào)用JDBC API編寫應(yīng)用程序 205
9.5 JDBC處理存儲過程 216
9.6 SQLException 218
9.7 控制事務(wù) 218
9.8 JDBC其他相關(guān)用法 219
本章小結(jié) 220
習(xí)題 220
第10章 Java圖形用戶界面 221
10.1 Java圖形用戶界面類庫 221
10.2 Swing的組件 222
10.3 Swing組件的層次結(jié)構(gòu) 223
10.4 Swing GUI程序 224
10.4.1 頂層容器 225
10.4.2 中間層容器 226
10.4.3 布局管理器 228
10.4.4 Swing組件 231
10.5 事件處理機制 236
10.5.1 事件響應(yīng) 236
10.5.2 事件處理的實現(xiàn)方法 239
10.6 Swing Designer可視化圖形界面編程 244
本章小結(jié) 256
習(xí)題 256
第11章 多線程 257
11.1 進程與線程 257
11.2 多線程創(chuàng)建方式 258
11.2.1 Thread類 258
11.2.2 Runnable接口 260
11.3 守護線程 261
11.4 線程的生命周期 262
11.5 線程的常用方法 264
11.6 線程的優(yōu)先級 268
11.7 多線程的編程方式 268
11.7.1 不相關(guān)的線程 269
11.7.2 相關(guān)但無須同步的線程 269
11.7.3 同步線程 270
11.7.4 交互式線程 274
11.8 死鎖 278
11.9 高級并發(fā) 279
11.9.1 Lock和Condition 280
11.9.2 讀寫鎖 282
11.9.3 阻塞隊列(BlockingQueue) 284
11.9.4 線程池 287
本章小結(jié) 289
習(xí)題 290
第12章 Java Socket網(wǎng)絡(luò)編程 291
12.1 網(wǎng)絡(luò)通信協(xié)議 291
12.2 Socket基本概念 293
12.3 TCP Socket編程 294
12.3.1 TCP Socket點到點通信 294
12.3.2 TCP Socket多線程通信 299
12.4 UDP Socket編程 302
12.4.1 UDP Socket點到點通信 302
12.4.2 UDP Socket多線程通信 307
12.4.3 UDP Socket組播通信 308
本章小結(jié) 310
習(xí)題 310
第13章 Java非阻塞IO(NIO) 312
13.1 Java NIO與標(biāo)準(zhǔn)IO的區(qū)別 312
13.2 NIO的核心對象 312
13.2.1 通道 313
13.2.2 緩沖區(qū) 317
13.2.3 選擇器 319
13.3 NIO Socket通信單線程模式 321
13.4 基于反應(yīng)器的NIO Socket多線程模式 324
本章小結(jié) 325
習(xí)題 325
第14章 Android圖形用戶界面開發(fā)簡介 326
14.1 Android概述 326
14.2 Android系統(tǒng)架構(gòu) 327
14.3 Android應(yīng)用程序組件 328
14.4 Android的圖形界面元素 329
14.4.1 視圖和視圖組 329
14.4.2 布局管理 331
14.4.3 事件驅(qū)動 331
14.5 eclipse下的Android開發(fā)環(huán)境配置 332
14.6 Android圖形用戶界面開發(fā)示例 335
14.6.1 Android應(yīng)用程序目錄結(jié)構(gòu) 335
14.6.2 創(chuàng)建按鈕示例 336
14.7 常用的Android控件 338
本章小結(jié) 350
習(xí)題 351
參考文獻 352