Absolute Java, 6/e (簡體中文版)
師蓉, 沃爾特·薩維奇 (Walter Savitch), 肯里克·莫克 (Kenrick Mock)
- 出版商: 電子工業
- 出版日期: 2018-01-01
- 定價: $1,608
- 售價: 8.5 折 $1,367
- 語言: 簡體中文
- 頁數: 1028
- 裝訂: 平裝
- ISBN: 7121328666
- ISBN-13: 9787121328664
-
相關分類:
Java 程式語言
- 此書翻譯自: Absolute Java, 6/e (IE-Paperback)
已絕版
買這商品的人也買了...
-
$810$770 -
$534$507 -
$350$273 -
$620$484 -
$301OpenCV 計算機視覺編程攻略, 2/e
-
$580$458 -
$880$862 -
$480$379 -
$320$288 -
$700$665 -
$626Java 程序設計與問題求解 (原書第8版)
相關主題
商品描述
本書側重於面向對象設計,通過淺顯易懂的語言和代碼,很好地平衡了完整實例和解釋性討論,並圍繞著Java 語言的特性全面透徹地介紹諸多編程技術。書中全面介紹了Java 語言已經實現的封裝、繼承和多態性技術,並在介紹Swing GUI 的時候提及了事件驅動的編程,在介紹UML 和模式的同時進一步介紹了OOP。本書每節後都設計了相應的練習題,每章後都有針對本章內容的編程項目。本書不僅適合初學者使用,還可以作為使用Java 的後續電腦科學課程的參考書。
作者簡介
Walter John Savitch(生於1943年2月21日)由於發現了複雜性類NL(非確定型對數空間)、以及定義NSPACE和DSPACE複雜性類之間關係的Savitch定理而被人熟知。他為建立復雜性類所做的工作有助於我們創建執行非確定性和概率推理的背景。他還在自然語言處理和數學語言學領域做了大量的工作。他一直專注於計算機計算,因為它在10年前就已經被應用到遺傳學和生物學。除了在理論計算機科學上所做的工作,Savitch還編著了很多關於學習使用C/C++、Java、Ada、Pascal等語言進行編程的教科書。在Stephen Cook的指導下,Savitch在1969年獲得了加州大學伯克利分校的數學博士學位。
從那時候開始他就一直是加州大學聖地亞哥分校(UCSD)的教授,現在他還是計算機科學專業的名譽教授。
目錄大綱
第1章入門知識1
1.1 Java簡介2
Java語言的起源2
對象和方法3
小程序(applet) 4
一個Java應用程序示例4
字節碼和Java虛擬機7
類裝載器9
編譯一個Java程序或類9
運行一個Java程序9
小貼士:錯誤消息10
1.2表達式和賦值語句11
標識符11
變量12
賦值語句14
小貼士:初始化變量15
更多賦值語句知識16
賦值兼容性17
常量18
算數運算符和表達式19
括號和優先級規則20
整數和浮點數除法22
陷阱:浮點數的捨入錯誤22
陷阱:整數相除23
類型轉換24
自增運算符和自減運算符25
1.3 String類27
字符串常量和變量27
字符串連接28
類29
String類的方法30
轉義字符34
字符串處理35
Unicode字符集36
1.4程序風格37
命名常量37
Java拼寫約定39
註釋40
縮進41
本章小結41
自測題答案42
編程項目44
第2章流程控制47
2.1屏幕輸出48
System.out.println 48
小貼士:編輯輸出格式的不同方法50
使用printf編輯輸出格式51
小貼士:用printf編輯金額格式54
小貼士:遺留代碼55
使用NumberFormat編輯金額輸出格式56
導入包和類58
DecimalFormat類59
2.2使用Scanner類進行控制台輸入62
Scanner類63
陷阱:行終止符'\n'的處理67
空字符串68
小貼士:輸入提示68
小貼士:輸入反饋68
示例:自助結賬程序70
其他輸入分隔符70
2.3文件輸入簡介72
用Scanner類進行文本文件輸入72
本章小結75
自測題答案75
編程項目77
第3章控制流81
3.1分支機制82
if-else語句82
省略else 83
複合語句83
小貼士:放置花括號84
嵌套語句85
多分支if-else語句86
示例:州所得稅86
switch語句88
陷阱:忘記switch語句中的break 91
條件運算符92
3.2布爾表達式92
簡單布爾表達式93
陷阱:用=代替== 93
陷阱:使用==比較字符串94
字典順序和字母順序95
建立布爾表達式97
陷阱:不等式串98
計算布爾表達式98
小貼士:命名布爾boolean變量101
短路求值與完整求值101
優先級和結合規則102
3.3循環107
while語句和do-while語句108
算法和偽代碼110
示例:分數列表的平均分112
for語句113
for語句中的逗號115
小貼士:重複N次循環116
陷阱:for語句中多餘的分號116
陷阱:無限循環117
嵌套循環118
break語句和continue語句120
exit語句121
3.4調試122
循環bug 122
跟踪變量122
常規調試技術123
示例:調試一個輸入驗證循環124
預防性編碼127
斷言檢查127
3.5生成隨機數129
Random對象130
Math.random( )方法131
本章小結132
自測題答案132
編程項目136
第4章類的定義I 141
4.1類的定義概述142
實例變量和方法145
方法續論147
小貼士:任何方法都能用作void方法150
局部變量152
塊152
小貼士:在一個for語句中聲明變量153
原始類型參數154
陷阱:術語“形參”和“實參”的使用159
類參數的簡單示例160
this參數160
返回布爾值的方法162
方法equals和toString 164
遞歸方法166
小貼士:對方法進行測試167
4.2信息的隱藏和封裝168
修飾符public和private 169
示例:另一個日期類170
get和set方法171
小貼士:一個類可以訪問該類所有對象的私有成員174
小貼士:set方法可以返回一個布爾值175
前置條件和後置條件176
4.3重載177
重載的規則177
陷阱:重載與自動類型轉換180
陷阱:不能根據返回類型進行重載182
4.4構造函數183
構造函數的定義183
小貼士:你可以在構造函數中調用另一個方法190
小貼士:構造函數帶有一個this參數190
小貼士:添加一個無參數構造函數190
示例:日期類的最終版本191
默認變量初始化192
另一種初始化實例變量的方法192
示例:一個寵物記錄類193
StringTokenizer類196
本章小結200
自測題答案201
編程項目204
第5章類的定義II 211
5.1靜態方法和靜態變量212
靜態方法212
陷阱:在靜態方法中調用非靜態方法215
小貼士:你可以在任何類中放置main函數215
靜態變量218
Math類222
封裝類225
自動裝箱和拆箱226
封裝類中的靜態方法227
陷阱:封裝類沒有無參數構造函數229
5.2引用和類參數231
變量和內存231
引用232
類參數237
陷阱:對類類型的變量使用=和== 240
常量null 241
陷阱:空指針異常242
new運算符和匿名對象242
示例:鍵盤輸入的另一種方法243
小貼士:使用靜態導入245
5.3引用的使用和濫用246
示例:Person類246
陷阱:null可以作為方法的參數251
拷貝構造函數253
陷阱:隱私洩露255
可變類和不可變類258
小貼士:深拷貝vs.淺拷貝259
小貼士:假設你的同事是惡意的260
5.4包和javadoc 260
包和import語句261
java.lang包262
包名和目錄262
陷阱:子類不是自動導入的264
默認包264
陷阱:不要在類路徑中包含當前目錄264
編譯時指定類路徑265
命名衝突266
javadoc簡介266
為javadoc註釋類267
運行javadoc 268
本章小結269
自測題答案270
編程項目273
第6章數組279
6.1數組簡介280
數組的創建和訪問280
length實例變量283
小貼士:在數組中使用for循環284
陷阱:數組下標總是從0開始285
陷阱:數組越界285
數組的初始化285
陷阱:字符數組不是字符串287
6.2數組和引用287
數組是對象288
陷阱:具有類基本類型的數組289
數組參數289
陷阱:在數組中使用=和== 291
main方法的參數294
返回數組的方法295
6.3用數組進行編程297
部分填充數組297
示例:部分填充數組的類300
小貼士:get方法不需要返回實例變量303
“for-each”循環303
參數個數可變的方法306
示例:一個字符串處理示例308
數組實例變量的隱私洩露309
示例:對數組排序312
枚舉類型315
小貼士:在switch語句中使用枚舉類型319
6.4多維數組321
多維數組的基礎知識321
使用length實例變量323
參差數組323
多維數組參數和返回值324
示例:一個成績冊類325
本章小結330
自測題答案330
編程項目336
第7章繼承343
7.1繼承的基礎知識344
派生類344
重寫方法的定義352
修改重寫方法的返回類型353
修改重寫方法的訪問權限354
陷阱:重寫vs.重載354
super構造函數355
this構造函數356
小貼士:派生類的對像有多個類型357
陷阱:術語子類和超類359
示例:增強的StringTokenizer類359
7.2封裝和繼承362
陷阱:基類中私有變量的使用362
陷阱:私有方法不能被有效地繼承364
受保護訪問和包訪問364
陷阱:忘記默認包366
陷阱:受保護訪問的限制366
7.3使用繼承編程368
小貼士:靜態變量是繼承的368
小貼士:“is a”vs. “has a” 369
訪問重新定義的基類方法369
陷阱:你不能使用多個super 370
Object類371
定義equals的正確方式371
小貼士:getClass vs. instanceof 373
本章小結377
自測題答案377
編程項目380
第8章多態與抽像類385
8.1多態386
後期綁定386
final修飾符388
示例:銷售記錄389
在toString中使用後期綁定394
陷阱:靜態方法不使用後期綁定395
向下轉型和向上轉型396
陷阱:向下轉型398
小貼士:檢查向下轉型是否是合法的399
clone方法淺析400
陷阱:有時clone方法的返回類型是對象401
陷阱:拷貝構造函數的限制402
8.2抽像類405
抽像類綜述405
陷阱:你無法創建抽像類的實例408
小貼士:抽像類是一種類型409
本章小結410
自測題答案410
編程項目412
第9章異常處理415
9.1異常處理基礎知識416
try-catch機制417
用Scanner類進行異常處理418
小貼士:異常控制的循環419
拋出異常421
示例:異常處理的“玩具”示例422
異常類426
標準包中的異常類427
定義異常類