会员   密码 您忘记密码了吗?
1,656,036 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > Java語言程序設計(基礎篇)(原書第10版)
Java語言程序設計(基礎篇)(原書第10版)
上一张
下一张
prev next

Java語言程序設計(基礎篇)(原書第10版)

作者: (美)梁勇
出版社: 機械工業出版社
ISBN: 9787111506904
出版日期: 2015-07-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT510.00
市场价格: RM91.69
本店售价: RM81.60
促销价: RM77.02
剩余时间: 请稍等, 正在载入中...
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

本書是Java語言的經典教材,中文版分為基礎篇和進階篇,主要介紹程序設計基礎、面向對象編程、GUI程序設計、數據結構和算法、高級Java程序設計等內容。

本書以示例講解解決問題的技巧,提供大量的程序清單,每章配有大量復習題和編程練習題,幫助讀者掌握編程技術,並應用所學技術解決實際應用開發中遇到的問題。

您手中的這本是其中的基礎篇,主要介紹了基本程序設計、語法結構、面向對象程序設計、繼承和多態、異常處理和文本I/O、抽象類和接口等內容。

本書可作為高等院校程序設計相關專業的基礎教材,也可作為Java語言及編程開發愛好者的參考資料。

梁勇(Y.Daniel Liang),現為阿姆斯特朗亞特蘭大州立大學計算機科學系教授。之前曾是普度大學計算機科學系副教授。並兩次獲得普度大學傑出研究獎。他所編寫的Java教程在美國大學Java課程中采用率極高。同時他還兼任Prentice Hall Java系列叢書的編輯。他是「Java Champion」榮譽得主,並在世界各地為在校學生和程序員做JAVA程序設計方法及技術方面的講座。
戴開宇,復旦大學軟件學院教師,工程碩士導師。中國計算機學會會員。博士畢業於上海交通大學計算機應用專業,2011~2012年在美國佛羅里達大學作訪問學者。承擔多門本科專業課程、通識教育課程以及工程碩士課程,這些課程被評為校精品課程,上海市重點建設課程,IBM—教育部精品課程等。


目錄

出版者的話
中文版序
譯者序
前言

第1章 計算機、程序和Java概述1
1.1引言1
1.2什麼是計算機2
1.2.1中央處理器2
1.2.2比特和字節3
1.2.3內存3
1.2.4存儲設備4
1.2.5輸入和輸出設備4
1.2.6通信設備5
1.3編程語言6
1.3.1機器語言6
1.3.2匯編語言6
1.3.3高級語言7
1.4操作系統8
1.4.1控制和監視系統的活動8
1.4.2分配和調配系統資源8
1.4.3調度操作8
1.5Java、萬維網以及其他9
1.6Java語言規范、API、JDK和IDE10
1.7一個簡單的Java程序11
1.8創建、編譯和執行Java程序13
1.9程序設計風格和文檔16
1.9.1正確的注釋和注釋風格16
1.9.2正確的縮進和空白16
1.9.3塊的風格17
1.10程序設計錯誤17
1.10.1語法錯誤17
1.10.2運行時錯誤18
1.10.3邏輯錯誤18
1.10.4常見錯誤19
1.11使用NetBeans開發Java程序20
1.11.1創建Java工程20
1.11.2創建Java類21
1.11.3編譯和運行類22
1.12使用Eclipse開發Java程序22
1.12.1創建Java工程22
1.12.2創建Java類24
1.12.3編譯和運行類24
關鍵術語25
本章小結25
測試題26
編程練習題26

第2章 基本程序設計28
2.1引言28
2.2編寫簡單的程序28
2.3從控制台讀取輸入31
2.4標識符34
2.5變量34
2.6賦值語句和賦值表達式36
2.7命名常量37
2.8命名習慣37
2.9數值數據類型和操作38
2.9.1數值類型38
2.9.2從鍵盤讀取數值39
2.9.3數值操作符39
2.9.4冪運算41
2.10數值型直接量41
2.10.1整型直接量42
2.10.2浮點型直接量42
2.10.3科學記數法42
2.11表達式求值以及操作符優先級43
2.12示例學習:顯示當前時間44
2.13增強賦值操作符46
2.14自增和自減操作符47
2.15數值類型轉換48
2.16軟件開發過程50
2.17示例學習:整錢兌零54
2.18常見錯誤和陷阱56
關鍵術語58
本章小結58
測試題59
編程練習題59

第3章 選擇64
3.1引言64
3.2boolean數據類型64
3.3if語句66
3.4雙分支if—else語句68
3.5嵌套的if語句和多分支if—else語句69
3.6常見錯誤和陷阱71
3.7產生隨機數74
3.8示例學習:計算身體質量指數76
3.9示例學習:計算稅率77
3.10邏輯操作符80
3.11示例學習:判定閏年83
3.12示例學習:彩票84
3.13switch語句85
3.14條件表達式88
3.15操作符的優先級和結合規則89
3.16調試90
關鍵術語91
本章小結91
測試題92
編程練習題92

第4章 數學函數、字符和字符串100
4.1引言100
4.2常用數學函數101
4.2.1三角函數方法101
4.2.2指數函數方法102
4.2.3取整方法102
4.2.4min、max和abs方法102
4.2.5random方法103
4.2.6示例學習:計算三角形的角度103
4.3字符數據類型和操作105
4.3.1Unicode和ASCII碼105
4.3.2特殊字符的轉義序列106
4.3.3字符型數據與數值型數據之間的轉換107
4.3.4字符的比較和測試107
4.4String類型109
4.4.1求字符串長度110
4.4.2從字符串中獲取字符110
4.4.3連接字符串111
4.4.4字符串的轉換111
4.4.5從控制台讀取字符串112
4.4.6從控制台讀取字符112
4.4.7字符串比較112
4.4.8獲得子字符串114
4.4.9獲取字符串中的字符或者子串115
4.4.10字符串和數字間的轉換116
4.5示例學習117
4.5.1猜測生日118
4.5.2將十六進制數轉換為十進制數121
4.5.3使用字符串修改彩票程序122
4.6格式化控制台輸出123
關鍵術語126
本章小結127
測試題127
編程練習題127

第5章 循環133
5.1引言133
5.2while循環134
5.2.1示例學習:猜數字136
5.2.2循環設計策略138
5.2.3示例學習:多個減法測試題138
5.2.4使用標記值控制循環140
5.2.5輸入和輸出重定向141
5.3do—while循環143
5.4for循環144
5.5采用哪種循環147
5.6嵌套循環149
5.7最小化數值錯誤151
5.8示例學習152
5.8.1求最大公約數152
5.8.2預測未來學費154
5.8.3將十進制數轉換為
十六進制數155
5.9關鍵字break和continue156
5.10示例學習:判斷回文串159
5.11示例學習:顯示素數160
關鍵術語162
本章小結163
測試題163
編程練習題163

第6章 方法171
6.1引言171
6.2定義方法172
6.3調用方法173
6.4void方法示例175
6.5通過傳值進行參數傳遞178
6.6模塊化代碼181
6.7示例學習:將十六進制數轉換為十進制數183
6.8重載方法185
6.9變量的作用域187
6.10示例學習:生成隨機字符188
6.11方法抽象和逐步求精190
6.11.1自頂向下的設計191
6.11.2自頂向下和自底向上的實現192
6.11.3實現細節193
6.11.4逐步求精的優勢196
關鍵術語196
本章小結197
測試題197
編程練習題197

第7章 一維數組207
7.1引言207
7.2數組的基礎知識207
7.2.1聲明數組變量208
7.2.2創建數組208
7.2.3數組大小和默認值209
7.2.4訪問數組元素209
7.2.5數組初始化語法210
7.2.6處理數組210
7.2.7foreach循環212
7.3示例學習:分析數字214
7.4示例學習:一副牌215
7.5數組的復制217
7.6將數組傳遞給方法218
7.7從方法中返回數組221
7.8示例學習:統計每個字母出現的次數221
7.9可變長參數列表224
7.10數組的查找225
7.10.1線性查找法225
7.10.2二分查找法226
7.11數組的排序228
7.12Arrays類230
7.13命令行參數232
7.13.1向main方法傳遞字符串232
7.13.2示例學習:計算器232
關鍵術語234
本章小結235
測試題235
編程練習題235

第8章 多維數組242
8.1引言242
8.2二維數組的基礎知識242
8.2.1聲明二維數組變量並創建二維數組243
8.2.2獲取二維數組的長度244
8.2.3鋸齒數組244
8.3處理二維數組245
8.4將二維數組傳遞給方法247
8.5示例學習:多選題測驗評分248
8.6示例學習:找出距離最近的點對249
8.7示例學習:數獨251
8.8多維數組254
8.8.1示例學習:每日溫度和濕度255
8.8.2示例學習:猜生日256
本章小結258
測試題258
編程練習題258

第9章 對象和類270
9.1引言270
9.2為對象定義類270
9.3示例:定義類和創建對象272
9.4使用構造方法構造對象277
9.5通過引用變量訪問對象278
9.5.1引用變量和引用類型278
9.5.2訪問對象的數據和方法279
9.5.3引用數據域和null值279
9.5.4基本類型變量和引用類型變量的區別280
9.6使用Java庫中的類282
9.6.1Date類282
9.6.2Random類283
9.6.3Point2D類283
9.7靜態變量、常量和方法284
9.8可見性修飾符289
9.9數據域封裝291
9.10向方法傳遞對象參數294
9.11對象數組297
9.12不可變對象和類299
9.13變量的作用域301
9.14this引用302
9.14.1使用this引用隱藏數據域302
9.14.2使用this調用構造方法303
關鍵術語304
本章小結304
測試題305
編程練習題305

第10章 面向對象思考309
10.1引言309
10.2類的抽象和封裝309
10.3面向對象的思考313
10.4類的關系315
10.4.1關聯316
10.4.2聚集和組合317
10.5示例學習:設計Course類318
10.6示例學習:設計棧類320
10.7將基本數據類型值作為對象處理322
10.8基本類型和包裝類類型之間的自動轉換325
10.9BigInteger和BigDecimal類326
10.10String類327
10.10.1構造字符串327
10.10.2不可變字符串與限定字符串328
10.10.3字符串的替換和分隔329
10.10.4依照模式匹配、替換和分隔329
10.10.5字符串與數組之間的轉換330
10.10.6將字符和數值轉換成字符串331
10.10.7格式化字符串331
10.11StringBuilder和StringBuffer類333
10.11.1修改StringBuilder中的字符串334
10.11.2toString、capacity、length、setLength和charAt方法335
10.11.3示例學習:判斷回文串時忽略既非字母又非數字的字符336
關鍵術語338
本章小結339
測試題339
編程練習題339

第11章 繼承和多態347
11.1引言347
11.2父類和子類347
11.3使用super關鍵字353
11.3.1調用父類的構造方法353
11.3.2構造方法鏈354
11.3.3調用父類的方法355
11.4方法重寫356
11.5方法重寫與重載357
11.6Object類及其toString()方法359
11.7多態359
11.8動態綁定360
11.9對象轉換和instanceof運算符363
11.10Object類的equals方法367
11.11ArrayList類368
11.12對於列表有用的方法374
11.13示例學習:自定義棧類374
11.14protected數據和方法376
11.15防止擴展和重寫378
關鍵術語378
本章小結379
測試題379
編程練習題380

第12章 異常處理和文本I/O384
12.1引言384
12.2異常處理概述385
12.3異常類型389
12.4關於異常處理的更多知識391
12.4.1聲明異常392
12.4.2拋出異常392
12.4.3捕獲異常393
12.4.4從異常中獲取信息394
12.4.5示例學習:聲明、拋出和捕獲異常396
12.5finally子句399
12.6何時使用異常400
12.7重新拋出異常401
12.8鏈式異常402
12.9創建自定義異常類403
12.10File類405
12.11文件輸入和輸出408
12.11.1使用PrintWriter寫數據408
12.11.2使用try—with—resources自動關閉資源409
12.11.3使用Scanner讀數據410
12.11.4Scanner如何工作411
12.11.5示例學習:替換文本412
12.12從Web上讀取數據414
12.13示例學習:Web爬蟲416
關鍵術語418
本章小結418
測試題419
編程練習419

第13章 抽象類和接口424
13.1引言424
13.2抽象類424
13.2.1為何要使用抽象方法427
13.2.2抽象類的幾點說明428
13.3示例學習:抽象的Number類429
13.4示例學習:Calendar和GregorianCalendar431
13.5接口434
13.6Comparable接口436
13.7Cloneable接口440
13.8接口與抽象類444
13.9示例學習:Rational類447
13.10類的設計原則452
13.10.1內聚性452
13.10.2一致性452
13.10.3封裝性452
13.10.4清晰性453
13.10.5完整性453
13.10.6實例和靜態453
13.10.7繼承與聚合454
13.10.8接口和抽象類454
關鍵術語454
本章小結455
測試題455
編程練習題455

第14章 JavaFX基礎459
14.1引言459
14.2JavaFX與Swing以及AWT的比較459
14.3JavaFX程序的基本結構460
14.4面板、UI組件以及形狀462
14.5屬性綁定465
14.6節點的通用屬性和方法468
14.7Color類469
14.8Font類470
14.9Image和ImageView類472
14.10布局面板474
14.10.1FlowPane475
14.10.2GridPane477
14.10.3BorderPane478
14.10.4HBox和VBox480
14.11形狀482
14.11.1Text482
14.11.2Line484
14.11.3Rectangle485
14.11.4Circle和Ellipse487
14.11.5Arc488
14.11.6Polygon和Polyline491
14.12示例學習:ClockPane類493
關鍵術語497
本章小結498
測試題498
編程練習題498

第15章 事件驅動編程和動畫504
15.1引言504
15.2事件和事件源506
15.3注冊處理器和處理事件507
15.4內部類511
15.5匿名內部類處理器512
15.6使用lambda表達式簡化事件處理514
15.7示例學習:貸款計算器517
15.8鼠標事件519
15.9鍵盤事件520
15.10可觀察對象的監聽器523
15.11動畫525
15.11.1PathTransition525
15.11.2FadeTransition528
15.11.3Timeline530
15.12示例學習:彈球532
關鍵術語535
本章小結535
測試題536
編程練習題536

第16章 JavaFXUI組件和多媒體542
16.1引言542
16.2Labeled和Label543
16.3按鈕545
16.4復選框547
16.5單選按鈕549
16.6文本域551
16.7文本區域553
16.8組合框556
16.9列表視圖559
16.10滾動條562
16.11滑動條564
16.12示例學習:開發一個井字游戲567
16.13視頻和音頻572
16.14示例學習:國旗和國歌575
本章小結577
測試題578
編程練習題578

第17章 二進制I/O584
17.1引言584
17.2在Java中如何處理文本I/O584
17.3文本I/O與二進制I/O585
17.4二進制I/O類587
17.4.1FileInputStream和FileOutputStream588
17.4.2FilterInputStream和FilterOutputStream590
17.4.3DataInputStream和DataOutputStream590
17.4.4BufferedInputStream和BufferedOutputStream594
17.5示例學習:復制文件596
17.6對象I/O598
17.6.1Serializable接口600
17.6.2序列化數組601
17.7隨機訪問文件602
關鍵術語606
本章小結606
測試題606
編程練習題606
第18章遞歸609
18.1引言609
18.2示例學習:計算階乘610
18.3示例學習:計算斐波那契數613
18.4使用遞歸解決問題615
18.5遞歸輔助方法617
18.5.1遞歸選擇排序618
18.5.2遞歸二分查找618
18.6示例學習:得到目錄的大小619
18.7示例學習:漢諾塔621
18.8示例學習:分形624
18.9遞歸與迭代627
18.10尾遞歸628
關鍵術語629
本章小結629
測試題630
編程練習題630
附錄AJava關鍵字637
附錄BASCII字符集638
附錄C操作符優先級表639
附錄DJava修飾符640
附錄E特殊浮點值641
附錄F數系642
附錄G位操作646
附錄H正則表達式647
附錄I枚舉類型651