新概念Java程序設計大學教程-(第3版) 版權(quán)信息
- ISBN:9787302490579
- 條形碼:9787302490579 ; 978-7-302-49057-9
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
新概念Java程序設計大學教程-(第3版) 本書特色
本書結(jié)構(gòu)新穎、概念清晰、面向應用,體現(xiàn)了作者提出的“程序設計=計算思維 語言藝術(shù) 工程方法”的教學思想。全書共分為4篇: 第1篇為面向?qū)ο髥⒉剑?個例子引導讀者逐步建立面向?qū)ο蟮乃季S方式和培養(yǎng)基本的設計能力,將Java基本語法貫穿其中;第2篇為面向類的程序設計,在介紹了抽象類和接口這兩個基本機制后,用一個故事引入了面向?qū)ο蟪绦蛟O計原則,接著用設計模式舉例加深對面向?qū)ο蠼Y(jié)構(gòu)優(yōu)化必要性的認識,為進一步學習設計模式打下基礎(chǔ),*后介紹了反射技術(shù);第3篇為基于API的開發(fā),包括網(wǎng)絡編程、JDBC、JavaBean、程序文檔化、程序配置和打包與發(fā)布;第4篇為Java高級技術(shù),包括泛型編程、多線程技術(shù)、數(shù)據(jù)結(jié)構(gòu)和接口。通過這4篇可以達到夯實基礎(chǔ)、面向應用、領(lǐng)略全貌的教學效果,并適應不同層次的教學需求。
本書采用問題體系,具有零起點、快起動、立意新、重內(nèi)涵的特點,可作為高等學校有關(guān)專業(yè)的程序設計課程的教材,也適合培訓和自學。
新概念Java程序設計大學教程-(第3版) 內(nèi)容簡介
? 先入為主的面向?qū)ο笏季S訓練? 設計模式貫穿全書? 內(nèi)容詳實有用,緊扣核心技術(shù),貼近工程應用 ? 結(jié)構(gòu)科學合理,講解準確透徹,習題豐富全面? 起點低,境界高,適合不同層次教學
新概念Java程序設計大學教程-(第3版) 目錄
目錄
第1篇面向?qū)ο蟪绦蛟O計啟步
第1單元職員類3
1.1從現(xiàn)實世界中的對象到類模型3
1.1.1程序=模型 表現(xiàn)3
1.1.2現(xiàn)實世界中的對象分析4
1.1.3職員類的UML描述5
1.1.4職員類的Java語言描述5
1.1.5職員類的Java代碼說明6
1.2類的應用與測試8
1.2.1對象引用及其創(chuàng)建8
1.2.2構(gòu)造器與this()9
1.2.3對象成員的訪問與this11
1.2.4主方法與主類12
1.2.5類文件與包14
1.3Java程序開發(fā)16
1.3.1Java編譯器與Java虛擬機16
1.3.2JDK16
1.3.3Eclipse開發(fā)環(huán)境18
1.4知識鏈接24
1.4.1Java語言及其特點24
1.4.2Java數(shù)據(jù)類型26
1.4.3字面值27
1.4.4基本類型的轉(zhuǎn)換29
1.4.5Java關(guān)鍵詞與標識符32
1.4.6流與標準I/O流對象33
1.4.7Java注釋34
習題135
第2單元計算器類38
2.1計算器類的定義38
2.1.1計算器建模38
2.1.2Calculator類的Java描述39
2.2Calculator類的測試39
2.2.1測試數(shù)據(jù)設計39
2.2.2規(guī)避整除風險——Calculator類改進之一40
2.3異常處理——Calculator類改進之二42
2.3.1Java異常處理概述42
2.3.2Java異常處理的基本形式42
2.3.3用throws向上層拋出異常44
2.3.4用throw直接拋出異常45
2.3.5Java提供的主要異常類47
2.4用選擇結(jié)構(gòu)確定計算類型——Calculator類改進之三47
2.4.1用if…else實現(xiàn)calculate()方法47
2.4.2關(guān)系操作符49
2.4.3用switch結(jié)構(gòu)實現(xiàn)calculate()方法50
2.5用靜態(tài)成員變量存儲中間結(jié)果——Calculator類改進之四52
2.5.1靜態(tài)成員變量的性質(zhì)52
2.5.2帶有靜態(tài)成員變量的Calculator類定義52
2.6知識鏈接54
2.6.1Java表達式54
2.6.2靜態(tài)方法——類方法55
2.6.3初始化塊與靜態(tài)初始化塊57
2.6.4String類60
2.6.5正則表達式61
2.6.6Scanner類64
習題264
第3單元素數(shù)序列產(chǎn)生器72
3.1問題描述與對象建模72
3.1.1素數(shù)序列產(chǎn)生器建模72
3.1.2getPrimeSequence()方法的基本思路72
3.2使用isPrime()判定素數(shù)的PrimeGenerator類的實現(xiàn)73
3.2.1采用while結(jié)構(gòu)的getPrimeSequence()方法73
3.2.2采用do…while結(jié)構(gòu)的getPrimeSequence()方法75
3.2.3采用for結(jié)構(gòu)的getPrimeSequence()方法75
3.2.4重復結(jié)構(gòu)中的continue語句76
3.2.5采用for結(jié)構(gòu)的isPrime()方法76
3.2.6將isPrime()定義為靜態(tài)方法77
3.2.7不用isPrime()判定素數(shù)的PrimeGenerator類的實現(xiàn)78
3.3知識鏈接79
3.3.1變量的訪問屬性79
3.3.2變量的作用域79
3.3.3Java數(shù)據(jù)實體的生命期80
3.3.4基本類型的包裝81
習題383
第4單元撲克游戲90
4.1數(shù)組與撲克牌的表示和存儲90
4.1.1數(shù)組的概念90
4.1.2數(shù)組的聲明與內(nèi)存分配90
4.1.3數(shù)組的初始化92
4.1.4匿名數(shù)組93
4.2數(shù)組元素的訪問93
4.2.1用普通循環(huán)結(jié)構(gòu)訪問數(shù)組元素94
4.2.2用增強for遍歷數(shù)組元素94
4.3洗牌95
4.3.1隨機數(shù)與Random類95
4.3.2洗牌方法設計96
4.3.3含有洗牌方法的撲克游戲類設計98
4.4撲克的發(fā)牌與二維數(shù)組99
4.4.1基本的發(fā)牌算法99
4.4.2用二維數(shù)組表示玩家手中的牌100
4.4.3使用二維數(shù)組的發(fā)牌方法102
4.4.4含有洗牌、發(fā)牌方法的撲克游戲類設計102
4.5知識鏈接104
4.5.1數(shù)組實用類Arrays104
4.5.2java.util.Vector類105
4.5.3命令行參數(shù)107
4.5.4Math類108
習題4109
第2篇面向類的程序設計
第5單元類的繼承115
5.1學生類研究生類層次結(jié)構(gòu)115
5.1.1由Student類派生GradStudent類115
5.1.2super關(guān)鍵字 117
5.1.3final關(guān)鍵字119
5.2Java的訪問權(quán)限控制119
5.2.1類成員的訪問權(quán)限控制119
5.2.2類的訪問權(quán)限控制120
5.2.3private構(gòu)造器120
5.3類層次中的類型轉(zhuǎn)換121
5.3.1類層次中的賦值兼容規(guī)則121
5.3.2里氏代換原則122
5.3.3類型轉(zhuǎn)換與類型測試122
5.4方法覆蓋與隱藏123
5.4.1派生類實例方法覆蓋基類中簽名相同的實例方法123
5.4.2用@Override標注覆蓋124
5.4.3派生類靜態(tài)方法隱藏基類中簽名相同的靜態(tài)方法126
5.4.4JVM的綁定機制127
5.5知識鏈接128
5.5.1Object類128
5.5.2@Deprecated與@SuppressWarnings131
5.5.3Java異常類和錯誤類體系135
習題5137
第6單元抽象類與接口145
6.1圓、三角形和矩形145
6.1.13個獨立的類: Circle、Rectangle和Triangle145
6.1.2枚舉147
6.2抽象類148
6.2.1由具體類抽象出抽象類148
6.2.2由抽象類派生出實例類150
6.2.3抽象類小結(jié)153
6.3接口153
6.3.1接口及其特點153
6.3.2接口的實現(xiàn)類154
6.3.3關(guān)于接口的進一步討論156
6.4知識鏈接157
6.4.1Java構(gòu)件修飾符小結(jié)157
6.4.2對象克隆158
習題6160
第7單元面向?qū)ο蟪绦蚣軜?gòu)優(yōu)化原則164
7.0引言164
7.1從可重用說起: 合成/聚合優(yōu)先原則165
7.1.1繼承重用的特點166
7.1.2合成/聚合重用及其特點166
7.1.3合成/聚合優(yōu)先原則167
7.2從可維護性說起: 開閉原則168
7.2.1軟件的可維護性和可擴展性168
7.2.2開閉原則169
7.3面向抽象的原則170
7.3.1具體與抽象170
7.3.2依賴倒轉(zhuǎn)原則170
7.3.3面向接口原則170
7.3.4面向接口編程舉例171
7.4單一職責原則175
7.4.1對象的職責175
7.4.2單一職責原則的概念176
7.4.3接口分離原則176
7.5不要和陌生人說話181
7.5.1狹義迪米特法則181
7.5.2廣義迪米特法則182
習題7183
第8單元設計模式186
8.1設計模式概述186
8.2設計模式舉例——訴訟代理問題186
8.2.1無律師的涉訟程序設計186
8.2.2請律師代理的涉訟程序設計187
8.2.3關(guān)于代理模式189
8.3設計模式舉例——商場營銷問題190
8.3.1不用策略模式的商場營銷解決方案190
8.3.2策略模式的定義192
8.3.3采用策略模式的商場營銷解決方案193
8.4設計模式舉例——圖形對象的創(chuàng)建問題197
8.4.1簡單工廠模式197
8.4.2工廠方法模式202
8.4.3策略模式與簡單工廠模式結(jié)合207
8.5知識鏈接209
8.5.1類文件與類加載209
8.5.2Class對象209
8.5.3反射API213
8.5.4使用反射的工廠模式215
8.5.5使用反射 配置文件的工廠模式216
習題8218
第3篇基于API的應用開發(fā)
第9單元Java 網(wǎng)絡程序設計223
9.1IP地址與InetAddress類223
9.1.1IP協(xié)議與IP地址223
9.1.2InetAddress類223
9.2Java Socket概述225
9.2.1Socket的概念225
9.2.2客戶端/服務器工作模式225
9.3面向TCP的Java Socket程序設計226
9.3.1Socket類和ServerSocket類226
9.3.2TCP Socket通信過程227
9.3.3TCP Socket程序設計229
9.4面向UDP的Java程序設計232
9.4.1DatagramPacket類233
9.4.2DatagramSocket類233
9.4.3UDP Socket程序設計235
9.5網(wǎng)絡資源訪問238
9.5.1URI、URL和URN238
9.5.2URL類239
9.5.3URLConnection類240
9.6知識鏈接240
9.6.1字節(jié)流與字符流240
9.6.2緩沖流與轉(zhuǎn)換流245
9.6.3PrintWriter類247
習題9248
第10單元JDBC250
10.1JDBC概述250
10.1.1JDBC的組成與工作過程250
10.1.2JDBC API及其對JDBC過程的支持250
10.2加載JDBC驅(qū)動252
10.2.1JDBC數(shù)據(jù)庫驅(qū)動程序的類型252
10.2.2JDBC驅(qū)動類名與JDBC驅(qū)動程序的下載254
10.2.3DriverManager類254
10.2.4注冊Driver256
10.3連接數(shù)據(jù)源258
10.3.1數(shù)據(jù)源描述規(guī)則——JDBC URL258
10.3.2獲取Connection對象259
10.3.3連接過程中的異常處理262
10.3.4Connection接口的常用方法262
10.4創(chuàng)建SQL工作空間進行數(shù)據(jù)庫操作263
10.4.1SQL263
10.4.2創(chuàng)建SQL工作空間265
10.4.3用Statement實例封裝SQL語句265
10.5處理結(jié)果集267
10.5.1結(jié)果集游標的管理267
10.5.2getXxx()方法267
10.5.3updateXxx()方法268
10.5.4關(guān)閉數(shù)據(jù)庫連接268
10.5.5JDBC數(shù)據(jù)庫查詢實例268
10.6PreparedStatement接口271
10.6.1用PreparedStatement實例封裝SQL語句的特點271
10.6.2PreparedStatement接口的主要方法271
10.6.3PreparedStatement對象操作SQL語句的步驟272
10.6.4Java日期數(shù)據(jù)275
10.7事務處理276
10.7.1事務的概念276
10.7.2Connection類中有關(guān)事務處理的方法276
10.7.3JDBC事務處理程序的基本結(jié)構(gòu)277
10.8DAO模式279
10.8.1DAO概述279
10.8.2DAO模式的基本結(jié)構(gòu)281
10.8.3DAO程序舉例284
習題10290
第11單元JavaBean292
11.1JavaBean概述292
11.1.1軟件組件與JavaBean292
11.1.2JavaBean結(jié)構(gòu)293
11.1.3JavaBean規(guī)范295
11.2開發(fā)JavaBean295
11.2.1JavaBean API295
11.2.2JavaBean開發(fā)工具296
習題11298
第12單元程序文檔化、程序配置與程序發(fā)布300
12.1Javadoc300
12.1.1Javadoc及其結(jié)構(gòu)300
12.1.2Javadoc標簽300
12.1.3Javadoc應用規(guī)范302
12.1.4Javadoc命令304
12.2自定義Annotation305
12.2.1Annotation的基本定義格式305
12.2.2向Annotation注入數(shù)據(jù)306
12.2.3通過反射提取Annotation中的數(shù)據(jù)307
12.2.4用Annotation 反射設計DAO基類308
12.3Java程序配置314
12.3.1程序配置與程序配置文件314
12.3.2.properties文件315
12.3.3XML配置文件317
12.3.4基于InputStream輸入流的配置文件的讀取318
12.3.5基于資源綁定的配置文件的讀取325
12.4Java程序的打包與發(fā)布326
12.4.1Java程序的打包與JAR文件包326
12.4.2manifest文件326
12.4.3JAR命令329
12.4.4在Eclipse環(huán)境中創(chuàng)建可執(zhí)行JAR包331
12.4.5在MyEclipse環(huán)境中創(chuàng)建可執(zhí)行JAR包333
習題12333
第4篇Java高級技術(shù)
第13單元Java泛型編程337
13.1泛型基礎(chǔ)337
13.1.1問題的提出337
13.1.2泛型方法339
13.1.3多泛型類340
13.2泛型語法擴展341
13.2.1泛型通配符341
13.2.2泛型設限342
13.2.3泛型嵌套342
13.3實例——利用泛型和反射機制抽象DAO343
習題13345
第14單元Java多線程347
14.1Java多線程概述347
14.1.1進程與線程347
14.1.2Java線程的生命周期348
14.1.3Java多線程程序?qū)嵗? 室友叫醒352
14.1.4線程調(diào)度與線程優(yōu)先級356
14.1.5知識鏈接: JVM運行時數(shù)據(jù)區(qū)356
14.2 java.lang.Thread類358
14.2.1Thread類的構(gòu)造器358
14.2.2Thread類中的優(yōu)先級別靜態(tài)常量359
14.2.3Thread類中影響線程狀態(tài)的方法359
14.2.4Thread類中的一般方法360
14.2.5Thread類從Object繼承的方法360
14.3多線程管理360
14.3.1多線程同步共享資源360
14.3.2線程死鎖問題362
14.3.3線程組362
習題14363
第15單元Java數(shù)據(jù)結(jié)構(gòu)和接口369
15.1數(shù)據(jù)的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)369
15.1.1數(shù)據(jù)的邏輯結(jié)構(gòu)369
15.1.2數(shù)據(jù)的物理結(jié)構(gòu)370
15.1.3Java數(shù)據(jù)結(jié)構(gòu)API372
15.2接口及其應用373
15.2.1Collection接口及其方法373
15.2.2List接口及其實現(xiàn)374
15.2.3Set接口及其實現(xiàn)376
15.3聚集的標準輸出378
15.3.1Iterator接口378
15.3.2foreach379
15.4Map接口類及其應用380
15.4.1Map接口的定義與方法380
15.4.2Map.Entry接口380
15.4.3HashMap類和TreeMap類381
習題15383
附錄A符號385
A.1Java主要操作符的優(yōu)先級和結(jié)合性385
A.2Javadoc標簽385
附錄BJava運行時異常類和錯誤類387
B.1RuntimeException類387
B.2Error類388
附錄CJava常用的工具包390
參考文獻391
展開全部
新概念Java程序設計大學教程-(第3版) 作者簡介
張基溫,研究和教學領(lǐng)域涉及計算機科學與技術(shù)、信息管理、信息經(jīng)濟學、電子政務與電子商務、新媒體、服務科學,發(fā)表論文百余篇,出版著作百余種;先后擔任名古屋大學訪問學者,山西財經(jīng)大學、江南大學、華東政法大學、福建工程學院、晉城學院、廣西職業(yè)技術(shù)學院等多所大學的專職、客座或兼職教授,北京大學博雅方略城市發(fā)展與信息化研究中心研究員,南京大學出版社總編顧問,太原高新技術(shù)區(qū)IT研究院實驗室主任,山西省緊缺人才專家委員會副主任等職,中國信息經(jīng)濟學會常務理事,全國高等院校計算機基礎(chǔ)教育研究會常務理事兼課程建設委員會副主任,中國計算機學會教育專業(yè)委員會委員,教育部NIT考試委員會委員,江蘇省計算機基礎(chǔ)教學指導委員會委員,山西省新世紀專家學者協(xié)會副會長;為清華大學出版社、電子工業(yè)出版社、中國水利水電出版社、南京大學出版社等出版社主編了信息管理與信息系統(tǒng)專業(yè)、計算機實驗與實踐、大學生信息素養(yǎng)等多個系列教材。在面向過程程序設計教學領(lǐng)域,從20世紀80年代初就開始進行有關(guān)研究和改革,嘗試將軟件工程方法和算法思想引入程序設計,倡導“程序設計=計算思維+語言藝術(shù)+工程規(guī)范”的程序設計教育理念,推行“以思維訓練為核心,程序測試與程序設計并行”、“前期重在邏輯思維和方法訓練、語法夠用就行;后期進行語法細節(jié)補充”的程序設計課程教學方法。他主筆并與他人聯(lián)合署名的《C語言程序設計教程》是國家級十一五規(guī)劃教材,并于2007年被評為國家級精品教材。