歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)
> >
Java 8程序設(shè)計(jì)及實(shí)驗(yàn)

Java 8程序設(shè)計(jì)及實(shí)驗(yàn)

出版社:清華大學(xué)出版社出版時(shí)間:2018-09-01
開本: 16開 頁(yè)數(shù): 364
中 圖 價(jià):¥32.0(4.6折) 定價(jià)  ¥69.5 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無(wú)塑封),個(gè)別圖書品相8-9成新、切口
有劃線標(biāo)記、光盤等附件不全詳細(xì)品相說(shuō)明>>
本類五星書更多>

Java 8程序設(shè)計(jì)及實(shí)驗(yàn) 版權(quán)信息

Java 8程序設(shè)計(jì)及實(shí)驗(yàn) 本書特色

本書由多位長(zhǎng)期從事Java教學(xué)的教師根據(jù)其實(shí)際授課經(jīng)驗(yàn)編寫,從教師和學(xué)生的角度來(lái)編寫教材,并在教學(xué)環(huán)境中加以試用,不斷修改完善。本書配有習(xí)題解答、電子課件及源程序。

Java 8程序設(shè)計(jì)及實(shí)驗(yàn) 內(nèi)容簡(jiǎn)介

本書是講述Java程序設(shè)計(jì)的教材,在一般知識(shí)的基礎(chǔ)上增加了JDK 8中的新功能,包括在接口中聲明靜態(tài)方法、默認(rèn)方法,還有Lambda表達(dá)式、方法引用、Stream。在圖形界面部分,去掉了介紹Applet的內(nèi)容,增加了用JavaFX實(shí)現(xiàn)圖形界面的內(nèi)容及案例。本書由多位長(zhǎng)期從事Java教學(xué)的教師根據(jù)實(shí)際授課經(jīng)驗(yàn)編寫而成,通過(guò)在教學(xué)環(huán)境中的試用,具有較好的教學(xué)效果。本書適合作為普通高等學(xué)校教材使用,為了便于學(xué)習(xí),本書配有習(xí)題解答、電子課件及源程序,在本書附錄中還有相應(yīng)的授課計(jì)劃和實(shí)驗(yàn)項(xiàng)目,為教師備課、授課和安排實(shí)驗(yàn)環(huán)節(jié)的項(xiàng)目提供參考,為讀者的學(xué)習(xí)提供引導(dǎo)。

Java 8程序設(shè)計(jì)及實(shí)驗(yàn) 目錄

目錄

**部分Java程序設(shè)計(jì)第1章Java入門3

1.1Java簡(jiǎn)介3

1.1.1Java的由來(lái)3

1.1.2Java的特點(diǎn)4

1.2Java平臺(tái)5

1.2.1Java平臺(tái)的構(gòu)成5

1.2.2Java平臺(tái)的版本6

1.2.3JRE和JDK7

1.2.4JDK的下載與安裝8

1.2.5環(huán)境變量的配置9

1.3Java程序的開發(fā)流程10

1.3.1Java程序的種類10

1.3.2Java程序的開發(fā)流程10

1.4小試身手11

1.5Java API文檔的使用12

1.6Java Doc文檔13

1.6.1語(yǔ)法13

1.6.2標(biāo)簽簡(jiǎn)介14

1.6.3生成Java Doc文檔15

本章小結(jié)16

習(xí)題117第2章Java基本語(yǔ)法18

2.1原始類型18

2.1.1整數(shù)類型19

2.1.2實(shí)數(shù)類型21

2.1.3字符類型21

2.1.4布爾類型22

2.1.5強(qiáng)制類型轉(zhuǎn)換222.2引用類型23

2.3String23

2.4聲明變量23

2.4.1變量的賦值24

2.4.2變量的默認(rèn)值24

2.4.3常量24

2.4.4變量作用范圍24

2.5命名25

2.6運(yùn)算符與表達(dá)式26

2.6.1算術(shù)運(yùn)算符26

2.6.2關(guān)系運(yùn)算符27

2.6.3邏輯運(yùn)算符27

2.6.4位運(yùn)算符29

2.6.5賦值運(yùn)算符31

2.6.6其他運(yùn)算符31

2.7數(shù)組32

2.7.1一維數(shù)組32

2.7.2多維數(shù)組33

本章小結(jié)35

習(xí)題235第3章流程控制36

3.1分支語(yǔ)句36

3.1.1if…else語(yǔ)句36

3.1.2switch語(yǔ)句38

3.2循環(huán)語(yǔ)句40

3.2.1while語(yǔ)句40

3.2.2do…while語(yǔ)句41

3.2.3for語(yǔ)句42

3.2.4for…each語(yǔ)句43

3.2.5嵌套循環(huán)44

3.2.6循環(huán)語(yǔ)句對(duì)比45

3.3跳轉(zhuǎn)語(yǔ)句45

3.3.1break語(yǔ)句45

3.3.2continue語(yǔ)句47

3.3.3return語(yǔ)句48

本章小結(jié)49

習(xí)題349第4章面向?qū)ο缶幊?1

4.1面向?qū)ο缶幊谈攀?1

4.2類的定義52

4.2.1類的基本結(jié)構(gòu)52

4.2.2成員變量和局部變量54

4.2.3成員方法55

4.2.4Overloading62

4.2.5構(gòu)造方法63

4.2.6this65

4.3對(duì)象66

4.3.1對(duì)象的創(chuàng)建66

4.3.2對(duì)象的使用68

4.3.3對(duì)象的清除*68

4.4static69

4.4.1類變量69

4.4.2類方法71

4.4.3靜態(tài)語(yǔ)句塊71

4.5包*72

4.5.1包的定義73

4.5.2編譯和運(yùn)行包中的類73

4.5.3import語(yǔ)句75

4.6訪問(wèn)權(quán)限修飾符76

4.6.1private76

4.6.2friendly77

4.6.3protected77

4.6.4public78

4.7常用類78

4.7.1Object類79

4.7.2String類與StringBuffer類80

4.7.3數(shù)值包裝類83

4.7.4Math類85

4.7.5Random類*86

4.7.6處理日期的類*87

4.7.7Arrays類89

本章小結(jié)91

習(xí)題491第5章繼承93

5.1繼承的語(yǔ)法93

5.2成員變量的隱藏和方法的覆蓋94

5.3super95

5.4final96

5.5多態(tài)97

5.6繼承與組合99

5.7初始化順序*102

本章小結(jié)105

習(xí)題5105第6章抽象類、接口和內(nèi)部類106

6.1抽象類106

6.1.1聲明抽象類106

6.1.2繼承抽象類106

6.1.3抽象類的應(yīng)用106

6.2接口109

6.2.1聲明接口109

6.2.2實(shí)現(xiàn)接口110

6.2.3default方法和static方法110

6.3內(nèi)部類111

6.3.1什么是內(nèi)部類111

6.3.2匿名內(nèi)部類112

6.4Lambda表達(dá)式114

6.4.1定義114

6.4.2常見(jiàn)函數(shù)式接口116

6.4.3方法引用116

本章小結(jié)117

習(xí)題6117第7章枚舉*118

本章小結(jié)120

習(xí)題7120第8章異常121

8.1異常121

8.1.1異常信息121

8.1.2異常的處理122

8.1.3異常的類型124

8.2finally124

8.3throws125

8.4自定義異常*125

8.5異常進(jìn)一步的處理126

8.5.1在何處處理異常126

8.5.2同時(shí)處理父、子類異常127

8.5.3同時(shí)處理多個(gè)異常128

本章小結(jié)129

習(xí)題8129第9章輸入輸出130

9.1File130

9.1.1創(chuàng)建一個(gè)File對(duì)象130

9.1.2訪問(wèn)File對(duì)象的方法131

9.1.3列出目錄下的文件132

9.1.4列出目錄下滿足條件的文件132

9.1.5Path135

9.2輸入流136

9.2.1字節(jié)輸入流136

9.2.2try…with…resources語(yǔ)句141

9.2.3字符輸入流141

9.2.4Scanner145

9.2.5從控制臺(tái)輸入147

9.3輸出流150

9.3.1字節(jié)輸出流151

9.3.2字符輸出流154

9.3.3格式化輸出156

9.4數(shù)字字節(jié)輸入輸出流157

9.4.1DataInputStream和DataOutputStream157

9.4.2RandomAccessFile*158

9.5對(duì)象輸入輸出流*160

9.6壓縮、解壓縮流*161

9.6.1壓縮162

9.6.2解壓縮163

9.7讀寫Excel文件*164

9.7.1讀取已有的工作簿164

9.7.2生成新的工作簿166

9.7.3修改已有的工作簿168

9.7.4應(yīng)用168

9.8Files工具類171

本章小結(jié)172

習(xí)題9172第10章圖形用戶界面174

10.1AWT包與Swing包174

10.1.1輔助類176

10.1.2組件類176

10.1.3容器類176

10.2版面布局管理器180

10.2.1FlowLayout181

10.2.2BorderLayout182

10.2.3GridLayout184

10.2.4CardLayout*185

10.2.5無(wú)布局管理器186

10.3事件處理187

10.3.1事件處理機(jī)制187

10.3.2事件處理示例190

10.3.3事件適配器196

10.4Swing常用組件198

10.4.1標(biāo)簽198

10.4.2按鈕199

10.4.3文本框203

10.4.4文本區(qū)205

10.4.5列表*205

10.4.6組合框*206

10.4.7對(duì)話框*211

10.4.8計(jì)時(shí)器*215

10.4.9菜單組件*215

10.5Swing組件應(yīng)用217

10.5.1圖片瀏覽器217

10.5.2文本編輯器221

本章小結(jié)226

習(xí)題10226第11章JavaFX227

11.1JavaFX概述227

11.1.1JavaFX的發(fā)展227

11.1.2JavaFX架構(gòu)圖227

11.2JavaFX程序228

11.2.1場(chǎng)景Scene228

11.2.2JavaFX應(yīng)用程序的生命周期228

11.2.3JavaFX應(yīng)用程序228

11.3Java FX布局229

11.3.1FlowPane229

11.3.2BorderPane230

11.3.3HBox232

11.3.4VBox233

11.3.5GridPane235

11.3.6StackPane236

11.4事件處理237

11.4.1事件238

11.4.2事件分發(fā)流程239

11.4.3事件處理240

11.5JavaFX UI組件247

11.5.1標(biāo)簽247

11.5.2按鈕247

11.5.3文本框249

11.5.4文本區(qū)249

11.5.5菜單組件251

11.5.6文件選擇器253

11.6在UI控件上使用CSS257

11.6.1創(chuàng)建樣式257

11.6.2JavaFX CSS選擇器257

11.6.3美化UI控件258

11.6.4使用setStyle()方法設(shè)置樣式260

本章小結(jié)260

習(xí)題11260第12章JDBC261

12.1驅(qū)動(dòng)程序下載262

12.2創(chuàng)建到數(shù)據(jù)庫(kù)的連接262

12.3使用Statement執(zhí)行SQL語(yǔ)句263

12.3.1executeUpdate263

12.3.2executeQuery266

12.4使用PreparedStatement執(zhí)行SQL語(yǔ)句267

12.4.1executeUpdate267

12.4.2executeQuery269

12.5事務(wù)*269

12.6得到ResultSet中的記錄數(shù)*272

12.6.1執(zhí)行另一條SQL語(yǔ)句272

12.6.2操作游標(biāo)272

12.7驗(yàn)證登錄*273

本章小結(jié)274

習(xí)題12274第13章集合類*275

13.1用Java實(shí)現(xiàn)一個(gè)鏈?zhǔn)蕉褩?76

13.2List277

13.2.1自動(dòng)包裝和解包279

13.2.2Stack280

13.3Set281

13.3.1SortedSet282

13.3.2equals()、hashCode()和Comparable283

13.3.3Comparator285

13.4Map286

13.4.1SortedMap289

13.4.2Properties289

13.5Stream292

13.5.1什么是Stream292

13.5.2常用方法292

本章小結(jié)294

習(xí)題13294第14章Java相關(guān)框架*295

14.1Spring295

14.1.1DI295

14.1.2JDBC297

14.1.3事務(wù)支持302

14.2Hibernate305

本章小結(jié)309

習(xí)題14310第二部分實(shí)驗(yàn)實(shí)驗(yàn)ⅠJDK安裝、配置及Java程序的編譯和運(yùn)行313實(shí)驗(yàn)ⅡJava基本語(yǔ)法313實(shí)驗(yàn)ⅢJava的類繼承機(jī)制、接口314實(shí)驗(yàn)ⅣJava的輸入機(jī)制315實(shí)驗(yàn)ⅤJava的輸出機(jī)制315實(shí)驗(yàn)Ⅵ綜合性程序設(shè)計(jì)——簡(jiǎn)單學(xué)生信息管理系統(tǒng)(序列化版)*316實(shí)驗(yàn)Ⅶ綜合性程序設(shè)計(jì)——簡(jiǎn)單學(xué)生信息管理系統(tǒng)(GUI版)317實(shí)驗(yàn)Ⅷ綜合性程序設(shè)計(jì)——簡(jiǎn)單學(xué)生信息管理系統(tǒng)(數(shù)據(jù)庫(kù)版)318實(shí)驗(yàn)Ⅸ綜合性程序設(shè)計(jì)——簡(jiǎn)單學(xué)生信息管理系統(tǒng)(集合版)*319附錄附錄A進(jìn)行輸入和輸出323附錄BSQL語(yǔ)句簡(jiǎn)單介紹325

B.1Java中數(shù)據(jù)類型和SQL類型的對(duì)應(yīng)關(guān)系325

B.2SQL中對(duì)表的操作325

B.3SQL中對(duì)表中記錄的操作325附錄CHsqldb使用指南328

C.1啟動(dòng)Hsqldb數(shù)據(jù)庫(kù)服務(wù)器328

C.2用圖形界面管理Hsqldb數(shù)據(jù)庫(kù)服務(wù)器328

C.3編譯、運(yùn)行JDBC程序329

C.4幾個(gè)SQL語(yǔ)句的例子329

C.5幾個(gè)JDBC的例子330附錄D連接SQL Server 2016 Express數(shù)據(jù)庫(kù)341附錄EEclipse使用指南343

E.1設(shè)置Workspace目錄343

E.2建立工程344

E.3編輯、編譯、運(yùn)行Java類345

E.4調(diào)試349

E.5在工程中使用第三方類庫(kù)350

E.6使用技巧352附錄F使用Ant354

F.1下載、設(shè)置354

F.2定義property、target355

F.3編譯、運(yùn)行Java程序356

F.4打包Java程序357

F.5啟動(dòng)、管理、停止Hsqldb數(shù)據(jù)庫(kù)服務(wù)器357

F.6備份358

F.7在Eclipse使用Ant358附錄G授課計(jì)劃和方法359參考文獻(xiàn)364


展開全部

Java 8程序設(shè)計(jì)及實(shí)驗(yàn) 節(jié)選

第5章繼承 繼承是面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP)的三大特征之一,描述了類不同抽象級(jí)別之間的關(guān)系: “is a”的關(guān)系,即“特殊與一般”的關(guān)系。換句話說(shuō),一般(父類)是特殊(子類)更高級(jí)別的抽象。子類可以繼承父類所有的非private類型的屬性和方法,也可以具有自己獨(dú)有的屬性和方法。通過(guò)類的繼承關(guān)系,使公共的特性能夠共享,提高了軟件的重用性。但在Java中只允許單繼承。 5.1繼承的語(yǔ)法 在Java中描述兩個(gè)類之間的繼承關(guān)系時(shí),使用關(guān)鍵字extends,格式如下: class SubClass extends SuperClass{ … }其中SubClass為子類,SuperClass為父類(或超類)。 在第4章中定義了Person類: class Person{ private String name; private char sex='M'; Person(String name){ this.name=name; } Person(String name,char sex){ this.name=name; this.sex=sex; } public void show(){ String str="下面展示姓名和性別"; System.out.println(str); System.out.println("姓名: "+name+" 性別: "+sex); } }現(xiàn)在要定義一個(gè)學(xué)生類(Stu),由于“學(xué)生是人”,所以學(xué)生類和Person類之間是“is a”的關(guān)系,即“繼承”關(guān)系,那么就可以這樣來(lái)定義Stu類: 例5.1Stu類的定義(ch05\\Stu.java)。class Stu extends Person { long id; private String name;//僅為演示用,實(shí)際編程中無(wú)須聲明該變量 private char sex='M'; public Stu (String name, long id, char sex){ super(name,sex); this.id=id; } }前面講過(guò)子類可以繼承父類的非private類型的屬性和方法,在這個(gè)例子中可以看到: 雖然在Person類中定義了name、sex屬性,但它們是private類型的數(shù)據(jù),如果Stu也想擁有這些屬性的話,就必須重新定義,不能繼承于父類,也可以定義這些屬性為protected;但show方法,在Person類中是以public的身份定義的,所以Stu類雖然沒(méi)有顯式地定義該方法,但卻擁有該方法,因?yàn)樗^承了父類的show()方法,編寫測(cè)試類如下: class UseStu{ public static void main(String\[\] args){ Stu s=new Stu("王強(qiáng)",20094140213L,'M'); s.show(); } }運(yùn)行結(jié)果: 下面展示姓名和性別 姓名: 王強(qiáng) 性別: M另外,還可以在子類中定義子類獨(dú)有的屬性和方法,例如本例中的id。 在這里需要說(shuō)明以下幾點(diǎn): (1) 父類的構(gòu)造函數(shù)不能被子類繼承。 (2) 子類不能繼承或訪問(wèn)父類中的private屬性和方法。 (3) 父類中的friendly(包訪問(wèn)權(quán)限)的屬性和方法只有在父類和子類在同一包中時(shí),才能被子類繼承和訪問(wèn)。 (4) 父類中由protected或public修飾的屬性和方法,都可以被子類繼承訪問(wèn)(無(wú)論子類是否與父類在同一包中)。 5.2成員變量的隱藏和方法的覆蓋 當(dāng)子類和父類中定義的成員變量的名字相同時(shí),子類可以隱藏父類的成員變量。同樣,子類也可以通過(guò)方法重寫(或稱為覆蓋,Overriding)來(lái)隱藏從父類繼承的方法。方法覆蓋是指子類中定義的方法的頭部(方法的名字、返回類型、參數(shù)個(gè)數(shù)和類型)與父類的方法完全相同,而方法體可以不同。但在進(jìn)行方法覆蓋時(shí),請(qǐng)注意: 在覆蓋時(shí)訪問(wèn)權(quán)限只能放大或相同,不能縮。桓采w方法不能拋出新的異常(關(guān)于異常,將在第8章介紹)。 例5.2成員變量的隱藏和方法的覆蓋(ch05\\OverriddingTest.java)。class Father{ String s="Father"; int i=1; public void f(){ System.out.println("Father s="+s); System.out.println("Father i="+i); } } class Child extends Father{ String s="Child";//隱藏了父類的成員變量s public void f(){//覆蓋了父類的f()方法,但訪問(wèn)權(quán)限只能是public System.out.println("Child s="+s); System.out.println("Child i="+i); } } class OverriddingTest{ public static void main(String\[\] args){ Father f=new Father(); Childc=new Child(); f.f(); c.f(); } }運(yùn)行結(jié)果:Father s=Father Father i=1 Child s=Child Child i=1方法覆蓋與方法重載的區(qū)別如下: 方法覆蓋發(fā)生在父類和子類之間,即子類重寫了父類的某個(gè)方法,子類中定義的方法的頭部(方法的名字、返回類型、參數(shù)個(gè)數(shù)和類型)與父類的方法完全相同,而方法體可以不同;重載是在同一類中出現(xiàn)的現(xiàn)象,是指一個(gè)類中可以有多個(gè)方法具有相同的名字,但這些方法的參數(shù)不同。 5.3super 如果想在子類中使用父類的非private類型的變量和方法(特別是被隱藏變量和方法),可以使用super關(guān)鍵字。例如,要在例5.2中訪問(wèn)父類的變量s,就要使用super.s,請(qǐng)?jiān)囼?yàn)在子類Child的f()方法中加入如下的代碼,查看輸出結(jié)果。System.out.println("Father s="+super.s); super.f();如果要在子類的構(gòu)造方法中訪問(wèn)父類的構(gòu)造方法,也要使用super關(guān)鍵字,例如例5.1中的super(name,sex);但要注意,該調(diào)用語(yǔ)句必須出現(xiàn)在子類構(gòu)造方法非注釋語(yǔ)句的**行。 注意: 如果在子類的構(gòu)造方法中,沒(méi)有使用super調(diào)用父類的構(gòu)造方法,編譯器將自動(dòng)添加: super();即調(diào)用父類不帶參數(shù)的構(gòu)造方法,此時(shí)就應(yīng)保證父類中有不帶參數(shù)的構(gòu)造方法(當(dāng)父類未定義任何構(gòu)造方法時(shí),系統(tǒng)會(huì)自動(dòng)合成;一旦父類定義了一個(gè)或多個(gè)構(gòu)造方法,系統(tǒng)將不再提供默認(rèn)的構(gòu)造方法,必須手工定義),否則就會(huì)產(chǎn)生錯(cuò)誤。如例5.1中,由于父類Person未定義無(wú)參的構(gòu)造方法,所以必須用super(name,sex)顯式地調(diào)用父類中某個(gè)已定義的構(gòu)造方法。 5.4final final關(guān)鍵字可以用來(lái)修飾類、方法、變量(包括成員變量和局部變量及方法中的參數(shù))。 (1) 當(dāng)final修飾類時(shí),意味著該類不能被繼承,即該類不能有String類等子類。 例5.3final修飾類(ch05\\FinClass .java)。final class FinClass{//*終類 int i; FinClass(){ System.out.println("This is a final class."); } } class SubFinClass extends FinClass{//錯(cuò)誤,不能從*終類繼承 }編譯時(shí)會(huì)出現(xiàn)下面的出錯(cuò)信息: FinClass.java:7: 無(wú)法從*終 FinClass 進(jìn)行繼承 class SubFinClass extends FinClass{(2) 當(dāng)final修飾方法時(shí),代表該方法不能被重寫。 (3) 當(dāng)final修飾成員變量時(shí),該變量可以理解為常量,必須賦以初值(可在聲明時(shí)賦值,或在類的構(gòu)造方法中賦值),并且該變量的值不能再改變;當(dāng)final修飾局部變量時(shí),該局部變量只能被賦一次值;當(dāng)final修飾方法中的參數(shù)時(shí),該參數(shù)的值不能被改變。 例5.4final修飾方法和變量(ch05\\UseFinal.java)。class UseFinal{ final int i=1; final int j;//*終變量若不在聲明時(shí)賦值,就要在其所屬的類的構(gòu)造方法中賦值 int k; UseFinal(){ j=2; } final void f(){//*終方法,在子類中不能被覆蓋 System.out.println("This is a final method."); } void g(){ //i++;錯(cuò)誤,不能重新指定*終變量的值 //j++;錯(cuò)誤,不能重新指定*終變量的值 k++; final String s="Hello "; //s="Hi";錯(cuò)誤,當(dāng)final修飾局部變量時(shí),該變量只能被賦一次值 final String str; str="Java"; System.out.println(s+str+"i="+i+"j="+j+"k="+k); } void h(final int a){ //a++;錯(cuò)誤,不能指定*終參數(shù) System.out.println("a="+a); } public static void main(String\[\] args){ UseFinal uf=new UseFinal(); uf.f(); uf.g();

商品評(píng)論(0條)
暫無(wú)評(píng)論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網(wǎng)
在線客服