Java是目前最具影響力的、卓越的編程語(yǔ)言之一。Java憑借其編寫一次,到處運(yùn)行的特性很好地支持互聯(lián)網(wǎng)應(yīng)用所要求的跨平臺(tái)能力,成為服務(wù)器端開(kāi)發(fā)的主流語(yǔ)言。現(xiàn)在人類已進(jìn)入移動(dòng)互聯(lián)網(wǎng)時(shí)代,而Java依然是當(dāng)之無(wú)愧的主角。隨著人工智能和大數(shù)據(jù)技術(shù)的蓬勃發(fā)展,Java也不斷發(fā)展,使其在數(shù)據(jù)處理方面大有用武之地。
Java是經(jīng)典的面向?qū)ο缶幊陶Z(yǔ)言,同時(shí)也是一門優(yōu)秀的教學(xué)語(yǔ)言。Java擁有優(yōu)雅和簡(jiǎn)明的語(yǔ)法及豐富的類庫(kù),讓編程人員盡可能地將精力集中在業(yè)務(wù)領(lǐng)域的問(wèn)題求解上。
本書(shū)內(nèi)容具有以下特點(diǎn):
(1) 作為面向初學(xué)者的教程,本書(shū)編寫和取材著重體現(xiàn)Java面向?qū)ο缶幊趟枷牒兔嫦騿?wèn)題求解的理念; 采用基礎(chǔ)優(yōu)先、案例驅(qū)動(dòng)的教學(xué)方式,從編程基礎(chǔ)開(kāi)始,逐步引入面向?qū)ο笏枷搿?/p>
(2) 本書(shū)包含三大主題: Java編程語(yǔ)言、Java面向?qū)ο笏枷牒蚃ava常用類庫(kù)。這些是一名專業(yè)Java程序員必須熟練掌握的核心內(nèi)容。
(3) 本書(shū)基于Java 17版本,該版本是一個(gè)長(zhǎng)期支持的Java版本(LTS)。本書(shū)對(duì)上一版進(jìn)行了全面修訂,新增內(nèi)容主要包括JShell編程環(huán)境、新的switch結(jié)構(gòu)和switch表達(dá)式、局部變量類型推斷、文本塊、記錄類型等。
全書(shū)共分19章,主要內(nèi)容如下:
第1章介紹Java語(yǔ)言的起源和發(fā)展、Java開(kāi)發(fā)環(huán)境的構(gòu)建、簡(jiǎn)單Java程序的開(kāi)發(fā)和運(yùn)行、集成開(kāi)發(fā)環(huán)境Eclipse及JShell的使用。
第2章介紹數(shù)據(jù)類型、常用運(yùn)算符、表達(dá)式及數(shù)據(jù)類型的轉(zhuǎn)換等。
第3章討論程序的流程控制結(jié)構(gòu),包括選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),重點(diǎn)介紹if結(jié)構(gòu)、switch結(jié)構(gòu)、while循環(huán)、do…while循環(huán)及for循環(huán)結(jié)構(gòu)。
第4章重點(diǎn)介紹類的定義以及對(duì)象的創(chuàng)建,包括方法的設(shè)計(jì)、static修飾符的使用、對(duì)象初始化和變量作用域、局部變量類型推斷以及垃圾回收等。
第5章和第6章分別介紹數(shù)組和字符串,它們是基本的編程結(jié)構(gòu),包括數(shù)組和多維數(shù)組、String類和StringBuilder類等,另外還介紹了Arrays類的使用、格式化輸出等。
第7章介紹面向?qū)ο筇卣,主要?nèi)容有包與類庫(kù)、封裝性與訪問(wèn)修飾符、類的繼承、final關(guān)鍵字、對(duì)象轉(zhuǎn)換與多態(tài)性等。這些是面向?qū)ο缶幊痰暮诵膬?nèi)容。
第8章介紹Java常用核心類,包括Object類、Math類、System類和基本類型包裝類等,另外介紹了BigInteger和BigDecimal類及新的日期和時(shí)間API類。
第9章介紹接口和內(nèi)部類,包括接口的定義、接口繼承、接口實(shí)現(xiàn)以及在接口中定義靜態(tài)方法、默認(rèn)方法和私有方法,還介紹了內(nèi)部類的使用。
第10章介紹Java異常處理,包括異常類型、異常處理機(jī)制、自定義異常和斷言的使用。
第11章介紹記錄、枚舉和注解類型。它們是Java的引用數(shù)據(jù)類型,應(yīng)用在特定場(chǎng)合,為編程提供了方便。
第12章介紹泛型和集合,包括泛型編程的基本概念、各種類型集合接口和類的使用、Collections類的常用方法等。
第13章介紹Java輸入輸出,包括二進(jìn)制流和文本流的使用、對(duì)象序列化、Files類的常用操作。
第14章介紹函數(shù)式編程,包括Lambda表達(dá)式、函數(shù)式接口的使用及Stream API的基本操作。
第15章和第16章介紹JavaFX圖形界面編程,包括界面布局面板、JavaFX各類形狀的使用、事件處理,還介紹了圖像和特效、多媒體和動(dòng)畫以及各種常用控件的使用。
第17章介紹JDBC數(shù)據(jù)庫(kù)編程,包括JDBC體系結(jié)構(gòu)、數(shù)據(jù)庫(kù)訪問(wèn)步驟、常用的JDBC API以及DAO設(shè)計(jì)模式等。
第18章介紹并發(fā)編程基礎(chǔ),主要介紹多線程編程、線程的狀態(tài)與調(diào)度、線程同步與協(xié)調(diào)、并發(fā)工具等。
第19章介紹Java網(wǎng)絡(luò)編程,主要介紹基于TCP的通信、基于UDP的通信、基于HTTP的URL編程等。
附錄A是綜合案例,介紹了6個(gè)綜合項(xiàng)目案例,每個(gè)案例利用本書(shū)介紹的多個(gè)知識(shí)點(diǎn)實(shí)現(xiàn)。讀者應(yīng)仔細(xì)分析和研究這些案例的設(shè)計(jì)思想,為實(shí)現(xiàn)較大的項(xiàng)目奠定堅(jiān)實(shí)基礎(chǔ)。
為便于教學(xué),本書(shū)提供豐富的配套資源,包括教學(xué)大綱、教學(xué)課件、電子教案、程序源碼、習(xí)題答案、
教學(xué)進(jìn)度表、在線作業(yè)及答案和30小時(shí)的微課視頻。
資源下載提示
課件等資源: 掃描封底的課件下載二維碼,在公眾號(hào)書(shū)圈下載。
素材(源碼)等資源: 掃描目錄上方的二維碼下載。
在線作業(yè): 掃描封底的作業(yè)系統(tǒng)二維碼,登錄網(wǎng)站在線做題及查看答案。
視頻等資源: 掃描封底的文泉云盤防盜碼,再掃描書(shū)中相應(yīng)章節(jié)的二維碼,可以在線學(xué)習(xí)。
本書(shū)吸取了國(guó)內(nèi)外有關(guān)著作和
資料的精華,同時(shí)凝聚了作者多年的教學(xué)實(shí)踐經(jīng)驗(yàn)。
本書(shū)由沈澤剛主編,傘曉麗、魯富宇、彭霞、孫蕾、宋微、董研、張麗娟和周津等老師參加了部分編寫工作。
感謝清華大學(xué)出版社魏江江分社長(zhǎng)的大力支持以及許多編輯的辛勤工作。
感謝使用本書(shū)的老師提出的寶貴的修改建議。感謝本書(shū)參考的文獻(xiàn)的作者。
由于作者水平有限,書(shū)中難免存在不妥和錯(cuò)誤之處,懇請(qǐng)廣大讀者和同行批評(píng)指正。
編者2023年4月
第1章Java起步入門
1.1Java的起源與演進(jìn)
1.1.1Java的發(fā)展歷程
1.1.2Java語(yǔ)言的優(yōu)點(diǎn)
1.2Java平臺(tái)與運(yùn)行機(jī)制
1.2.1Java平臺(tái)與應(yīng)用領(lǐng)域
1.2.2JVM、JRE和JDK
1.2.3Java字節(jié)碼與平臺(tái)
獨(dú)立
1.3建立開(kāi)發(fā)環(huán)境
1.3.1JDK的下載與安裝
1.3.2關(guān)于環(huán)境變量
1.3.3Java API文檔
1.4第一個(gè)Java程序
1.4.1Java程序開(kāi)發(fā)步驟
1.4.2第一個(gè)程序分析
1.5集成開(kāi)發(fā)環(huán)境
1.5.1使用Eclipse開(kāi)發(fā)Java
程序
1.5.2使用IntelliJ IDEA開(kāi)發(fā)
Java程序
1.6JShell交互式編程環(huán)境
1.7小結(jié)
編程練習(xí)
第2章數(shù)據(jù)類型與運(yùn)算符
2.1Java數(shù)據(jù)類型
2.1.1基本數(shù)據(jù)類型
2.1.2引用數(shù)據(jù)類型
2.2標(biāo)識(shí)符與語(yǔ)句
2.2.1Java標(biāo)識(shí)符
2.2.2Java關(guān)鍵字
2.2.3變量與賦值
2.2.4語(yǔ)句
2.3基本數(shù)據(jù)類型及字面值
2.3.1整數(shù)類型
2.3.2浮點(diǎn)類型
2.3.3字符類型
2.3.4布爾類型
2.4字符串類型
2.5軟件開(kāi)發(fā)過(guò)程
2.6數(shù)據(jù)類型轉(zhuǎn)換
2.6.1自動(dòng)類型轉(zhuǎn)換
2.6.2強(qiáng)制類型轉(zhuǎn)換
2.6.3表達(dá)式類型自動(dòng)提升
2.7運(yùn)算符
2.7.1算術(shù)運(yùn)算符
2.7.2關(guān)系運(yùn)算符
2.7.3邏輯運(yùn)算符
2.7.4賦值運(yùn)算符
2.7.5位運(yùn)算符
2.7.6運(yùn)算符的優(yōu)先級(jí)和
結(jié)合性
2.8程序文檔風(fēng)格和注釋
2.8.1一致的縮進(jìn)和空白
2.8.2塊的風(fēng)格
2.8.3程序注釋
2.9案例學(xué)習(xí)求解線性
方程組
2.10案例學(xué)習(xí)計(jì)算并顯示當(dāng)前
時(shí)間
2.11小結(jié)
編程練習(xí)
第3章結(jié)構(gòu)化編程
3.1選擇結(jié)構(gòu)
3.1.1單分支if語(yǔ)句
3.1.2雙分支if…else語(yǔ)句
3.1.3條件運(yùn)算符
3.1.4嵌套的if語(yǔ)句和多分支的
if…else語(yǔ)句
3.2switch語(yǔ)句與switch表
達(dá)式
3.2.1switch語(yǔ)句
3.2.2switch表達(dá)式
3.3案例學(xué)習(xí)兩位數(shù)加減
運(yùn)算
3.4循環(huán)結(jié)構(gòu)
3.4.1while循環(huán)
3.4.2do…while循環(huán)
3.4.3for循環(huán)
3.4.4循環(huán)的嵌套
3.4.5break語(yǔ)句和continue
語(yǔ)句
3.5案例學(xué)習(xí)求最大公
約數(shù)
3.6案例學(xué)習(xí)打印輸出若干
素?cái)?shù)
3.7小結(jié)
編程練習(xí)
第4章類、對(duì)象和方法
4.1面向?qū)ο蟾攀?/p>
4.1.1OOP的產(chǎn)生
4.1.2基本概念
4.1.3OOP的優(yōu)勢(shì)
4.2定義類與創(chuàng)建對(duì)象
4.2.1類的定義
4.2.2創(chuàng)建和使用對(duì)象
4.2.3用UML圖表示類
4.2.4理解棧與堆
4.3構(gòu)造方法
4.3.1無(wú)參數(shù)構(gòu)造方法
4.3.2帶參數(shù)構(gòu)造方法
4.3.3構(gòu)造方法的重載
4.3.4this關(guān)鍵字
4.4案例學(xué)習(xí)使用自定義Date
日期類
4.5方法設(shè)計(jì)
4.5.1如何設(shè)計(jì)方法
4.5.2調(diào)用方法
4.5.3方法重載
4.5.4方法參數(shù)的傳遞
4.6案例學(xué)習(xí)分?jǐn)?shù)類Fraction
的設(shè)計(jì)
4.7靜態(tài)變量和靜態(tài)方法
4.7.1靜態(tài)變量
4.7.2靜態(tài)方法
4.7.3靜態(tài)工廠方法
4.7.4單例模式
4.7.5方法遞歸
4.8案例學(xué)習(xí)打印斐波那契
數(shù)列
4.9對(duì)象初始化
4.9.1實(shí)例變量的初始化
4.9.2靜態(tài)變量的初始化
4.10變量的作用域
4.11局部變量類型推斷
4.12垃圾回收
4.13小結(jié)
編程練習(xí)
第5章數(shù)組
5.1創(chuàng)建和使用數(shù)組
5.1.1聲明和創(chuàng)建數(shù)組
5.1.2訪問(wèn)數(shù)組元素
5.1.3數(shù)組初始化器
5.1.4增強(qiáng)的for循環(huán)
5.2數(shù)組的應(yīng)用
5.2.1數(shù)組元素的復(fù)制
5.2.2數(shù)組參數(shù)與返回值
5.2.3可變參數(shù)的方法
5.2.4數(shù)組的查找
5.3案例學(xué)習(xí)數(shù)組起泡
排序
5.4java.util.Arrays類
5.4.1數(shù)組的復(fù)制
5.4.2數(shù)組的排序
5.4.3元素的查找
5.4.4數(shù)組的比較
5.4.5填充數(shù)組元素
5.5案例學(xué)習(xí)橋牌隨機(jī)
發(fā)牌
5.6二維數(shù)組
5.6.1二維數(shù)組的定義
5.6.2數(shù)組元素的使用
5.6.3數(shù)組初始化器
5.6.4實(shí)例矩陣乘法
5.6.5不規(guī)則二維數(shù)組
5.7案例學(xué)習(xí)打印輸出魔
方數(shù)
5.8小結(jié)
編程練習(xí)
第6章字符串類
6.1String類及基本操作
6.1.1創(chuàng)建String類對(duì)象
6.1.2字符串基本操作
6.1.3String對(duì)象的不變性
6.1.4字符串比較
6.1.5字符串的查找和
匹配
6.1.6字符串的拆分與
組合
6.1.7字符串轉(zhuǎn)換為數(shù)組
6.2文本塊
6.3命令行參數(shù)
6.4格式化數(shù)據(jù)
6.5StringBuilder類
6.5.1創(chuàng)建StringBuilder
對(duì)象
6.5.2StringBuilder類常用
操作
6.5.3 運(yùn)算符的重載
6.6案例學(xué)習(xí)判定回
文串
6.7案例學(xué)習(xí)字符串加密、
解密
6.8小結(jié)
編程練習(xí)
第7章面向?qū)ο筇卣?/p>
7.1面向?qū)ο蟮娜筇卣?/p>
7.2包、類庫(kù)與模塊
7.2.1包與package語(yǔ)句
7.2.2類的導(dǎo)入
7.2.3Java類庫(kù)
7.2.4Java模塊系統(tǒng)
7.3封裝性與訪問(wèn)權(quán)限
7.3.1類的訪問(wèn)權(quán)限
7.3.2類成員的訪問(wèn)權(quán)限
7.4類的繼承
7.4.1類繼承的實(shí)現(xiàn)
7.4.2方法覆蓋
7.4.3super關(guān)鍵字
7.4.4調(diào)用父類的構(gòu)造方法
7.5final關(guān)鍵字
7.5.1final修飾類
7.5.2final修飾方法
7.5.3final修飾變量
7.6抽象類
7.7對(duì)象轉(zhuǎn)換與多態(tài)性
7.7.1對(duì)象轉(zhuǎn)換
7.7.2instanceof運(yùn)算符
7.7.3多態(tài)與動(dòng)態(tài)綁定
7.8案例學(xué)習(xí)自定義類庫(kù)的
開(kāi)發(fā)
7.9小結(jié)
編程練習(xí)
第8章Java核心類庫(kù)
8.1java.lang.Object類
8.1.1toString()方法
8.1.2equals()方法
8.1.3hashCode()方法
8.1.4clone()方法
8.2java.lang.Math類
8.3java.lang.System類
8.4基本類型包裝類
8.4.1Character 類
8.4.2Boolean類
8.4.3創(chuàng)建數(shù)值類對(duì)象
8.4.4數(shù)值類的常量
8.4.5自動(dòng)裝箱與自動(dòng)拆箱
8.4.6字符串與基本類型
轉(zhuǎn)換
8.5案例學(xué)習(xí)一個(gè)整數(shù)棧的
實(shí)現(xiàn)
8.6BigInteger類和BigDecimal
類
8.7日期和時(shí)間API
8.7.1LocalDate本地
日期類
8.7.2LocalTime本地
時(shí)間類
8.7.3LocalDateTime本地日期
和時(shí)間類
8.7.4Instant類、Duration類
和Period類
8.7.5其他常用類
8.7.6日期和時(shí)間API的解析
和格式化
8.8案例學(xué)習(xí)打印輸出
年歷
8.9小結(jié)
編程練習(xí)
第9章接口與內(nèi)部類
9.1接口
9.1.1接口的定義
9.1.2常量
9.1.3接口的實(shí)現(xiàn)
9.1.4接口的繼承
9.1.5接口類型的使用
9.2接口的非抽象方法
9.2.1靜態(tài)方法
9.2.2默認(rèn)方法
9.2.3私有方法
9.2.4解決默認(rèn)方法沖突
9.3內(nèi)部類
9.3.1成員內(nèi)部類
9.3.2靜態(tài)內(nèi)部類
9.3.3匿名內(nèi)部類
9.3.4局部?jī)?nèi)部類
9.4接口示例
9.4.1ComparableT
接口
9.4.2ComparatorT
接口
9.5案例學(xué)習(xí)比較員工對(duì)象
大小
9.6小結(jié)
編程練習(xí)
第10章異常處理
10.1異常與異常類
10.1.1異常的概念
10.1.2異常類
10.2捕獲異常
10.2.1異常的拋出與
捕獲
10.2.2try…catch…finally
語(yǔ)句
10.3捕獲多個(gè)異常
10.4throws短語(yǔ)和throw
語(yǔ)句
10.5try…with…resources
語(yǔ)句
10.6自定義異常類
10.7斷言
10.7.1使用斷言
10.7.2開(kāi)啟和關(guān)閉斷言
10.7.3何時(shí)使用斷言
10.8案例學(xué)習(xí)數(shù)組不匹配
異常
10.9小結(jié)
編程練習(xí)
第11章記錄、枚舉和注解類型
11.1記錄類型
11.2枚舉類型
11.2.1枚舉類型的定義
11.2.2枚舉類型的方法
11.2.3枚舉在switch語(yǔ)句
中的應(yīng)用
11.2.4枚舉類型的構(gòu)造
方法
11.3注解類型
11.3.1注解概述
11.3.2標(biāo)準(zhǔn)注解
11.3.3定義注解類型
11.3.4標(biāo)準(zhǔn)元注解
11.4小結(jié)
編程練習(xí)
第12章泛型與集合
12.1泛型
12.1.1泛型類
12.1.2泛型接口
12.1.3泛型方法
12.1.4通配符(?)的使用
12.1.5有界類型參數(shù)
12.1.6類型擦除
12.2集合框架
12.3List接口及實(shí)現(xiàn)類
12.3.1List的操作
12.3.2ArrayList類
12.3.3遍歷集合元素
12.3.4數(shù)組轉(zhuǎn)換為L(zhǎng)ist
對(duì)象
12.4Set接口及實(shí)現(xiàn)類
12.4.1HashSet類
12.4.2用Set對(duì)象實(shí)現(xiàn)集合
運(yùn)算
12.4.3TreeSet類
12.4.4對(duì)象順序
12.5Queue接口及實(shí)現(xiàn)
類
12.5.1Queue接口和Deque
接口
12.5.2ArrayDeque類和
LinkedList類
12.5.3集合轉(zhuǎn)換
12.6案例學(xué)習(xí)用集合存儲(chǔ)、
遍歷員工記錄
12.7Map接口及實(shí)現(xiàn)類
12.7.1Map接口
12.7.2HashMap類
12.7.3TreeMap類
12.7.4在Map鍵和值上
迭代
12.7.5Hashtable類和Enu
meration接口
12.8Collections類
12.9案例學(xué)習(xí)用Map統(tǒng)計(jì)
單詞數(shù)量
12.10小結(jié)
編程練習(xí)
第13章輸入/輸出
13.1I/O概述
13.1.1File類應(yīng)用
13.1.2文本I/O與二進(jìn)制
I/O
13.2二進(jìn)制I/O流
13.2.1OutputStream類和
InputStream類
13.2.2FileOutputStream類和
FileInputStream類
13.2.3BufferedOutputStream類
和BufferedInputStream
類
13.2.4DataOutputStream類和
DataInputStream類
13.2.5PrintStream類
13.2.6標(biāo)準(zhǔn)輸入/輸出流
13.3案例學(xué)習(xí)文件加密、解密
程序
13.4文本I/O流
13.4.1Reader類和Writer類
13.4.2FileWriter類和
FileReader類
13.4.3BufferedReader類和
BufferedWriter類
13.4.4PrintWriter類
13.4.5使用Scanner對(duì)象
13.5案例學(xué)習(xí)統(tǒng)計(jì)文件行數(shù)、
單詞數(shù)和字符數(shù)
13.6對(duì)象序列化
13.6.1對(duì)象序列化與
對(duì)象流
13.6.2向ObjectOutputStream
中寫入對(duì)象
13.6.3從ObjectInputStream
中讀取對(duì)象
13.6.4序列化數(shù)組
13.7Files類操作
13.7.1Path對(duì)象
13.7.2創(chuàng)建和刪除目錄及
文件
13.7.3文件屬性操作
13.7.4文件和目錄的復(fù)制與
移動(dòng)
13.7.5獲取目錄的對(duì)象
13.7.6小文件的讀寫
13.7.7使用Files類創(chuàng)建流
對(duì)象
13.8小結(jié)
編程練習(xí)
第14章函數(shù)式編程
14.1Lambda表達(dá)式
14.1.1從匿名類到Lambda
表達(dá)式
14.1.2Lambda表達(dá)式
語(yǔ)法
14.1.3函數(shù)式接口
14.2預(yù)定義函數(shù)式接口
14.2.1ConsumerT
接口
14.2.2SupplierT
接口
14.2.3PredicateT
接口
14.2.4FunctionT,R
接口
14.3方法引用和構(gòu)造方法
引用
14.3.1方法引用
14.3.2構(gòu)造方法引用
14.4Stream API
14.4.1流概述
14.4.2創(chuàng)建與獲得流
14.4.3連接流和限制流
14.4.4過(guò)濾流
14.4.5流轉(zhuǎn)換
14.4.6流歸約
14.4.7收集結(jié)果
14.4.8基本類型流
14.4.9并行流
14.5案例學(xué)習(xí)用Stream統(tǒng)計(jì)
員工的平均年齡
14.6案例學(xué)習(xí)用Stream計(jì)算
多個(gè)數(shù)的斐波那契數(shù)
14.7小結(jié)
編程練習(xí)
第15章JavaFX圖形界面
15.1JavaFX概述
15.1.1Java GUI編程
簡(jiǎn)史
15.1.2添加JavaFX軟
件包
15.1.3JavaFX的主要
功能
15.2JavaFX程序基本結(jié)構(gòu)
15.2.1舞臺(tái)和場(chǎng)景
15.2.2場(chǎng)景圖和節(jié)點(diǎn)
15.2.3Application類生命周期
方法
15.2.4JavaFX程序啟動(dòng)
15.3JavaFX屬性與綁定
15.3.1JavaFX屬性
15.3.2屬性綁定
15.4JavaFX界面布局
15.4.1JavaFX坐標(biāo)系
15.4.2Pane面板
15.4.3HBox面板
15.4.4VBox面板
15.4.5BorderPane面板
15.4.6FlowPane面板
15.4.7GridPane面板
15.4.8StackPane面板
15.4.9使用CSS設(shè)置控件
樣式
15.5Color類和Font類
15.5.1Color類
15.5.2Font類
15.6JavaFX形狀
15.6.1Line類
15.6.2Rectangle類
15.6.3Circle類
15.6.4Ellipse類
15.6.5Arc類
15.6.6Polygon類
15.6.7Text類
15.7Image類和ImageView
類
15.8特效實(shí)現(xiàn)
15.8.1陰影效果
15.8.2模糊效果
15.8.3倒影效果
15.8.4發(fā)光效果
15.9案例學(xué)習(xí)考試成績(jī)
分布圖
15.10小結(jié)
編程練習(xí)
第16章事件處理與常用控件
16.1事件處理
16.1.1事件處理模型
16.1.2事件類和事件
類型
16.1.3使用事件處理器
16.1.4動(dòng)作事件
16.1.5鼠標(biāo)事件
16.1.6鍵盤事件
16.1.7為屬性添加監(jiān)
聽(tīng)器
16.2常用控件
16.2.1Label類
16.2.2Button類
16.2.3TextField類和
PasswordField類
16.2.4TextArea類
16.2.5CheckBox類
16.2.6RadioButton類
16.2.7ComboBox類
16.2.8Slider類
16.2.9菜單設(shè)計(jì)
16.2.10FileChooser類
16.3案例學(xué)習(xí)一個(gè)猜數(shù)
游戲
16.4音頻和視頻
16.5動(dòng)畫
16.5.1過(guò)渡動(dòng)畫
16.5.2淡出效果
16.5.3移動(dòng)效果
16.5.4縮放效果
16.5.5旋轉(zhuǎn)效果
16.5.6時(shí)間軸動(dòng)畫
16.6案例學(xué)習(xí)升國(guó)旗
奏國(guó)歌
16.7小結(jié)
編程練習(xí)
第17章JDBC數(shù)據(jù)庫(kù)編程
17.1數(shù)據(jù)庫(kù)簡(jiǎn)介
17.1.1關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)述
17.1.2數(shù)據(jù)庫(kù)語(yǔ)言SQL
17.2JDBC體系結(jié)構(gòu)
17.2.1JDBC訪問(wèn)數(shù)據(jù)庫(kù)
17.2.2JDBC API
17.3數(shù)據(jù)庫(kù)訪問(wèn)步驟
17.3.1加載驅(qū)動(dòng)程序
17.3.2建立連接對(duì)象
17.3.3創(chuàng)建語(yǔ)句對(duì)象
17.3.4執(zhí)行語(yǔ)句獲得執(zhí)行
結(jié)果
17.3.5關(guān)閉有關(guān)對(duì)象
17.4使用PreparedStatement
對(duì)象
17.4.1創(chuàng)建PreparedStatement
對(duì)象
17.4.2帶參數(shù)的SQL
語(yǔ)句
17.5創(chuàng)建和訪問(wèn) MySQL
數(shù)據(jù)庫(kù)
17.5.1創(chuàng)建數(shù)據(jù)庫(kù)和表
17.5.2訪問(wèn)MySQL
數(shù)據(jù)庫(kù)
17.6案例學(xué)習(xí)使用數(shù)據(jù)源
連接數(shù)據(jù)庫(kù)
17.7DAO設(shè)計(jì)模式
17.8可滾動(dòng)和可更新的
ResultSet
17.8.1可滾動(dòng)的ResultSet
17.8.2可更新的ResultSet
17.9案例學(xué)習(xí)數(shù)據(jù)庫(kù)存取
圖像數(shù)據(jù)
17.10小結(jié)
編程練習(xí)
第18章并發(fā)編程基礎(chǔ)
18.1Java多線程
18.2創(chuàng)建任務(wù)和線程
18.2.1實(shí)現(xiàn)Runnable
接口
18.2.2繼承Thread類
18.2.3主線程與守護(hù)
線程
18.3線程的狀態(tài)與調(diào)度
18.3.1線程的狀態(tài)
18.3.2線程的優(yōu)先級(jí)和
調(diào)度
18.3.3控制線程的結(jié)束
18.4線程同步與對(duì)象鎖
18.4.1線程沖突與原子
操作
18.4.2方法同步
18.4.3塊同步
18.5線程協(xié)調(diào)
18.5.1不正確的設(shè)計(jì)
18.5.2監(jiān)視器模型
18.6并發(fā)工具
18.6.1原子變量
18.6.2Executor和
ExecutorService
18.6.3Callable和
Future
18.6.4使用Lock鎖定
對(duì)象
18.7案例學(xué)習(xí)百米飛人
大戰(zhàn)
18.8小結(jié)
編程練習(xí)
第19章Java網(wǎng)絡(luò)編程
19.1網(wǎng)絡(luò)編程概述
19.1.1網(wǎng)絡(luò)分層與協(xié)議
19.1.2客戶服務(wù)器結(jié)構(gòu)
19.1.3IP地址和域名
19.1.4端口號(hào)與套接字
19.2基于TCP的通信
19.2.1基于TCP和UDP通信
的對(duì)比
19.2.2ServerSocket類和
Socket類
19.2.3簡(jiǎn)單的TCP通信的
例子
19.3基于UDP的通信
19.3.1DatagramSocket類和
DatagramPacket類
19.3.2簡(jiǎn)單的UDP通信
例子
19.4基于HTTP的通信
19.4.1理解HTTP
19.4.2URL和URL類
19.4.3URLConnection類
19.5案例學(xué)習(xí)訪問(wèn)Web
應(yīng)用程序
19.6小結(jié)
編程練習(xí)
附錄A綜合案例
案例1英文字母隨機(jī)漫步
案例2八皇后問(wèn)題
案例3簡(jiǎn)單的日歷程序
案例4簡(jiǎn)易計(jì)算器
案例5簡(jiǎn)單的五子棋游戲
案例6簡(jiǎn)單的Web服務(wù)器
參考文獻(xiàn)