新概念Java程式設計大學教程

新概念Java程式設計大學教程

新概念Java程式設計大學教程》是2013年8清華大學出版社出版的圖書,作者是張基溫。

基本介紹

  • 書名:新概念Java程式設計大學教程
  • 作者:張基溫
  • ISBN:9787302329169
  • 定價:49元
  • 出版社:清華大學出版社
  • 出版時間:2013年8月8日
  • 裝幀:平裝
圖書簡介,圖書目錄,

圖書簡介

本書結構新穎、概念清晰、面向套用,滲透了作者提出的“以思路訓練為主線”的程式設計教育理念;書中例題豐富、習題題型多、覆蓋面寬,為讀者建立了一個全新概念的立體學習環境,並引導學生進行探索式學習。全書共分為4篇: 第1篇為面向對象啟步,用5個例子引導讀者逐步建立面向對象的思維方式和基本的設計能力,將Java基本語法貫穿其中;第2篇為面向抽象編程,主要介紹抽象類、接口和設計模式;第3篇為基於API開發,包括多執行緒編程、圖形用戶界面、網路編程、JavaBean、持久化技術;第4篇為面向Web開發,介紹Servlet、JSP、Struts和Spring,並引出軟體架構的概念。通過這4篇,可以達到夯實基礎、面向套用、領略全貌的教學效果。
本書適合各種層次的計算機及相關專業作為程式設計教學的教材,也適合培訓和自學。

圖書目錄

第1篇Java面向對象啟步第1單元職員類3
1.1從對象到類: 類的定義3
1.1.1對象建模3
1.1.2類: 對象的抽象4
1.1.3信息隱蔽與類成員的訪問控制6
1.1.4成員變數與數據類型6
1.1.5成員方法: 定義與調用8
1.1.6Java關鍵字與標識符9
1.2從類到對象: 對象的聲明、建立與初始化10
1.2.1創建對象的過程11
1.2.2構造方法12
1.2.3對象成員的訪問與this13
1.3包13
1.3.1包的作用與結構13
1.3.2包的聲明14
1.3.3包或類的導入14
1.4流與Java輸入輸出初步15
1.4.1流的概念15
1.4.2System類與標準I/O流對象15
1.4.3使用PrintStream類的println()和print()方法輸出16
1.4.4使用Scanner類進行鍵盤輸入16
1.5源程式檔案與Java平台17
1.5.1主方法17
1.5.2源程式檔案17
1.5.3Java程式的編譯與解釋19
1.6Java開發運行環境20
1.6.1JDK20
1.6.2Eclipse開發環境22
習題127第2單元計算器類32
2.1計算器類的定義32
2.1.1問題建模32
2.1.2Calculator類的Java描述32
2.1.3運算符及其運算規則33
2.1.4程式的可靠性: 程式測試和調試33
2.1.5整數除的風險與對策35
2.2異常處理——Calculator類改進之一36
2.2.1Java的隱含異常處理機制37
2.2.2Java程式中的顯式異常處理37
2.2.3進行異常處理的4種方式38
2.3用選擇結構確定計算類型——Calculator類改進之二42
2.3.1用ifelse實現方法calculate()42
2.3.2關係操作符44
2.3.3用switch結構實現計算方法calculate()44
2.4判斷結構的測試46
2.4.1邏輯覆蓋測試及其策略46
2.4.2本例的測試用例設計50
2.5使用static成員變數存儲計算結果——Calculator類改進之三50
2.5.1static變數的性質50
2.5.2帶有static成員的Calculator類定義51
習題252第3單元素數序列60
3.1問題描述與對象建模60
3.1.1對象建模60
3.1.2getPrimeSeries()方法算法分析60
3.1.3isPrime()方法的設計與靜態方法的使用61
3.2變數的訪問屬性63
3.2.1變數的作用域63
3.2.2靜態變數、實例變數與方法變數的存儲與生命期64
3.2.3對象的生命期與Java垃圾回收64
3.3Java的重複控制結構65
3.3.1while結構和dowhile結構65
3.3.2for結構66
3.3.3continue語句和break語句67
3.3.4PrimeSeries類的定義代碼68
3.4重複控制結構的測試69
3.4.1等價分類法與邊值分析法69
3.4.2循環結構的測試用例設計70
3.4.3本例測試數據的設計70
3.5知識連結71
3.5.1Java操作符的優先權別與結合性71
3.5.2表達式及其求值規則72
習題372第4單元階乘計算器80
4.1階乘計算器類建模80
4.2用疊代方法實現的階乘計算器80
4.2.1用疊代法實現getFactorial()方法80
4.2.2考慮特殊情況的getFactorial()方法算法81
4.2.3構造方法定義82
4.2.4測試用例設計82
4.2.5主方法設計83
4.2.6完整的階乘類定義83
4.3用遞歸方法實現的階乘計算器84
4.3.1問題的提出84
4.3.2遞歸過程85
4.4Hanoi遊戲機86
4.4.1問題描述86
4.4.2問題建模86
4.4.3成員方法hanoiPlay()的實現86
4.4.4HanoiGame類的定義87
4.4.5遞歸過程分析87
4.5知識連結88
4.5.1直接數的表示形式88
4.5.2BigDecimal和BigInteger90
4.5.3基本類型的包裝91
4.5.4類型轉換92
4.5.5String類95
習題496第5單元撲克遊戲99
5.1數組與撲克牌的表示和存儲99
5.1.1數組的概念99
5.1.2數組引用變數的聲明和創建99
5.1.3數組的顯式初始化100
5.1.4數組元素的訪問101
5.1.5ForEach循環101
5.2隨機數與撲克遊戲洗牌102
5.2.1隨機數的概念102
5.2.2Random類102
5.2.3一次洗牌算法103
5.2.4洗牌方法的測試104
5.2.5n次洗牌算法105
5.2.6Math類107
5.3撲克整理與數組排序108
5.3.1冒泡排序算法108
5.3.2基於冒泡排序算法的cardSort()方法109
5.4撲克發牌與二維數組109
5.4.1基本的發牌算法109
5.4.2用二維數組表示玩家手中的牌110
5.4.3使用二維數組的發牌方法111
5.5數組實用類: java.util.Arrays113
5.5.1數組元素檢索方法113
5.5.2數組比較方法113
5.5.3數組元素填充方法114
5.5.4數組元素升序排序方法114
5.6String數組與命令行參數115
5.6.1引用數組和String數組115
5.6.2命令行參數115
5.7知識連結: Vector類115
習題5118第6單元學生研究生122
6.1學生類研究生類層次結構122
6.1.1由Student類派生GradStudent類122
6.1.2關鍵字this和super 124
6.1.3Java繼承規則 126
6.2訪問許可權控制126
6.2.1類成員的訪問許可權控制級別126
6.2.2類的訪問許可權控制級別126
6.2.3private構造方法127
6.3類層次中的類型轉換127
6.3.1類層次中的賦值兼容規則127
6.3.2里氏代換原則128
6.3.3類型轉換與類型測試128
6.4方法覆蓋與隱藏129
6.4.1派生類實例方法覆蓋基類中原型相同的實例方法129
6.4.2派生類靜態方法隱藏基類中原型相同的靜態方法130
6.4.3JVM的綁定機制131
6.5知識連結132
6.5.1Object類132
6.5.2Java異常類和錯誤類的繼承體系135
習題6137
第2篇Java面向抽象編程第7單元抽象類與接口151
7.1圓、三角形和矩形151
7.1.1三個獨立的類: Circle、Rectangle和Triangle151
7.1.2final關鍵字153
7.1.3Java構件修飾符154
7.1.4枚舉154
7.2抽象類155
7.2.1由具體類抽象出抽象類155
7.2.2抽象類的特徵160
7.3接口160
7.3.1接口及其定義160
7.3.2接口的實現161
7.3.3關於接口的進一步討論163
習題7164第8單元面向對象程式設計的基本原則172
8.1從可重用說起: 合成/聚合優先原則173
8.1.1繼承重用的特點174
8.1.2合成/聚合重用及其特點174
8.1.3合成/聚合優先原則174
8.2從可維護性說起: 開閉原則176
8.2.1軟體的可維護性和可擴展性176
8.2.2開閉原則177
8.3面向抽象編程177
8.3.1具體與抽象177
8.3.2依賴倒轉原則178
8.3.3接口與面向接口的編程178
8.3.4面向接口編程舉例179
8.4單一職責原則183
8.4.1對象的職責183
8.4.2單一職責原則的概念183
8.4.3接口分離原則184
8.5不要和陌生人說話188
8.5.1狹義迪米特法則189
8.5.2廣義迪米特法則189
習題8190第9單元設計模式舉例193
9.1圖形對象的創建問題193
9.1.1簡單工廠模式194
9.1.2工廠方法模式199
9.1.3其他創建性設計模式203
9.2商場行銷問題204
9.2.1策略模式的引入205
9.2.2策略模式與簡單工廠模式結合210
9.2.3其他行為型設計模式213
9.3訊息傳送問題218
9.3.1不用模式的解決方案218
9.3.2採用橋接模式的解決方案222
9.3.3其他結構型設計模式225
習題9229第10單元反射、配置檔案與程式打包發布231
10.1反射231
10.1.1類檔案與類載入231
10.1.2Class對象232
10.1.3反射API235
10.1.4使用反射的簡單工廠模式237
10.2Java程式的屬性配置檔案238
10.2.1.properties配置檔案和XML配置檔案238
10.2.2Java應用程式讀取配置檔案239
10.2.3使用反射+配置檔案的簡單工廠模式242
10.3Java程式的打包與發布243
10.3.1Java程式打包與JAR檔案包243
10.3.2manifest檔案244
10.3.3創建可執行JAR包246
習題10250
第3篇基於API的Java開發第11單元Java圖形用戶界面技術255
11.1圖形用戶界面的基本知識255
11.1.1組件與容器255
11.1.2布局管理器與坐標系256
11.1.3事件與事件監聽器258
11.1.4GUI程式開發的基本過程259
11.2AWT及其套用259
11.2.1AWT及其API259
11.2.2抽象類Component與AWT組件259
11.2.3抽象類Container與AWT容器262
11.2.4AWT布局管理器264
11.3事件處理266
11.3.1AWT事件類266
11.3.2事件監聽接口266
11.3.3組件註冊事件監聽器269
11.3.4事件適配器271
11.3.5內嵌類、匿名類及其在事件處理中的套用271
11.4Swing及其套用275
11.4.1Swing的特點275
11.4.2Swing組件276
11.4.3Swing布局管理器 281
11.4.4Swing事件處理284
習題11286第12單元Java多執行緒291
12.1Java多執行緒概述291
12.1.1進程與執行緒291
12.1.2執行緒的狀態292
12.1.3Java多執行緒機制293
12.1.4Thread類293
12.2執行緒狀態控制295
12.2.1創建執行緒295
12.2.2執行緒調度 298
12.2.3執行緒暫停 299
12.3多執行緒管理299
12.3.1多執行緒同步共享資源299
12.3.2執行緒死鎖問題301
12.3.3執行緒組301
習題12302第13單元Java網路程式設計307
13.1Java Socket程式設計基礎307
13.1.1IP位址與InetAddress類307
13.1.2連線埠號與套接口地址309
13.1.3客戶端/伺服器工作模式311
13.2基於TCP的Java Socket程式設計311
13.2.1Socket類和ServerSocket類311
13.2.2TCP Socket通信過程313
13.2.3TCP Socket程式設計314
13.3基於UDP的Java Socket程式設計318
13.3.1DatagramPacket類和DatagramSocket類318
13.3.2DatagramSocket類319
13.3.3UDP Socket程式設計321
13.4基於URL的Java網路程式設計324
13.4.1URI、URL和URN324
13.4.2URL類325
13.4.3URLConnection類326
習題13326第14單元JavaBean328
14.1JavaBean概述328
14.1.1軟體組件與JavaBean328
14.1.2JavaBean結構328
14.1.3JavaBean規範331
14.2開發JavaBean331
14.2.1JavaBean的API331
14.2.2JavaBean開發工具332
習題14334第15單元Java數據持久化技術336
15.1資料庫與數據持久化技術336
15.1.1資料庫與SQL336
15.1.2數據持久層的概念339
15.2JDBC原理340
15.2.1JDBC體系結構340
15.2.2JDBC驅動程式341
15.2.3用JDBC URL命名數據源342
15.3JDBC工作流程344
15.3.1載入資料庫驅動程式344
15.3.2創建一個數據源連線347
15.3.3創建SQL工作空間349
15.3.4傳送SQL語句,得到結果集349
15.3.5處理結果集351
15.3.6關閉資料庫連線352
15.3.7實例352
15.4連線資料庫的配置檔案354
15.4.1從配置檔案讀取連線資料庫字元串的程式結構354
15.4.2主流資料庫配置檔案示例357
15.5事務處理358
15.5.1事務的概念358
15.5.2JDBC中的事務處理359
15.5.3實例360
15.6持久層架構Hibernate362
15.6.1ORM362
15.6.2Hibernate的基本原理362
15.6.3Hibernate工作流程364
15.6.4Hibernate開發流程364
15.6.5Hibernate開發環境365
習題15365
第4篇面向Web開發第16單元Java Web概述369
16.1Web支持技術369
16.1.1超文本與超媒體369
16.1.2HTML370
16.1.3XML371
16.1.4HTTP377
16.2Java Web技術演進381
16.2.1Java Applets——客戶端Java動態Web技術381
16.2.2從CGI到Java Servlet再到JSP383
16.2.3Java EE385
習題16386第17單元Java Servlet390
17.1Servlet環境390
17.1.1安裝JSDK390
17.1.2JSDK的配置390
17.1.3Servlet容器與Tomcat伺服器391
17.2Servlet語法393
17.2.1Servlet類定義393
17.2.2Servlet對象生命周期394
17.2.3HttpServlet類的doXxx()方法395
17.3Servlet運行396
17.3.1Servlet類位元組碼檔案的生成和保存396
17.3.2Servlet的部署和運行397
習題17398第18單元JSP技術404
18.1JSP概要404
18.1.1JSP頁面結構404
18.1.2JSP運行機制405
18.1.3JSP環境引擎 405
18.1.4JSP注釋元素407
18.1.5JSP頁面元素407
18.2JSP腳本元素408
18.2.1JSP聲明408
18.2.2JSP表達式408
18.2.3JSP代碼段408
18.3JSP指令元素409
18.3.1include指令409
18.3.2page指令409
18.4JSP動作元素410
18.4.1頁面插入動作include411
18.4.2頁面切換動作forward412
18.5JSP內置對象413
18.5.1out對象414
18.5.2request對象414
18.5.3response對象415
18.5.4session對象419
18.5.5application對象421
18.6JSP與JavaBean互動425
18.6.1JSP與JavaBean互動的動作元素425
18.6.2JSP與JavaBean互動實例427
習題18429第19單元MVC模式434
19.1MVC概述434
19.1.1MVC的概念434
19.1.2MVC組件與工作原理434
19.1.3MVC的優勢與套用435
19.2JSP+Servlet+JavaBean實現的MVC435
19.2.1JSP+Servlet+JavaBean 實現的MVC模式結構435
19.2.2JSP+Servlet+JavaBean 實現的MVC實例436
習題19440第20單元Java Web架構簡介442
20.1軟體架構概述442
20.1.1架構的概念442
20.1.2軟體架構及其目標443
20.1.3Java EE套用分層模型443
20.2經典MVC支柱框架——Struts444
20.2.1Struts的構成444
20.2.2Struts的工作過程446
20.2.3Struts套用446
20.2.4Struts與Hibernate整合446
20.2.5Struts 2447
20.3基於控制反轉和面向切面的輕量級框架——Spring448
20.3.1基本概念448
20.3.2Spring的組件架構451
20.3.3Spring的下載和安裝453
20.3.4Spring套用實例453
20.3.5SSH整合455
20.4Java Web用戶界面標準——JSF框架455
20.4.1JSF的特點455
20.4.2JSF的工作流程456
20.4.3JSF應用程式結構456
習題20457附錄AJava運行時異常類和錯誤類458
A.1RuntimeException類458
A.2Error類459參考文獻462

相關詞條

熱門詞條

聯絡我們