普通高等教育“十三五”規(guī)劃教材:Java語言程序設(shè)計(jì)教程
定 價(jià):56.8 元
叢書名:普通高等教育“十三五”規(guī)劃教材
- 作者:[中國]胡光 著
- 出版時(shí)間:2018/1/1
- ISBN:9787113240967
- 出 版 社:中國鐵道出版社
- 中圖法分類:TP312JA
- 頁碼:336
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書從Java語言程序設(shè)計(jì)基礎(chǔ)入手,以面向?qū)ο蟪绦蛟O(shè)計(jì)思想為主線,循序漸進(jìn)地講述Java程序設(shè)計(jì)理論與應(yīng)用知識(shí)。全書內(nèi)容主要包括Java語言的基礎(chǔ)語法、面向?qū)ο蟪绦蛟O(shè)計(jì)思想與應(yīng)用、Java 語言的常用類、異常處理機(jī)制、I/O 流、Java 語言的常用數(shù)據(jù)結(jié)構(gòu)及其實(shí)現(xiàn)、GUI 程序設(shè)計(jì)、多線程技術(shù)和網(wǎng)絡(luò)程序設(shè)計(jì)基礎(chǔ)等。本書內(nèi)容豐富,強(qiáng)調(diào)理論與實(shí)踐相結(jié)合。書中所有內(nèi)容均遵守Java SE平臺(tái)
本教材以面向?qū)ο蟪绦蛟O(shè)計(jì)思想為主線,將所有內(nèi)容都圍繞封裝、繼承與多態(tài)展開,所有
隨著計(jì)算機(jī)與信息技術(shù)的不斷發(fā)展,學(xué)習(xí)一門應(yīng)用廣泛的程序設(shè)計(jì)語言是適應(yīng)IT編程行業(yè)發(fā)展的必選之路。2015 年7 月4 日,國務(wù)院印發(fā)了《國務(wù)院關(guān)于積極推進(jìn)互聯(lián)網(wǎng) 行動(dòng)的指導(dǎo)意見》。從該指導(dǎo)意見可以看出,選擇一種與互聯(lián)網(wǎng)及其應(yīng)用緊密聯(lián)系、跨平臺(tái)和移植性強(qiáng)的程序設(shè)計(jì)語言符合軟件開發(fā)的發(fā)展要求,并能夠推動(dòng)軟件開發(fā)領(lǐng)域的不斷拓展。Java語言初是基于互聯(lián)網(wǎng)技術(shù)的應(yīng)用而產(chǎn)生的,恰好適應(yīng)了國家關(guān)于IT行業(yè)不斷發(fā)展的戰(zhàn)略需要。經(jīng)過數(shù)年的發(fā)展,Java語言已經(jīng)成為一門成熟的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,在所有程序設(shè)計(jì)語言中占有舉足輕重的地位。從面向?qū)ο蟪绦蛟O(shè)計(jì)思想的角度來說,Java語言在網(wǎng)絡(luò)、跨平臺(tái)、多線程和安全性方面比其他程序設(shè)計(jì)語言更具有優(yōu)勢,更適合程序設(shè)計(jì)人員作為開發(fā)工具使用。從面向?qū)ο蟪绦蛟O(shè)計(jì)的應(yīng)用角度來說,Java語言將大部分算法實(shí)現(xiàn)進(jìn)行了封裝,實(shí)現(xiàn)比較容易,可以節(jié)省程序設(shè)計(jì)人員的開發(fā)時(shí)間,提高開發(fā)效率。本教材以面向?qū)ο蟪绦蛟O(shè)計(jì)思想為主線,將所有內(nèi)容都圍繞封裝、繼承與多態(tài)展開,所有代碼示例嚴(yán)格符合編程規(guī)范。Java程序設(shè)計(jì)的基礎(chǔ)知識(shí)主要以封裝類中的數(shù)據(jù)屬性、構(gòu)造方法和功能方法作為主線進(jìn)行講述,側(cè)重封裝、繼承與多態(tài)之間的相互關(guān)系。Java程序設(shè)計(jì)應(yīng)用中的GUI程序以三個(gè)頂層容器組件為主線進(jìn)行講述,側(cè)重桌面程序的設(shè)計(jì)。Java程序設(shè)計(jì)應(yīng)用中的數(shù)據(jù)結(jié)構(gòu)、輸入輸出、網(wǎng)絡(luò)應(yīng)用以典型案例為主線進(jìn)行講述,側(cè)重完整項(xiàng)目的開發(fā)與設(shè)計(jì)。全書共分10 章,各章節(jié)之間既有相互獨(dú)立性又有潛在的聯(lián)系,保證了學(xué)習(xí)的連貫性。第1章對Java與面向?qū)ο笏枷胫g的關(guān)系進(jìn)行了簡述。第2章介紹了基本數(shù)據(jù)類型、數(shù)據(jù)字段、操作符、表達(dá)式和語句流程控制等程序設(shè)計(jì)基礎(chǔ)知識(shí)。第3章詳細(xì)講解了面向?qū)ο蟪绦蛟O(shè)計(jì)的特征,學(xué)習(xí)使用類、對象、接口、類的繼承、多態(tài)進(jìn)行程序設(shè)計(jì)。第4章在引入Java在線幫助文檔的前提下,介紹常用的Java 類及其應(yīng)用。第5 章講述了Java 語言的異常處理機(jī)制。第6 章講述了數(shù)據(jù)持久化中輸入流和輸出流封裝的知識(shí)。第7 章介紹了基于Java 語言的常用數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)和Java 集合框架,它為數(shù)據(jù)結(jié)構(gòu)定義了一套有用的API。第8 章介紹了Java GUI 程序設(shè)計(jì)和JavaApplet 的應(yīng)用,側(cè)重學(xué)習(xí)委托事件處理模型,使程序具有更好的響應(yīng)和人機(jī)交互功能。第9 章介紹了Java 多線程技術(shù),它實(shí)現(xiàn)了讓程序任務(wù)并發(fā)執(zhí)行的特征及安全性。第10 章講解了Java 程序在網(wǎng)絡(luò)方面的應(yīng)用,使得網(wǎng)絡(luò)上的不同主機(jī)能夠相互通信。在教材內(nèi)容方面,由淺入深進(jìn)行講述,如果讀者把此書作為入門教材,建議熟練學(xué)習(xí)前8章的內(nèi)容,培養(yǎng)描述實(shí)際問題的程序化解決方案的關(guān)鍵技能,并通過基本算法和數(shù)據(jù)結(jié)構(gòu)將方案轉(zhuǎn)變成程序。如果讀者已經(jīng)具有一定的編程基礎(chǔ),建議重點(diǎn)學(xué)習(xí)第9章和第10章,使用面向?qū)ο蟪绦蛟O(shè)計(jì)的方法開發(fā)多線程并發(fā)任務(wù)程序或網(wǎng)絡(luò)程序,提高程序設(shè)計(jì)的項(xiàng)目應(yīng)用能力。在實(shí)踐方面,本教材并沒有局限于講述某一種具體的程序設(shè)計(jì)集成開發(fā)環(huán)境,讓讀者能夠按照自己的實(shí)際要求進(jìn)行編程,提高了教材使用的通用性。教材每一章都安排了適量的練習(xí)題,給讀者增加自主性思考和實(shí)踐練習(xí)的機(jī)會(huì)。這些練習(xí)題不再使用實(shí)驗(yàn)指導(dǎo)書性質(zhì)的基于現(xiàn)有代碼程序設(shè)計(jì),而是要求讀者根據(jù)題目文字描述,自行分析和設(shè)計(jì)。練習(xí)題既有簡單的程序設(shè)計(jì)題,也有復(fù)雜的算法實(shí)現(xiàn)題,還有完整的項(xiàng)目實(shí)踐題,讓讀者循序漸進(jìn)地學(xué)習(xí)Java語言程序設(shè)計(jì)。Java語言程序設(shè)計(jì)的實(shí)踐練習(xí)過程中,提供了Java SE各種版本的在線幫助文檔,即Java SEAPI。Java SE API可以幫助讀者理解教材中的實(shí)踐內(nèi)容,提高程序設(shè)計(jì)的效率。本教材并沒有簡單地套用Java SE API中的內(nèi)容,而是在該文檔的基礎(chǔ)上增加程序設(shè)計(jì)原理、經(jīng)驗(yàn)和技巧,力求比在線幫助文檔更加準(zhǔn)確、簡明和便于理解。與其他同類教材相比,本教材的主要特色為:(1)更加強(qiáng)化面向?qū)ο蟪绦蛟O(shè)計(jì)中的封裝、繼承和多態(tài)特征在程序中的體現(xiàn),所有的例題和練習(xí)題都力求用嚴(yán)格的編程規(guī)范實(shí)現(xiàn)。(2)在程序設(shè)計(jì)基礎(chǔ)知識(shí)學(xué)習(xí)的前提下,重點(diǎn)提升編程能力,重視邏輯思維和計(jì)算思維的培養(yǎng)。(3)重視理論與實(shí)踐相結(jié)合,突出程序設(shè)計(jì)動(dòng)手能力培養(yǎng)的特點(diǎn)。摒棄了傳統(tǒng)實(shí)驗(yàn)指導(dǎo)書提供部分代碼的問題,重點(diǎn)培養(yǎng)完整程序編寫的能力。每章后的習(xí)題都需要設(shè)計(jì)編程思想和完成完整的程序代碼,提高程序設(shè)計(jì)的熟練度。(4)重視擴(kuò)展內(nèi)容深度和廣度,既可以把本教材作為Java語言程序設(shè)計(jì)的基礎(chǔ)教材,也可以作為深入學(xué)習(xí)Java語言程序設(shè)計(jì)的工具書。本教材由煙臺(tái)大學(xué)計(jì)算機(jī)與控制工程學(xué)院胡光任主編,山東女子學(xué)院信息技術(shù)學(xué)院李效偉任副主編。李效偉編寫了第1章和第2章,胡光編寫了其余章節(jié)。在編寫過程中許多領(lǐng)導(dǎo)和老師提出了寶貴的意見和建議,也得到了許多朋友的幫助和支持,在這里一并表示感謝。本教材適合作為計(jì)算機(jī)科學(xué)與技術(shù)和軟件工程相關(guān)專業(yè)的程序設(shè)計(jì)基礎(chǔ)教材,也可以作為需要學(xué)習(xí)Java程序設(shè)計(jì)基礎(chǔ)和進(jìn)階的工程技術(shù)人員的自學(xué)參考書。由于編者的水平有限,不足和疏漏之處在所難免,歡迎廣大技術(shù)專家和讀者指正。編 者2017年11月
胡光,煙臺(tái)大學(xué)
第1 章 緒論
1.1 Java 概述
1.1.1 Java 語言的產(chǎn)生與發(fā)展
1.1.2 Java 語言的特點(diǎn)
1.1.3 Java 語言的開發(fā)與運(yùn)行平臺(tái)
1.2 Java SE 開發(fā)環(huán)境
1.2.1 Java SE 的下載、安裝與環(huán)境變量的配置
1.2.2 Java 語言程序設(shè)計(jì)工具
1.3 Java 語言的程序設(shè)計(jì)過程
1.3.1 Java 應(yīng)用程序的設(shè)計(jì)過程
1.3.2 Java 小程序的設(shè)計(jì)過程
1.3.3 Java 語言程序注釋
習(xí)題
第2 章 程序設(shè)計(jì)基礎(chǔ)
2.1 標(biāo)識(shí)符、關(guān)鍵字和數(shù)據(jù)類型
2.1.1 標(biāo)識(shí)符和關(guān)鍵字
2.1.2 基本數(shù)據(jù)類型
2.1.3 常量和變量
2.1.4 基本數(shù)據(jù)類型的轉(zhuǎn)換
2.2 操作符和表達(dá)式
2.2.1 算術(shù)操作符和算術(shù)表達(dá)式
2.2.2 關(guān)系操作符和關(guān)系表達(dá)式
2.2.3 邏輯操作符和邏輯表達(dá)式
2.2.4 位操作符和位操作表達(dá)式
2.2.5 賦值操作符和賦值表達(dá)式
2.2.6 條件操作符和條件表達(dá)式
2.2.7 其他操作符和相關(guān)表達(dá)式
2.2.8 操作符的優(yōu)先級和復(fù)雜表達(dá)式
2.3 控制流語句
2.3.1 順序結(jié)構(gòu)語句
2.3.2 條件控制語句
2.3.3 循環(huán)控制語句
2.3.4 跳轉(zhuǎn)語句
2.4 遞歸
習(xí)題
第3 章 面向?qū)ο蟪绦蛟O(shè)計(jì)
3.1 概述
3.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念
3.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)
3.2 類和對象
3.2.1 類
3.2.2 對象
3.2.3 包
3.3 繼承
3.3.1 概述
3.3.2 抽象類和終類
3.3.3 對象的引用轉(zhuǎn)型
3.4 接口
3.4.1概述
3.4.2 接口的回調(diào)
3.5 嵌套類和匿名類
3.5.1 嵌套類
3.5.2 匿名類
3.6 Java 面向?qū)ο笏枷脒M(jìn)階
3.6.1 反射
3.6.2 注解
3.6.3 Java 應(yīng)用程序常用工具
習(xí)題
第4 章 常用類
4.1 字符串
4.1.1 String 類
4.1.2 StringBuffer 類和StringBuilder 類
4.1.3 正則表達(dá)式
4.2 數(shù)組
4.2.1 一維數(shù)組
4.2.2 多維數(shù)組
4.3 數(shù)據(jù)類型類、日期和時(shí)間類
4.3.1 數(shù)據(jù)類型類
4.3.2 System 類
4.3.3 Math 類
4.3.4 日期和時(shí)間類
4.4 泛型
4.4.1 泛型類
4.4.2 泛型接口
4.5 枚舉
4.5.1 枚舉的創(chuàng)建
4.5.2 枚舉的使用
習(xí)題
第5 章 異常處理
5.1 概述
5.1.1 程序中的問題
5.1.2 異常類
5.2 異常處理概述
5.3 自定義異常
5.4 斷言
習(xí)題
第6 章 輸入流和輸出流
6.1 概述
6.1.1 流
6.1.2 字節(jié)流
6.1.3 字符流
6.2 文件輸入流和輸出流
6.2.1 文件類
6.2.2 文件輸入字節(jié)流和輸出字節(jié)流
6.2.3 文件字符輸入流和字符輸出流
6.3 標(biāo)準(zhǔn)輸出流和標(biāo)準(zhǔn)輸入流
6.3.1 標(biāo)準(zhǔn)輸出流
6.3.2 格式化輸出
6.3.3 標(biāo)準(zhǔn)輸入流
6.3.4 格式化輸入
6.3.5 標(biāo)準(zhǔn)輸入流和標(biāo)準(zhǔn)輸出流的重定向
6.4 其他輸入流和輸出流
6.4.1 RandomAccessFile 類
6.4.2 字節(jié)流和字符流的綜合
6.4.3 對象流
習(xí)題
第7 章 常用數(shù)據(jù)結(jié)構(gòu)
7.1 集合
7.1.1 Collection接口
7.1.2 Collections 類
7.2 鏈表
7.2.1 鏈表接口及常用實(shí)現(xiàn)類
7.2.2 鏈表類LinkedList
7.2.3 鏈表類ArrayList
7.3 堆棧Stack
7.3.1 向量Vector
7.3.2 堆棧Stack
7.4 隊(duì)列
7.5 集合Set
7.5.1 HashSet類
7.5.2 TreeSet類
7.6 映射Map
7.6.1 HashMap類
7.6.2 TreeMap類
習(xí)題
第8 章 圖形用戶界面
8.1 概述
8.2 容器類
8.2.1 窗口框架
8.2.2 面板
8.2.3 其他容器
8.3 原子組件與布局
8.3.1 原子組件
8.3.2 布局管理器
8.4 事件處理
8.4.1 委托事件處理模型
8.4.2 動(dòng)作事件
8.4.3 選項(xiàng)事件
8.4.4 文本插入符事件
8.4.5 窗口事件
8.4.6 鼠標(biāo)事件
8.4.7 焦點(diǎn)事件和鍵盤事件
8.4.8 系統(tǒng)托盤圖標(biāo)支持
8.4.9 GUI 程序設(shè)計(jì)過程
8.5 對話框
8.5.1 標(biāo)準(zhǔn)對話框
8.5.2 自定義對話框
8.6 Java Applet
8.6.1 概述
8.6.2 Applet 工作原理
8.6.3 Java Applet 的用戶界面
8.6.4 Java Applet 應(yīng)用
習(xí)題
第9 章 多線程
9.1 概述
9.1.1 基本概念
9.1.2 線程的執(zhí)行
9.2 線程
9.2.1 線程的創(chuàng)建
9.2.2 線程的功能與實(shí)現(xiàn)
9.2.3 線程的狀態(tài)和生命周期
9.2.4 線程的調(diào)度和優(yōu)先級
9.2.5 線程組
9.2.6 線程的動(dòng)畫應(yīng)用
9.3 多線程同步機(jī)制
9.3.1 概述
9.3.2 多線程同步的調(diào)度
習(xí)題
第10 章 網(wǎng)絡(luò)程序設(shè)計(jì)
10.1 概述
10.1.1 TCP/IP
10.1.2 IP 地址與通信端口
10.1.3 URL 的基本概念
10.1.4 Java Web 開發(fā)
10.2 基于TCP 的Java 網(wǎng)絡(luò)程序設(shè)計(jì)
10.2.1 Socket 類和ServerSocket 類
10.2.2 基于TCP 的Java 網(wǎng)絡(luò)程序設(shè)計(jì)過程
10.3 基于UDP 的Java 網(wǎng)絡(luò)程序設(shè)計(jì)
10.3.1 DatagramPacket 類和DatagramSocket 類
10.3.2 基于UDP 的Java 網(wǎng)絡(luò)程序設(shè)計(jì)過程
習(xí)題
參考文獻(xiàn)