Java 大學教程, 11/e Java How to Program, Early Objects (11th Edition)
Paul J. Deitel, Harvey Deitel 張永健 等
- 出版商: 電子工業
- 出版日期: 2021-03-01
- 售價: $1,074
- 貴賓價: 9.5 折 $1,020
- 語言: 簡體中文
- 頁數: 924
- 裝訂: 平裝
- ISBN: 7121406810
- ISBN-13: 9787121406812
-
相關分類:
Java 程式語言、Object-oriented
- 此書翻譯自: Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
立即出貨 (庫存=1)
買這商品的人也買了...
-
$980$931 -
$550$468 -
$680$537 -
$229Java Web 開發技術與實踐
-
$509Java Web整合開發王者歸來(JSP+Servlet+Struts+Hibernat
-
$2,230$2,119 -
$480$408 -
$599$569 -
$780$616 -
$600$468 -
$305可視化 Java GUI 程序設計教程 — 基於 Swing 組件庫及 NetBeans IDE, 2/e
-
$615On Java 中文版 基礎卷
-
$662On Java 中文版 進階卷
-
$580$458 -
$780$616 -
$500$390 -
$520$390 -
$650$514 -
$520$468 -
$407實戰大數據分佈式大數據分析處理系統開發與應用
-
$505Apache Pulsar 原理解析與應用實踐
-
$220$209 -
$600$468 -
$299$284 -
$680$537
相關主題
商品描述
本書是一本Java 編程方面的優秀教材,秉承Deitel系列叢書的一貫特點:內容豐富、覆蓋面廣,提供詳細代碼與實例研究,總結出大量的面向對象編程技巧和經驗。本書詳細說明瞭在Java 中面向對象編程的基本理論及實用知識,以初學者為起點,由點到面、由淺入深、循序漸進地介紹了對象、繼承、多態、接口、異常處理、JavaFX GUI、數據結構和集合、lambda與流、遞歸、搜索與排序、並發性、JDBC、JavaFX與多媒體、JShell 等,並且詳細介紹了網絡應用的開發與實踐。第十一版在前一版的基礎上增加了更多的實際案例,更新了很多內容,有助於讀者學習和借鑒。本書包括更廣泛的教學特性,其中列舉了數百個可實際使用的程序,並給出了運行結果,可以使學生在學習時更為直觀。
作者簡介
Paul Deitel,Deitel & Associates公司CEO兼CTO,具有過35年計算機行業的工作經驗,畢業於麻省理工學院。
他擁有Java Certified Programmer和Java Certified Developer認證證書,並且被授予Oracle Java Champion稱號。
通過Deitel & Associates公司,他向行業客戶提供了數以百計的編程課程,這些客戶包括:Cisco,IBM, Siemens,Sun Microsystems(現在屬於Oracle),Dell,Fidelity,NASA肯尼迪航天中心,美國國家風暴實驗室,白沙導彈基地,Rogue Wave Software,Boeing,SunGard Higher Education,Nortel Networks,Puma,iRobot,Invensys,等等。
他和合作者Harvey Deitel博士,是全球暢銷的編程語言教材和專業圖書/視頻產品的作者。
Harvey Deitel博士,Deitel & Associates公司主席兼首席戰略官,具有55年以上的計算機行業工作經驗。
Deitel博士在麻省理工學院獲得電子工程學士和碩士學位,在波士頓大學獲得數學博士學位——在將計算機科學專業從這些專業分離出去之前,Deitel博士已經學習過計算機知識。
他具有豐富的大學教學經驗,在與兒子Paul於1991年創立Deitel & Associates公司之前,Deitel博士是波士頓大學計算機科學系主任並獲得了終身教職。
他們的出版物已經贏得了國際聲譽,並被翻譯成了日文、德文、俄文、西班牙文、法文、波蘭文、意大利文、簡體中文、繁體中文、韓文、葡萄牙文、希臘文、烏爾都文和土耳其文。
Deitel博士為許多大公司、學術機構、政府部門和軍隊提供了數百場的專業編程培訓。
張永健,國際關係學院副教授,畢業於北京郵電大學,專業為通信、計算機,目前從事網絡及信息安全、移動互聯網安全技術、大數據及多媒體安全等研究方向,並教授計算機安全等相關課程。
目錄大綱
1章計算機、Internet與Java簡介1
1.1簡介2
1.2硬件和軟件3
1.3數據層次4
1.4機器語言、彙編語言和高級語言6
1.5對象技術介紹7
1.6作系統9
1.7編程語言11
1.8 Java 12
1.9典型的Java開發環境12
1.10測試驅動的Java應用15
1.11 Internet和WWW 17
1.12軟件技術19
1.13 Java問題解答20
自測題20
自測題答案21
練習題21
挑戰題22
2章Java應用介紹、輸入/輸出、運算符23
2.1簡介23
2.2一個Java程序:輸出一行文本24
2.3修改一個Java程序28
2.4使用printf顯示文本29
2.5另一個Java程序:整數相加30
2.6內存概念33
2.7算術運算34
2.8判斷:相等性和關係運算符36
2.9小結39
總結39
自測題41
自測題答案42
練習題44
挑戰題47
3章類、對象、方法與String簡介48
3.1簡介48
3.2實例變量、set方法和get方法49
3.3 Account類:使用構造方法初始化對象56
3.4包含浮點數餘額的Account類58
3.5基本類型與引用類型的比較61
3.6 (選修)GUI與圖形實例:一個簡單的GUI 62
3.7小結67
總結67
自測題70
自測題答案71
練習題71
挑戰題72
4章控制語句(1)及賦值、++與- -運算符73
4.1簡介73
4.2算法74
4.3偽代碼74
4.4控制結構74
4.5 if單選擇語句76
4.6 if...else雙選擇語句77
4.7 Student類:嵌套if... else語句79
4.8 while循環語句81
4.9形成算法:計數器控制循環82
4.10形成算法:標記控制循環85
4.11形成算法:嵌套控制語句90
4.12複合賦值運算符93
4.13增量運算符和減量運算符94
4.14基本類型96
4.15 (選修)GUI與圖形實例:事件處理、畫線96
4.16小結104
總結104
自測題107
自測題答案108
練習題109
挑戰題113
5章控制語句(2)及邏輯運算符115
5.1簡介115
5.2計數器控制循環的實質116
5.3 for循環語句116
5.4使用for語句的示例119
5.5 do...while循環語句122
5.6 switch多選擇語句123
5.7 AutoPolicy類實例:switch語句中的字符串127
5.8 break和continue語句130
5.9邏輯運算符131
5.10結構化編程小結135
5.11 (選修)GUI與圖形實例:繪製矩形和橢圓138
5.12小結141
總結141
自測題143
自測題答案144
練習題145
挑戰題148
6章方法:深入探究149
6.1簡介149
6.2 Java中的程序單元150
6.3靜態方法、靜態字段和Math類151
6.4聲明多參數方法152
6.5關於聲明與使用方法的說明155
6.6方法調用棧與活動記錄156
6.7實參提升與強制轉換157
6.8 Java API包158
6.9案例分析:安全的隨機數生成方法159
6.10案例分析:機會遊戲與enum類型162
6.11聲明的作用域165
6.12方法重載167
6.13 (選修)GUI與圖形實例:顏色和填充圖形169
6.14小結171
總結171
自測題174
自測題答案175
練習題176
挑戰題180
7章數組與ArrayList 181
7.1簡介182
7.2數組182
7.3聲明和創建數組183
7.4數組使用舉例184
7.5異常處理:處理不正確的反饋值190
7.6案例分析:模擬洗牌和發牌191
7.7增強型for語句194
7.8將數組傳入方法195
7.9按值傳遞與按引用傳遞196
7.10案例分析:GradeBook類用數組保存成績197
7.11多維數組201
7.12案例分析:使用二維數組的GradeBook類203
7.13變長實參表207
7.14使用命令行實參208
7.15 Arrays類210
7.16集合和ArrayList類簡介212
7.17 (選修)GUI與圖形實例:畫圓弧214
7.18小結216
總結216
自測題219
自測題答案219
練習題220
拓展內容:建立自己的計算機227
挑戰題231
8章類與對象:深入探究233
8.1簡介233
8.2 Time類案例分析234
8.3對成員的訪問控制237
8.4用this引用訪問當前對象的成員237
8.5 Time類案例分析:重載構造方法239
8.6默認構造方法與無實參構造方法243
8.7 set方法和get方法243
8.8組合244
8.9 enum類型246
8.10垃圾回收248
8.11靜態類成員249
8.12靜態導入251
8.13 final實例變量252
8.14包訪問253
8.15將BigDecimal用於精確的貨幣計算254
8.16 (選修)GUI與圖形實例:使用包含圖形的對象255
8.17小結258
總結258
自測題261
自測題答案261
練習題261
挑戰題264
9章面向對象編程:繼承265
9.1簡介265
9.2類與子類266
9.3 protected成員267
9.4類與子類的關係268
9.5子類的構造方法282
9.6 Object類283
9.7比較組合和繼承的差異283
9.8小結285
總結285
自測題286
自測題答案286
練習題286
10章面向對象編程:多態和接口289
10.1簡介289
10.2多態示例290
10.3演示多態行為291
10.4抽像類和抽象方法293
10.5案例分析:使用多態的工資系統295
10.6類和子類變量之間允許的賦值305
10.7 final方法和final類305
10.8分析從構造方法調用方法時的問題306
10.9創建和使用接口306
10.10 Java SE 8的接口強化312
10.11 Java SE 9的私有接口方法313
10.12私有構造方法314
10.13使用接口繼承而非實現繼承314
10.14 (選修)GUI與圖形實例:利用多態性畫圖316
10.15小結317
總結318
自測題320
自測題答案321
練習題321
挑戰題322
11章異常處理:深入探究323
11.1簡介323
11.2示例:除數為0時沒有處理異常324
11.3示例:處理ArithmeticEception異常和InputMismatchEception異常326
11.4何時使用異常處理330
11.5 Java異常層次330
11.6 finally語句塊332
11.7棧解和從異常獲得信息336
11.8鍊式異常338
11.9聲明新的異常類型339
11.10前置條件和後置條件340
11.11斷言340
11.12 try-with-resources:自動釋放資源341
11.13小結342
總結343
自測題345
自測題答案345
練習題346
12章JavaFX GUI(1) 347
12.1簡介347
12.2 JavaFX Scene Builder 348
12.3 JavaFX程序窗口的結構349
12.4 Welcome程序——顯示文本和圖像350
12.5 Tip Calculator程序— —事件處理353
12.6後續有關JavaFX章節中的主題365
12.7小結365
總結366
自測題369
自測題答案370
練習題370
挑戰題370
13章JavaFX GUI(2) 372
13.1簡介372
13.2在場景圖中佈局節點373
13.3 Painter程序:RadioButton、鼠標事件和形體374
13.4 Color Chooser程序:屬性綁定和屬性監聽器381
13.5 Cover Viewer程序:數據驅動的GUI及JavaFX集合386
13.6 Cover Viewer程序:定制ListView單元格389
13.7其他JavaFX功能392
13.8 JavaFX 9:Java SE 9 JavaFX的更新394
13.9小結395
總結395
自測題400
自測題答案401
練習題401
14章字符串、字符與正則表達式402
14.1簡介402
14.2字符和字符串基礎403
14.3 String類403
14.4 StringBuilder類413
14.5 Character類418
14.6標記化String 421
14.7正則表達式及Pattern類和Matcher類422
14.8小結427
總結428
自測題430
自測題答案431
練習題431
拓展內容:字符串作練習題432
拓展內容:處理字符串的挑戰項目434
挑戰題435
15章文件、輸入/輸出流、NIO與XML序列化436
15.1簡介436
15.2文件和流437
15.3使用NIO類和接口來獲得文件和目錄信息438
15.4順序文本文件440
15.5 XML序列化447
15.6 FileChooser和DirectoryChooser對話框452
15.7 (選修)其他的java.io類456
15.8小結458
總結458
自測題461
自測題答案462
練習題462
挑戰題464
16章泛型集合465
16.1簡介465
16.2集合概述466
16.3類型包裝器類467
16.4自動裝箱和自動拆箱467
16.5 Collection接口和Collections類467
16.6 List 468
16.7 Collections方法473
16.8 PriorityQueue類和Queue接口481
16.9 Set 482
16.10 Map 484
16.11同步集合487
16.12不可修改集合487
16.13抽象實現488
16.14 Java SE 9:用於不可變集合的便利工廠方法488
16.15小結490
總結491
自測題493
自測題答案493
練習題494
17章lambda與流496
17.1簡介497
17.2流和聚合498
17.3映和lambda 500
17.4過濾503
17.5元素如何在流管道中移動504
17.6方法引用505
17.7 IntStream作507
17.8函數式接口510
17.9 lambda:深入探究511
17.10 Stream<Integer>作512
17.11 Stream<String>作515
17.12 Stream<Employee>作516
17.13根據文件創建Stream<String> 524
17.14隨機值流526
17.15無限流528
17.16 lambda事件處理器529
17.17關於Java SE 8接口的更多說明529
17.18小結530
總結530
自測題536
自測題答案537
練習題538
18章遞歸541
18.1簡介541
18.2遞歸概念542
18.3使用遞歸示例:階乘542
18.4利用BigInteger重新實現FactorialCalculator類544
18.5使用遞歸示例:Fibonacci序列545
18.6遞歸與方法調用棧547
18.7遞歸與迭代的比較548
18.8漢諾塔550
18.9分形551
18.10遞歸回溯559
18.11小結559
總結560
自測題561
自測題答案562
練習題562
19章搜索、排序與大O記法566
19.1簡介566
19.2線性搜索567
19.3大O記法569
19.4二分搜索570
19.5排序算法573
19.6選擇排序574
19.7插入排序576
19.8合併排序578
19.9本章的搜索和排序算法的效率小結582
19.10大規模並行處理與並行算法583
19.11小結583
總結583
自測題585
自測題答案585
練習題585
挑戰題587
20章泛型類和泛型方法:深入探究588
20.1簡介588
20.2泛型方法的由來588
20.3泛型方法:實現及編譯時翻譯590
20.4其他編譯時翻譯問題:將類型參數用作返回類型的方法592
20.5重載泛型方法594
20.6泛型類595
20.7接收類型參數的方法中的通配符599
20.8小結602
總結602
自測題604
自測題答案604
練習題604
21章定制泛型數據結構606
21.1簡介606
21.2自引用類607
21.3動態內存分配607
21.4鍊錶608
21.5棧617
21.6隊列620
21.7樹621
21.8小結626
總結626
自測題628
自測題答案629
練習題629
拓展內容:建立自己的編譯器634
22章JavaFX圖形與多媒體644
22.1簡介644
22.2利用CSS控製字體645
22.3顯示二維形體650
22.4 Polyline、Polygon和Path 654
22.5變換658
22.6利用Media、MediaPlayer和MediaViewer播放視頻659
22.7 Transition動畫664
22.8 Timeline動畫668
22.9利用AnimationTimer實現逐幀動畫670
22.10在Canvas上繪圖671
22.11三維形體675
22.12小結678
總結678
自測題683
自測題答案684
練習題684
23章並發性691
23.1簡介691
23.2線程狀態與生命週期693
23.3用Eecutor框架創建並執行線程695
23.4線程同步698
23.5沒有同步的生產者/消費者關係704
23.6生產者/消費者關係:ArrayBlockingQueue 710
23.7 (進階)具有synchronized、wait、tify及tifyAll的生產者/消費者關係712
23.8 (進階)生產者/消費者關係:有界緩衝區716
23.9 (進階)生產者/消費者關係:Lock接口和Condition接口722
23.10並發集合727
23.11 JavaFX中的多線程728
23.12利用Java SE 8的日期/時間API為sort/parallelSort計時737
23.13 Java SE 8:串行流與並行流739
23.14 (進階)Callable接口和Future接口740
23.15 (進階)Fork/Join框架744
23.16小結744
總結745
自測題750
自測題答案751
練習題752
24章利用JDBC訪問數據庫754
24.1簡介755
24.2關係數據庫755
24.3 books數據庫756
24.4 SQL 759
24.5設置Java DB數據庫764
24.6連接並查詢數據庫766
24.7查詢books數據庫769
24.8 RowSet接口778
24.9 PreparedStatement 780
24.10存儲過程788
24.11事務處理789
24.12小結789
總結790
自測題794
自測題答案794
練習題794
25章JShell簡介:Java SE 9中用於交互式Java的REPL 797
25.1簡介798
25.2安裝JDK 9 799
25.3 JShell簡介799
25.4 JShell中的命令行輸入807
25.5聲明並使用類808
25.6 JShell的自動補全功能811
25.7探索類成員並查看文檔812
25.8聲明方法817
25.9異常處理818
25.10導入類並將包添加到CLASSPATH 819
25.11使用外部編輯器820
25.12 JShell命令匯總822
25.13代碼段編輯的快捷鍵826
25.14 JShell如何重新解釋Java以供交互使用827
25.15 IDE JShell支持827
25.16小結827
自測題828
自測題答案830
在線章節840
附錄A運算符優先級表841
附錄B ASCII字符集843
附錄C關鍵字和保留字844
附錄D基本類型845
附錄E使用調試器846
在線附錄856
索引857