Java語言程序設計(原書第10版)(套裝共2冊)

Java語言程序設計(原書第10版)(套裝共2冊) pdf epub mobi txt 電子書 下載 2025

Y.Daniel Liang 著
圖書標籤:
  • Java
  • 編程
  • 計算機科學
  • 軟件開發
  • 教材
  • 原書
  • 第10版
  • 套裝
  • 入門
  • 經典
想要找書就要到 新城書站
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!
齣版社: 機械工業齣版社
ISBN:12170736
版次:1
商品編碼:12170736
品牌:機工齣版
包裝:平裝
開本:16開
齣版時間:2017-05-01
用紙:膠版紙
套裝數量:2

具體描述

編輯推薦

  DanielLiang的經典著作,多年來暢銷不衰,全麵整閤Java8的特性。

內容簡介

  《Java語言程序設計(基礎篇 原書第10版)》
  本書是Java語言的經典教材,多年來暢銷不衰。本書全麵整閤瞭Java
  8的特性,采用“基礎優先,問題驅動”的教學方式,循序漸進地介紹瞭程序設計基礎、解決問題的方法、麵嚮對象程序設計、圖形用戶界麵設計、異常處理、I/O和遞歸等內容。此外,本書還全麵且深入地覆蓋瞭一些高級主題,包括算法和數據結構、多綫程、網絡、國際化、高級GUI等內容。
  本書中文版由《Java語言程序設計
  基礎篇》和《Java語言程序設計
  進階篇》組成。基礎篇對應原書的第1~18章,進階篇對應原書的第19~33章。為滿足對Web設計有濃厚興趣的同學,本版在配套網站上增加瞭第34~42章的內容,以提供更多的相關信息。
  本書特點
  基礎篇介紹基礎內容,進階篇介紹高級內容,便於教師按需選擇理想的教材。
  全麵整閤瞭Java
  8的特性,對全書的內容進行瞭修訂和更新,以反映Java程序設計的全新技術發展。
  對麵嚮對象程序設計進行瞭深入論述,包含GUI程序設計的基礎和擴展。
  提供的大量示例中都包括瞭對問題求解的詳細步驟,很多示例都是隨著Java技術的引入不斷地進行增強,這種循序漸進的講解方式更易於學生學習。
  用JavaFX取代瞭Swing,極大地簡化瞭GUI編程,比Swing更易於學習。
  更多有趣示例和練習,激發學生興趣。在配套網站上還為教師提供瞭100多道的編程練習題。
  《Java語言程序設計(進階篇)(原書第10版)》
  本書是Java語言的經典教材,中文版分為基礎篇和進階篇,主要介紹程序設計基礎、麵嚮對象程序設計、GUI程序設計、數據結構和算法、高級Java程序設計等內容。本書可作為高等院校相關專業程序設計課程的基礎教材,也可作為Java語言及編程愛好者的參考資料。

作者簡介

  梁勇(Y. Daniel Liang),現為阿姆斯特朗亞特蘭大州立大學計算機科學係教授。之前曾是普度大學計算機科學係副教授,並兩次獲得普度大學傑齣研究奬。他所編寫的Java教程在美國大學Java課程中采用率極高,同時他還兼任Prentice Hall Java係列叢書的編輯。他是“Java Champion”榮譽得主,並在世界各地為在校學生和程序員做JAVA程序設計方法及技術方麵的講座。

目錄

《Java語言程序設計(基礎篇 原書第10版)》
Introduction to Java Programming, Comprehension Version, Tenth Edition
齣版者的話
中文版序
者序
前言
第1章 計算機、程序和Java概述 1
1.1 引言 1
1.2 什麼是計算機 2
1.3 編程語言 6
1.4 操作係統 8
1.5 Java、萬維網以及其他 9
1.6 Java語言規範、API、JDK和IDE 10
1.7 一個簡單的Java程序 11
1.8 創建、編譯和執行Java程序 13
1.9 程序設計風格和文檔 16
1.10 程序設計錯誤 17
1.11 使用NetBeans開發Java程序 20
1.12 使用Eclipse開發Java程序 22
關鍵術語 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.10 數值型直接量 41
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.2 boolean數據類型 64
3.3 if語句 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.13 switch語句 85
3.14 條件錶達式 88
3.15 操作符的優先級和結閤規則 89
3.16 調試 90
關鍵術語 91
本章小結 91
測試題 92
編程練習題 92
第4章 數學函數、字符和字符串 100
4.1 引言 100
4.2 常用數學函數 101
4.3 字符數據類型和操作 105
4.4 String類型 109
4.5 示例學習 117
4.6 格式化控製颱輸齣 123
關鍵術語 126
本章小結 127
測試題 127
編程練習題 127
第5章 循環 133
5.1 引言 133
5.2 while循環 134
5.3 do-while循環 143
5.4 for循環 144
5.5 采用哪種循環 147
5.6 嵌套循環 149
5.7 最小化數值錯誤 151
5.8 示例學習 152
十六進製數 155
5.9 關鍵字break和continue 156
5.10 示例學習:判斷迴文串 159
5.11 示例學習:顯示素數 160
關鍵術語 162
本章小結 163
測試題 163
編程練習題 163
第6章 方法 171
6.1 引言 171
6.2 定義方法 172
6.3 調用方法 173
6.4 void方法示例 175
6.5 通過傳值進行參數傳遞 178
6.6 模塊化代碼 181
6.7 示例學習:將十六進製數轉換為十進製數 183
6.8 重載方法 185
6.9 變量的作用域 187
6.10 示例學習:生成隨機字符 188
6.11 方法抽象和逐步求精 190
關鍵術語 196
本章小結 197
測試題 197
編程練習題 197
第7章 一維數組 207
7.1 引言 207
7.2 數組的基礎知識 207
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.11 數組的排序 228
7.12 Arrays類 230
7.13 命令行參數 232
關鍵術語 234
本章小結 235
測試題 235
編程練習題 235
第8章 多維數組 242
8.1 引言 242
8.2 二維數組的基礎知識 242
8.3 處理二維數組 245
8.4 將二維數組傳遞給方法 247
8.5 示例學習:多選題測驗評分 248
8.6 示例學習:找齣距離最近的點對 249
8.7 示例學習:數獨 251
8.8 多維數組 254
《Java語言程序設計(進階篇)(原書第10版)》
Introduction to Java Programming, Comprehensive Version, Tenth Edition
齣版者的話
中文版序
譯者序
前言
第19章 泛型 1
19.1 引言 1
19.2 動機和優點 1
19.3 定義泛型類和接口 4
19.4 泛型方法 5
19.5 示例學習:對一個對象數組進行排序 7
19.6 原始類型和嚮後兼容 8
19.7 通配泛型 10
19.8 消除泛型和對泛型的限製 12
19.9 示例學習:泛型矩陣類 15
關鍵術語 19
本章小結 19
測試題 20
編程練習題 20
第20章 綫性錶、棧、隊列和優先隊列 21
20.1 引言 21
20.2 閤集 21
20.3 迭代器 25
20.4 綫性錶 26
20.5 Comparator接口 30
20.6 綫性錶和閤集的靜態方法 32
20.7 示例學習:彈球 35
20.8 嚮量類和棧類 38
20.9 隊列和優先隊列 40
20.10 示例學習:錶達式求值 43
關鍵術語 47
本章小結 47
測試題 47
編程練習題 47
第21章 集閤和映射錶 53
21.1 引言 53
21.2 集閤 53
21.3 比較集閤和綫性錶的性能 61
21.4 示例學習:統計關鍵字 63
21.5 映射錶 65
21.6 示例學習:單詞的齣現次數 69
21.7 單元素與不可變的閤集和映射錶 71
關鍵術語 72
本章小結 72
測試題 72
編程練習題 72
第22章 開發高效算法 75
22.1 引言 75
22.2 使用大O符號來衡量算法效率 75
22.3 示例:確定大O 77
22.4 分析算法的時間復雜度 81
22.5 使用動態編程計算斐波那契數 83
22.6 使用歐幾裏得算法求最大公約數 85
22.7 尋找素數的高效算法 89
22.8 使用分而治之法尋找最近的點對 94
22.9 使用迴溯法解決八皇後問題 97
22.10 計算幾何:尋找凸包 99
關鍵術語 102
本章小結 102
測試題 103
編程練習題 103
第23章 排序 109
23.1 引言 109
23.2 插入排序 110
23.3 冒泡排序 112
23.4 歸並排序 114
23.5 快速排序 117
23.6 堆排序 121
23.7 桶排序和基數排序 128
23.8 外部排序 129
關鍵術語 136
本章小結 136
測試題 137
編程練習題 137
第24章 實現綫性錶、棧、隊列和優先隊列 141
24.1 引言 141
24.2 綫性錶的通用特性 141
24.3 數組綫性錶 144
24.4 鏈錶 151
24.5 棧和隊列 163
24.6 優先隊列 167
本章小結 168
測試題 169
編程練習題 169
第25章 二叉查找樹 171
25.1 引言 171
25.2 二叉查找樹 171
25.3 刪除BST中的一個元素 184
25.4 樹的可視化和MVC 189
25.5 迭代器 192
25.6 示例學習:數據壓縮 194
關鍵術語 199
本章小結 199
測試題 199
編程練習題 199
第26章 AVL樹 203
26.1 引言 203
26.2 重新平衡樹 204
26.3 為AVL樹設計類 205
26.4 重寫insert方法 207
26.5 實現鏇轉 207
26.6 實現delete方法 208
26.7 AVLTree類 209
26.8 測試 AVLTree類 214
26.9 AVL樹的時間復雜度分析 216
關鍵術語 217
本章小結 217
測試題 217
編程練習題 217
第27章 散列 219
27.1 引言 219
27.2 什麼是散列 219
27.3 散列函數和散列碼 220
27.3.1 基本數據類型的散列碼 220
27.3.2 字符串類型的散列碼 221
27.3.3 壓縮散列碼 221
27.4 使用開放地址法處理衝突 222
27.4.1 綫性探測 222
27.4.2 二次探測法 223
27.4.3 再哈希法 224
27.5 使用鏈地址法處理衝突 225
27.6 裝填因子和再散列 226
27.7 使用散列實現映射錶 227
27.8 使用散列實現集閤 235
關鍵術語 241
本章小結 242
測試題 242
編程練習題 242
第28章 圖及其應用 244
28.1 引言 244
28.2 基本的圖術語 245
28.3 錶示圖 247
28.4 圖建模 251
28.5 圖的可視化 261
28.6 圖的遍曆 263
28.7 深度優先搜索(DFS) 264
28.8 示例學習:連通圓問題 268
28.9 廣度優先搜索(BFS) 270
28.10 示例學習:9枚硬幣反麵問題 273
關鍵術語 278
本章小結 278
測試題 278
編程練習題 278
第29章 加權圖及其應用 283
29.1 引言 283
29.2 加權圖的錶示 284
29.3 WeightedGraph類 286
29.4 最小生成樹 292
29.5 尋找最短路徑 298
29.6 示例學習:加權的9枚硬幣反麵問題 305
關鍵術語 308
本章小結 308
測試題 309
編程練習題 309
第30章 多綫程和並行程序設計 314
30.1 引言 314
30.2 綫程的概念 314
30.3 創建任務和綫程 315
30.4 Thread類 318
30.5 示例學習:閃爍的文本 320
30.6 綫程池 322
30.7 綫程同步 324
30.8 利用加鎖同步 327
30.9 綫程間協作 329
30.10 示例學習:生産者/消費者 333
30.11 阻塞隊列 336
30.12 信號量 338
30.13 避免死鎖 339
30.14 綫程狀態 340
30.15 同步閤集 341
30.16 並行編程 342
關鍵術語 346
本章小結 346
測試題 347
編程練習題 347
第31章 網絡 350
31.1 引言 350
31.2 客戶端/服務器計算 351
31.3 InetAddress類 357
31.4 服務多個客戶 358
31.5 發送和接收對象 361
31.6 示例學習:分布式井字遊戲 365
關鍵術語 376
本章小結 376
測試題 376
編程練習題 376
第32章 Java數據庫程序設計 379
32.1 引言 379
32.2 關係型數據庫係統 379
32.3 SQL 383
32.4 JDBC 391
32.5 PreparedStatement 398
32.6 CallableStatement 400
32.7 獲取元數據 403
關鍵術語 406
本章小結 406
測試題 407
編程練習題 407
第33章 JavaServer Faces 411

精彩書摘

  程序在第6行創建一個魔法數,然後提示用戶在一個循環中連續輸入猜測值(第12~23行)。對每一次猜測,程序檢查該猜測數是否正確,是偏高還是偏低瞭(第17—22行)。當某次猜測正確時,程序就退齣這個循環(第12行)。注意:guess被初始化為—1將它初始化為0到100之間的值會齣錯,因為它很嗬能就是要猜的數。
  5.2.2循環設計策略
  編寫一個正確的循環對編程新手來說,並不是件容易的事。編寫循環時應該考慮如下二個步驟:
  第一步:確定需要重復的語句。
  第二步:將這些語句放在一個循環中,如下所示:
  5.23示例學習:多個減法測試題
  程序清單3—3中的數學減法學習工具程序,每次運行隻能産生一道題目。可以使用一個循環重復産生題目。那麼如何編寫能産生5道題目的代碼呢?遵循循環設計策略。首先,確定需要重復的語句。這些語句包括:獲取兩個隨機數,提示用戶對兩數做減法然後給試題打分。然後,將這些語句放在一個循環裏。最後,增加一個循環控製變量和循環繼續條件,然後執行循環五次。
  程序清單5—4給齣的程序可以産生5道問題,在學生迴答完所有5個問題後,報告迴答正確的題數。這個程序還顯示該測試所花的時間,並列齣所有的題目。
  ……

前言/序言

  《Java語言程序設計(基礎篇 原書第10版)》
  Introduction to Java Programming, Comprehension Version, Tenth Edition許多讀者就本書之前的版本給齣瞭很多反饋。這些評論和建議極大地改進瞭本書。這一版從錶述、組織、示例、練習題以及附錄方麵都進行瞭極大的增強,包括:
  用JavaFX取代瞭Swing。JavaFX是一個用於開發Java GUI程序的新框架,它極大地簡化瞭GUI程序設計,比Swing更易於學習。
  在GUI程序設計之前介紹異常處理、抽象類和接口,若教師選擇不教授GUI的內容,可以直接跳過第14~16章。
  在第4章便開始介紹對象和字符題串,從而使得學生可以較早地使用對象和字符串來開發有趣的程序。
  包含更多新的有趣示例和練習題 ,用於激發學生興趣。在配套網站(www.cs. armstrong.edu/liang/intro10e/或www.pearsonhighered.com/liang)上還為教師提供瞭100多道編程練習題。
  本書采用基礎優先的方法,在設計自定義類之前,首先介紹基本的程序設計概念和技術。選擇語句、循環、方法和數組這樣的基本概念和技術是程序設計的基礎,它們為學生進一步學習麵嚮對象程序設計和高級Java程序設計做好準備。
  本書以問題驅動的方式來教授程序設計,將重點放在問題的解決而不是語法上。我們通過使用在各種應用情景中引發思考的問題,使得程序設計的介紹也變得更加有趣。前麵章節的主綫放在問題的解決上,引入閤適的語法和庫以支持編寫解決問題的程序。為瞭支持以問題驅動的方式來教授程序設計,本書提供瞭大量不同難度的問題來激發學生的積極性。為瞭吸引各個專業的學生來學習,這些問題涉及很多應用領域,包括數學、科學、商業、金融、遊戲、動畫以及多媒體等。
  本書將程序設計、數據結構和算法無縫集成在一起,采用一種實用性的方式來教授數據結構。首先介紹如何使用各種數據結構來開發高效的算法,然後演示如何實現這些數據結構。通過實現,學生獲得關於數據結構效率,以及如何和何時使用某種數據結構的深入理解。最後,我們設計和實現瞭針對樹和圖的自定義數據結構。
  本書廣泛應用於全球各大學的程序設計入門、數據結構和算法課程中。完全版包括程序設計基礎、麵嚮對象程序設計、GUI程序設計、數據結構、算法、並行、網絡、數據庫和Web程序設計。這個版本旨在把學生培養成精通Java的程序員。基礎篇可用於程序設計的第一門課程(通常稱為CS1)。基礎篇包含完全版的前18章內容,前13章適閤準備AP計算機科學考試(AP Computer Science Exam)的人員使用。
  教授編程的最好途徑是通過示例,而學習編程的唯一途徑是通過動手練習。本書通過示例對基本概念進行瞭解釋,提供瞭大量不同難度的練習題供學生進行實踐。在我們的程序設計課程中,每次課後都布置瞭編程練習。
  我們的目標是編寫一本可以通過各種應用場景中的有趣示例來教授問題求解和程序設計的教材。如果您有任何關於如何改進本書的評論或建議,請通過以下方式與我聯係。
  Y. Daniel Liangy.daniel.liang@gmail.comwww.cs.armstrong.edu/liangwww.pearsonhighered.com/liang本版新增內容本版對各個細節都進行瞭全麵修訂,以增強其清晰性、錶述、內容、例子和練習題。本版主要的改進如下:
  更新到Java 8版本。
  由於Swing被JavaFX所替代,因此所有的GUI示例和練習題都使用JavaFX改寫。
  使用lambda錶達式來簡化JavaFX和綫程中的編程。
  在配套網站上為教師提供瞭100多道編程練習題,並給齣瞭答案。這些練習題沒有齣現在教材中。
  在第4章就引入瞭數學方法,使得學生可以使用數學函數編寫代碼。
  在第4章就引入瞭字符串,使得學生可以早點使用對象和字符串開發有趣的程序。
  GUI編程放在抽象類和接口之後介紹,若教師選擇不教授GUI內容的話,可以直接跳過這些章節。
  第4、14、15和16章是全新的章節。
  第28和29章大幅改寫,對最小生成樹和最短路徑使用更加簡化的方法實現。
  教學特色本書使用以下要素組織素材:
  教學目標 在每章開始處列齣學生應該掌握的內容,學完這章後,學生能夠判斷自己是否達到這個目標。
  引言 提齣代錶性的問題,以便學生對該章內容有一個概括瞭解。
  要點提示 突齣每節中涵蓋的重要概念。
  復習題 按節組織,幫助學生復習相關內容並評估掌握的程度。
  示例學習 通過精心挑選示例,以容易理解的方式教授問題求解和程序設計概念。本書使用多個小的、簡單的、激發興趣的例子來演示重要的概念。
  本章小結 迴顧學生應該理解和記住的重要主題,有助於鞏固該章所學的關鍵概念。
  測試題 測試題是在綫的,讓學生對編程概念和技術進行自我測試。
  編程練習題 為學生提供獨立應用所學新技能的機會。練習題的難度分為容易(沒有星號)、適中(*)、難(**)和具有挑戰性(***)四個級彆。學習程序設計的竅門就是實踐、實踐、再實踐。所以,本書提供瞭大量的編程練習題。
  注意、提示、警告和設計指南 貫穿全書,對程序開發的重要方麵提供有價值的建議和見解。
  注意 提供學習主題的附加信息,鞏固重要概念。
  提示 教授良好的程序設計風格和實踐經驗。
  警告 幫助學生避開程序設計錯誤的誤區。
  設計指南 提供設計程序的指南。
  靈活的章節順序本書提供靈活的章節順序,使學生可以或早或晚地瞭解GUI、異常處理、遞歸、泛型和Java集閤框架等內容。下頁的插圖顯示瞭各章之間的相關性。
  本書的組織所有的章節分為五部分,構成Java程序設計、數據結構和算法、數據庫和Web程序設計的全麵介紹。因為知識是循序漸進的,前麵的章節介紹瞭程序設計的基本概念,並且通過簡單的例子和練習題指導學生;後續的章節逐步詳細地介紹Java程序設計,最後介紹開發綜閤的Java應用程序。附錄包含各種主題,包含數係、位操作、正則錶達式以及枚舉類型。
  第一部分 程序設計基礎(第1~8章)本書第一部分是基石,讓你開始踏上Java學習之旅。你將開始瞭解Java(第1章),還將學習像基本數據類型、變量、常量、賦值、錶達式以及操作符這樣的基本程序設計技術(第2章),選擇語句(第3章),數學函數、字符和字符串(第4章),循環(第5章),方法(第6章),數組(第7~8章)。在第7章之後,可以跳到第18章去學習如何編寫遞歸的方法來解決本身具有遞歸特性的問題。
  第二部分 麵嚮對象程序設計(第9~13章和第17章)這一部分介紹麵嚮對象程序設計。Java是一種麵嚮對象程序設計語言,它使用抽象、封裝、繼承和多態來提供開發軟件的極大靈活性、模塊化和可重用性。你將學習如何使用對象和類進行程序設計(第9~10章)、類的繼承(第11章)、多態性(第11章)、異常處理(第12章)、抽象類(第13章)以及接口(第13章)。文本I/O將在第12章介紹,二進製I/O將在第17章介紹。
  第三部分 GUI程序設計(第14~16章和奬勵章節第34章)JavaFX是一個開發Java GUI程序的新框架。它不僅對於開發GUI程序有用,還是一個用於學習麵嚮對象程序設計的優秀教學工具。這一部分中在第14~16章介紹使用JavaFX的Java GUI程序設計。主要的主題包括GUI基礎(第14章)、容器麵闆(第14章)、繪製形狀(第14章)、事件驅動編程(第15章)、動畫(第15章)、GUI組件(第16章),以及播放音頻和視頻(第16章)。你將學習采用JavaFX的GUI程序設計的架構,並且使用組件、形狀、麵闆、圖像和視頻來開發有用的應用程序。第34章涵蓋JavaFX的高級特性。
  第四部分 數據結構和算法(第18~29章和奬勵章節第40~41章)這一部分介紹經典數據結構和算法課程中的主要內容。第18章介紹遞歸來編寫解決本身具有遞歸特性的問題的方法。第19章介紹泛型來提高軟件的可靠性。第20和21章介紹Java集閤框架,它為數據結構定義瞭一套有用的API。第22章討論算法效率的度量以便給應用程序選擇閤適的算法。第23章介紹經典的排序算法。你將在第24章中學到如何實現經典的數據結構,如列錶、隊列和優先隊列。第25和26章介紹二分查找樹和AVL樹。第27章介紹散列以及通過散列實現映射(map)和集閤(set)。第28和29章介紹圖的應用。2-4樹、B樹以及紅黑樹在奬勵章節第40~41章中介紹。
  第五部分 高級Java程序設計(第30~33章、奬勵章節第35~39章及第42章)這一部分介紹高級Java程序設計。第30章介紹使用多綫程使程序具有更好的響應和交互性,並介紹並行編程。第31章討論如何編寫程序使得Internet上的不同主機能夠相互對話。第32章介紹使用Java來開發數據庫項目。第33章介紹使用JavaServer Faces進行現代Web應用程序開發。第35章探究高級Java數據庫程序設計。第36章涵蓋國際化支持的使用,以開發麵嚮全球使用者的項目。第37和38章介紹如何使用Java servlet和JSP創建來自Web服務器的動態內容。第39章討論Web服務。第42章介紹使用JUnit測試Java程序。
  附錄附錄A列齣Java關鍵字。附錄B給齣十進製和十六進製ASCII字符集。附錄C給齣操作符優先級。附錄D總結Java修飾符和它們的使用。附錄E討論特殊的浮點值。附錄F介紹數係以及二進製、十進製和十六進製間的轉換。附錄G介紹位操作。附錄H介紹正則錶達式。附錄I涵蓋枚舉類型。
  Java開發工具可以使用Windows記事本(NotePad)或寫字闆(WordPad)這樣的文本編輯器創建Java程序,然後從命令窗口編譯、運行這個程序。也可以使用Java開發工具,例如, NetBeans或者Eclipse。這些工具支持快速開發Java應用程序的集成開發環境(IDE),編輯、編譯、構建、運行和調試程序都集成在一個圖形用戶界麵中。有效地使用這些工具可以極大地提高編寫程序的效率。如果按照教程學習,NetBeans和Eclipse也是易於使用的。關於NetBeans和Eclipse的教程,參見配套網站。
  學生資源學生資源可以從本書的配套網站得到,具體包括:
  復習題的答案。
  偶數號編程練習題的解答。
  本書例子的源代碼。
  交互式的自測題(按章節組織)。
  補充材料。
  調試技巧。
  算法動畫。
  勘誤錶。
  教師資源教師資源包括:
  PowerPoint教學幻燈片,通過交互性的按鈕可以觀看彩色並且語法項高亮顯示的源代碼,並可以不離開幻燈片運行程序。
  所有編程練習題的答案。學生隻可以得到偶數號練習題的答案。
  100多道編程練習題,按章節組織。這些練習題僅對教師開放,並提供答案。
  基於Web的測試題生成器。(教師可以選擇章節以從2000多個大型題庫中生成測試題。)樣捲。大多數試捲包含4個部分:
  多選題或者簡答題。
  改正編程錯誤。
  跟蹤程序。
  編寫程序。
  ACM/IEEE課程體係2013版。新的ACM/IEEE計算機科學課程體係2013版將知識主體組織成18個知識領域。為瞭幫助教師基於本書設計課程,我們提供瞭示例教學大綱來確定知識領域和知識單元。示例教學大綱用於一個三學期的課程係列,作為一個學院自定義(institutional customization)示例。
  具有ABET課程評價的樣捲。
  課程項目。通常,每個項目給齣一個描述,並且要求學生分析、設計和實現該項目。
  緻謝感謝阿姆斯特朗亞特蘭大州立大學給我機會講授我所寫的內容,並支持我將所教的內容編寫成教材。教學是我持續改進本書的靈感之源。感謝使用本書的教師和學生提齣的評價、建議、錯誤報告和贊揚。
  由於有瞭對本版和以前版本的富有見解的審閱,本書得到很大的改進。感謝以下審閱人員:Elizabeth Adams (James Madison University), Syed Ahmed (North Georgia College and State University), Omar Aldawud (Illinois Institute of Technology), Stefan Andrei(Lamar University),Yang Ang (University of Wollongong, Australia), Kevin Bierre (Rochester Institute of Technology), David Champion (DeVry Institute), James Chegwidden (Tarrant County College), Anup Dargar (University of North Dakota), Charles Dierbach (Towson University), Frank Ducrest (University of Louisiana at Lafayette), Erica Eddy (University of Wisconsin at Parkside), Deena Engel (New York University), Henry A Etlinger (Rochester Institute of Technology), James Ten Eyck (Marist College), Myers Foreman(Lamar University),Olac Fuentes (University of Texas at El Paso),Edward F. Gehringer(North Carolina State University), Harold Grossman (Clemson University), Barbara Guillot (Louisiana State University),Stuart hansen(University of Wisconsin, Parkside),Dan Harvey(Southern Oregon University), Ron Hofman (Red River College, Canada), Stephen Hughes (Roanoke College), Vladan Jovanovic (Georgia Southern University), Edwin Kay (Lehigh University), Larry King (University of Texas at Dallas), Nana Kofi (Langara College, Canada), George Koutsogiannakis (Illinois Institute of Technology), Roger Kraft (Purdue University at Calumet),Norman Krumpe(Miami University), Hong Lin (DeVry Institute), Dan Lipsa (Armstrong Atlantic State University), James Madison (Rensselaer Polytechnic Institute), Frank Malinowski (Darton College), Tim Margush (University of Akron), Debbie Masada (Sun Microsystems), Blayne Mayfield (Oklahoma State University), John McGrath (J.P. McGrath Consulting),Hugh McGuire(Grand Valley State), Shyamal Mitra (University of Texas at Austin), Michel Mitri (James Madison University), Kenrick Mock (University of Alaska Anchorage), Frank Murgolo(California State University, Long Beach),Jun Ni (University of Iowa), Benjamin Nystuen (University of Colorado at Colorado Springs), Maureen Opkins (CA State University, Long Beach), Gavin Osborne (University of Saskatchewan), Kevin Parker (Idaho State University), Dale Parson (Kutztown University), Mark Pendergast (Florida Gulf Coast University), Richard Povinelli (Marquette University), Roger Priebe (University of Texas at Austin), Mary Ann Pumphrey (De Anza Junior College), Pat Roth (Southern Polytechnic State University),Amr Sabry(Indiana University),Ben Setzer(Kennesaw State University),Carolyn Schauble (Colorado State University), David Scuse (University of Manitoba), Ashraf Shirani (San Jose State University), Daniel Spiegel (Kutztown University), Joslyn A. Smith(Florida Atlantic University), Lixin Tao (Pace University), Ronald F. Taylor(Wright State University),Russ Tront (Simon Fraser University), Deborah Trytten (University of Oklahoma), Michael Verdicchio(Citadel),Kent Vidrine (George Washington University), Bahram Zartoshty (California State University at Northridge)。
  能夠與Pearson齣版社一起工作,我感到非常愉快和榮幸。感謝Tracy Johnson和她的同事Marcia Horton、Yez Alayan、Carole Snyder、Scott Disanno、Bob Engelhardt、Haseen Khan,感謝他們組織、開展和積極促進本項目。
  一如既往,感謝我妻子Samantha的愛、支持和鼓勵。


深入探索Java編程的基石與實踐 本書是一套精心編排的Java語言程序設計教程,旨在為廣大編程愛好者、計算機專業學生以及希望掌握Java技能的從業者提供一份全麵而深入的學習指南。本套裝共包含兩冊,內容覆蓋瞭Java編程的方方麵麵,從基礎概念的引入到高級特性的講解,再到實際應用的開發,力求為讀者構建堅實的Java知識體係。 第一冊:Java語言基礎與核心概念 本冊內容聚焦於Java語言的核心要素,為讀者打下堅實的基礎。我們從Java的誕生背景、發展曆程以及其“一次編寫,到處運行”的跨平颱特性入手,讓讀者對Java有一個宏觀的認識。隨後,我們將深入講解Java程序的結構,包括類、對象、方法等麵嚮對象編程(OOP)的基本概念。 變量與數據類型: 詳細介紹Java提供的各種基本數據類型(整型、浮點型、字符型、布爾型)以及引用數據類型,並闡述變量的聲明、初始化和作用域。我們將通過豐富的代碼示例,展示如何有效地使用變量來存儲和操作數據。 運算符與錶達式: 全麵講解算術運算符、關係運算符、邏輯運算符、位運算符、賦值運算符以及條件運算符等,並說明它們在構建復雜錶達式中的作用。讀者將學會如何利用運算符進行各種數據計算和邏輯判斷。 控製流語句: 這是程序實現邏輯控製的關鍵。本冊將詳細講解條件語句(if-else, switch-case)和循環語句(for, while, do-while),以及跳轉語句(break, continue, return)。通過大量的實際練習,讀者將能夠熟練掌握如何根據不同條件執行不同的代碼塊,以及如何實現重復性的任務。 數組: 數組是存儲同類型數據集閤的重要結構。我們將介紹一維數組和多維數組的聲明、初始化和訪問方式,並探討數組在數據存儲和處理中的應用。 字符串處理: Java提供瞭強大的`String`類來處理文本數據。本冊將深入講解`String`類的常用方法,如字符串的拼接、查找、替換、分割等,並介紹`StringBuilder`和`StringBuffer`用於更高效的字符串操作。 麵嚮對象編程(OOP)深入: 這是Java的靈魂所在。我們將詳細闡述OOP的四大基本原則:封裝、繼承、多態和抽象。 封裝: 講解訪問修飾符(public, private, protected, default),以及如何通過getter和setter方法來控製對類成員的訪問,從而實現數據的安全性和模塊化。 繼承: 介紹`extends`關鍵字,講解父類與子類的關係,以及方法重寫(override)的概念。通過繼承,子類可以復用父類的屬性和方法,提高代碼的重用性。 多態: 重點講解嚮上轉型和嚮下轉型,以及接口和抽象類的作用。多態使得同一個方法可以根據不同的對象錶現齣不同的行為,極大地增強瞭程序的靈活性和可擴展性。 抽象: 介紹抽象類和抽象方法,以及接口。抽象類和接口定義瞭規範,但不提供具體實現,強製子類或實現類必須提供具體的行為。 類與對象的高級特性: 構造方法: 講解構造方法的定義、作用以及如何使用它們來初始化對象。 靜態成員: 介紹`static`關鍵字,理解類變量和類方法,以及它們與實例變量和實例方法在生命周期和訪問方式上的區彆。 內部類: 探討成員內部類、局部內部類、匿名內部類以及靜態內部類,理解它們在特定場景下的使用優勢。 包(Packages): 講解包的概念,如何組織和管理類,以及`import`語句的使用,避免命名衝突,提高代碼的可維護性。 異常處理: 任何程序都可能遇到錯誤,Java的異常處理機製能夠幫助我們優雅地處理運行時錯誤。本冊將詳細講解`try-catch-finally`塊,`throw`和`throws`關鍵字,以及Checked Exception和Unchecked Exception的區彆,幫助讀者編寫健壯的程序。 集閤框架(Collections Framework): 集閤框架是Java處理一組對象的重要工具。我們將深入介紹`List`、`Set`、`Map`等核心接口及其常用實現類,如`ArrayList`、`LinkedList`、`HashSet`、`TreeSet`、`HashMap`、`TreeMap`等。讀者將學會如何選擇閤適的集閤類來存儲和管理數據,以及如何進行高效的數據檢索和操作。 第二冊:Java進階特性與實際應用開發 本冊將進一步拓展讀者的Java知識,進入更高級的領域,並引導讀者將所學知識應用於實際開發。 輸入/輸齣(I/O)流: 掌握Java I/O流是進行文件操作、網絡通信等關鍵技能。我們將講解字節流(InputStream, OutputStream)和字符流(Reader, Writer)的概念,以及`FileInputStream`、`FileOutputStream`、`FileReader`、`FileWriter`等常用類的使用。重點介紹緩衝流(`BufferedInputStream`, `BufferedOutputStream`, `BufferedReader`, `BufferedWriter`)和數據流(`DataInputStream`, `DataOutputStream`)的應用,以及`Serializable`接口用於對象的持久化。 多綫程編程: 在現代應用中,多綫程是提升性能和響應能力的重要手段。本冊將講解綫程的創建方式(繼承`Thread`類和實現`Runnable`接口),綫程的生命周期,以及綫程間的通信和同步(`synchronized`關鍵字、`wait()`、`notify()`、`notifyAll()`)。我們將介紹並發包(`java.util.concurrent`)中的高級工具,如綫程池、鎖機製等,幫助讀者構建高效的並發程序。 網絡編程: 學習Java進行網絡編程是開發分布式應用和服務的基礎。我們將介紹TCP/IP協議和UDP協議,以及Java提供的Socket編程接口。讀者將學會如何創建客戶端和服務器端應用程序,實現數據在網絡上的傳輸。 JDBC(Java Database Connectivity): 數據庫是絕大多數應用程序不可或缺的一部分。本冊將詳細講解JDBC API,包括加載數據庫驅動、建立數據庫連接、執行SQL語句、處理查詢結果等。我們將通過實際示例,演示如何使用Java與MySQL、Oracle等主流數據庫進行交互。 泛型(Generics): 泛型提供瞭在編譯時檢查類型安全的能力,避免瞭強製類型轉換的麻煩,提高瞭代碼的可讀性和可維護性。本冊將深入講解泛型的定義、使用泛型類、泛型接口和泛型方法,以及通配符的使用。 Lambda錶達式與函數式接口: Java 8引入的Lambda錶達式使得函數式編程風格在Java中得以實現,極大地簡化瞭代碼,特彆是與集閤框架結閤使用時。本冊將詳細講解Lambda錶達式的語法,函數式接口的概念,以及它們在集閤操作、事件處理等方麵的應用。 Stream API: Stream API是Java 8帶來的另一個重要特性,它提供瞭一種聲明式的方式來處理數據集閤。我們將講解Stream的創建、中間操作(filter, map, reduce等)和終端操作,以及如何利用Stream API實現高效的數據處理和分析。 反射(Reflection): 反射機製允許程序在運行時檢查、修改類、接口、字段和方法,甚至創建和調用對象。本冊將介紹反射的基本概念,如何獲取類對象、構造方法、字段和方法,以及如何使用反射創建對象和調用方法。 注解(Annotations): 注解是一種元數據,用於嚮代碼中添加額外的信息,這些信息可以在編譯時或運行時被解析和使用。本冊將講解Java內置注解(如`@Override`, `@Deprecated`),自定義注解的創建,以及注解處理器的工作原理,並介紹Spring框架等常用注解的應用。 Java EE(Enterprise Edition)簡介與Web開發基礎: 對於希望進行企業級應用開發的讀者,本冊將提供Java EE的概覽,介紹Servlet和JSP(JavaServer Pages)等技術,為讀者搭建Web應用開發的基礎。我們將簡要介紹HTTP協議,以及如何使用Servlet處理客戶端請求,使用JSP動態生成HTML頁麵。 構建工具與版本控製: 成功的軟件開發離不開有效的工具。本冊將簡要介紹Maven或Gradle等項目構建工具的基本使用,以及Git等版本控製係統的核心概念和常用操作,幫助讀者掌握項目管理和協作開發的基本流程。 本書的每一個章節都配有大量的代碼示例,這些示例經過精心設計,既能清晰地演示概念,又能貼近實際開發場景。此外,每章結尾都設有練習題,旨在幫助讀者鞏固所學知識,並通過實踐加深理解。 總而言之,這套《Java語言程序設計》是您踏上Java編程之旅的理想伴侶。無論您是初學者,還是希望提升技能的開發者,都能從中獲益匪淺,掌握Java這門強大而靈活的編程語言,為您的職業生涯打下堅實的基礎。

用戶評價

評分

說實話,我剛開始買這套書的時候,內心是有點忐忑的。我不是計算機專業的,之前對Java也僅限於聽說過,完全是個小白。但迫於工作需要,我不得不快速掌握Java。這套《Java語言程序設計(原書第10版)》簡直是我的救命稻草!它的語言風格非常親切,不像一些技術書籍那樣晦澀難懂。作者像是你的朋友一樣,一步步引導你,從最簡單的“Hello, World!”開始,慢慢過渡到更復雜的概念。我特彆喜歡書中的“小貼士”和“注意”部分,這些都是作者根據多年的教學經驗總結齣來的,能夠幫助我們少走很多彎路。而且,書中對很多概念的解釋都非常形象化,比如用“工廠”來比喻類的創建過程,一下子就讓我這個門外漢明白瞭。雖然我還沒有完全學完,但可以肯定的是,這套書為我打下瞭堅實的基礎,讓我對Java的信心大增,也讓我覺得編程並沒有想象中那麼遙不可及。

評分

這本書給我最深刻的印象就是它的“全”。真的,無論你是想從零開始學習Java,還是已經有一定基礎想要係統性地查漏補缺,這套書都能滿足你。它涵蓋瞭Java SE的所有核心內容,從語法基礎到麵嚮對象,再到常用的API和一些進階的主題,應有盡有。我驚喜地發現,即使是那些我曾經覺得很簡單的概念,在這本書裏也能找到更深入的解釋和更全麵的應用場景。而且,它的例子非常貼近實際,不像有些書那樣隻是為瞭講理論而舉例。書中的代碼片段都簡潔高效,並且都有詳細的注釋,讓人一看就明白。最關鍵的是,它不隻是告訴你“怎麼做”,更會告訴你“為什麼這麼做”,這對於培養獨立解決問題的能力至關重要。我把它當作一本“工具書”和“學習手冊”,隨時查閱,總能獲得新的啓發。

評分

我是一名在校大學生,之前也零零散散接觸過一些編程語言,但總覺得不夠係統,缺乏深入的理解。偶然的機會,我聽同學推薦瞭這本《Java語言程序設計(原書第10版)》,於是抱著試試看的心態入手瞭。拿到手後,我最大的感受就是“專業”和“權威”。這套書的編排非常嚴謹,內容詳實,每一個知識點都講得非常透徹,而且提供瞭大量的代碼示例,這些示例都經過精心設計,能夠很好地體現書中講解的理論知識。我特彆喜歡它對細節的處理,比如對於一些容易齣錯的地方,作者都會提前指齣,並給齣避免的建議,這對於初學者來說簡直是福音。而且,書中還穿插瞭一些關於軟件工程、設計模式等更深層次的內容,雖然有些地方我目前還不能完全消化,但已經讓我對未來的學習方嚮有瞭更清晰的認識。這套書不僅適閤初學者入門,對於有一定基礎想要鞏固和提升的讀者來說,也同樣具有極高的價值。

評分

這套書簡直是給我打開瞭新世界的大門!我之前對編程一直有點模糊的概念,總覺得那是大神纔能玩轉的東西。結果拿到這套《Java語言程序設計(原書第10版)》,光看封麵就感覺很紮實,翻開第一冊,就被它清晰的邏輯和由淺入深的講解方式吸引住瞭。從最基礎的變量、數據類型開始,作者一步步引導,讓你在不知不覺中理解瞭程序是如何運行的。尤其是關於麵嚮對象編程的那部分,我以前總覺得抽象,但書裏通過大量的例子,比如模擬現實生活中的對象,讓我茅塞頓開,終於明白瞭類、對象、繼承、多態這些核心概念的真正含義。而且,每一章後麵都有精心設計的習題,有些挑戰性,但當你通過自己的思考和敲擊鍵盤,終於讓代碼跑起來,並得到預期結果的那一刻,那種成就感簡直是無與倫比的!這套書不僅教我怎麼寫代碼,更讓我學會瞭如何思考,如何用編程的邏輯去解決問題。雖然內容很多,但我一點都不覺得枯燥,反而充滿探索的樂趣。

評分

我是一名有幾年Java開發經驗的程序員,一直想找一本能夠係統梳理和深化我對Java理解的書籍。經過一番對比,最終選擇瞭這套《Java語言程序設計(原書第10版)》。拿到書後,果然沒有讓我失望。它不僅僅是知識的堆砌,更是一種思想的傳承。書中對Java核心概念的講解,比如JVM的工作原理、內存管理、垃圾迴收機製等,都做到瞭深入淺齣,而且提供瞭非常多底層原理的剖析,這對於我這種需要優化代碼性能的開發者來說,簡直是寶藏。我尤其欣賞書中關於並發編程和多綫程的部分,講解得非常細緻,並且考慮到瞭很多實際開發中容易遇到的問題。雖然我已經使用Java多年,但通過閱讀這套書,我還是學到瞭很多新的知識點和更優化的處理方式。這套書的深度和廣度都相當可觀,非常適閤想要在Java領域深耕的開發者。

評分

進階篇》組成。基礎篇對應原書的第1~18章,進階篇對應原書的第19~33章。為滿足對Web設計有濃厚興趣的同學,本版在配套網站上增加瞭第34~42章的內容,以提供更多的相關信息。

評分

書很不錯,包裝得很好,字跡很清晰,是正版,京東自營就是棒

評分

商品的質量很不錯,價格也不貴,要開始學習啦!

評分

剛收到,包裝就讓人期待

評分

書送的很快,沒有皺角。很好的書,講的通俗易懂。

評分

書收到瞭,感覺棒棒噠

評分

感覺很不錯 有新書的味道 昨天下的單 今天中午就到瞭 真的很快 拿到的《Java語言程序設計》希望自己這學期能好好學習 努力一點 加油!感覺還不錯,這本書 是老師推薦要買的 大一下學期必須要學的課程。順便拍幾張照片,希望對你們有所幫助 供你們參考

評分

感覺比較難,但是認真學習應該不難。

評分

京東的物流不用說瞭,書本很nice喔

相關圖書

本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有