Java語言的經典教材,多年來暢銷不衰。本書全麵整閤瞭Java 8的特性,采用“基礎優先,問題驅動”的教學方式,循序漸進地介紹瞭程序設計基礎、解決問題的方法、麵嚮對象程序設計、圖形用戶界麵設計、異常處理、I/O和遞歸等內容
本書是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多道的編程練習題。
作者簡介
梁勇(Y. Daniel Liang)
現為阿姆斯特朗亞特蘭大州立大學計算機科學係教授。之前曾是普度大學計算機科學係副教授,並兩次獲得普度大學傑齣研究奬。他所編寫的Java教程在美國大學Java課程中采用率極高,同時他還兼任Prentice
Hall Java係列叢書的編輯。他是“Java
Champion”榮譽得主,並在世界各地為在校學生和程序員做JAVA程序設計方法及技術方麵的講座。
譯者簡介
戴開宇 復旦大學軟件學院教師,工程碩士導師,中國計算機學會會員。博士畢業於上海交通大學計算機應用專業,2011~2012年在美國佛羅裏達大學作訪問學者。承擔多門本科專業課程、通識教育課程以及工程碩士課程,這些課程被評為校精品課程,上海市重點建設課程,IBM-教育部精品課程等。
Introduction to Java Programming, Comprehension Version, Tenth Edition
齣版者的話
中文版序
譯者序
前言
第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.5 Java、萬維網以及其他 9
1.6 Java語言規範、API、JDK和IDE 10
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.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.2.1 三角函數方法 101
4.2.2 指數函數方法 102
4.2.3 取整方法 102
4.2.4 min、max和abs方法 102
4.2.5 random方法 103
4.2.6 示例學習:計算三角形的角度 103
4.3 字符數據類型和操作 105
4.3.1 Unicode和ASCII碼 105
4.3.2 特殊字符的轉義序列 106
4.3.3 字符型數據與數值型數據之間的轉換 107
4.3.4 字符的比較和測試 107
4.4 String類型 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.2 while循環 134
5.2.1 示例學習:猜數字 136
5.2.2 循環設計策略 138
5.2.3 示例學習:多個減法測試題 138
5.2.4 使用標記值控製循環 140
5.2.5 輸入和輸齣重定嚮 141
5.3 do-while循環 143
5.4 for循環 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和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
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.7 foreach循環 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.12 Arrays類 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
程序在第6行創建一個魔法數,然後提示用戶在一個循環中連續輸入猜測值(第12~23行)。對每一次猜測,程序檢查該猜測數是否正確,是偏高還是偏低瞭(第17—22行)。當某次猜測正確時,程序就退齣這個循環(第12行)。注意:guess被初始化為—1將它初始化為0到100之間的值會齣錯,因為它很嗬能就是要猜的數。
5.2.2循環設計策略
編寫一個正確的循環對編程新手來說,並不是件容易的事。編寫循環時應該考慮如下二個步驟:
第一步:確定需要重復的語句。
第二步:將這些語句放在一個循環中,如下所示:
5.23示例學習:多個減法測試題
程序清單3—3中的數學減法學習工具程序,每次運行隻能産生一道題目。可以使用一個循環重復産生題目。那麼如何編寫能産生5道題目的代碼呢?遵循循環設計策略。首先,確定需要重復的語句。這些語句包括:獲取兩個隨機數,提示用戶對兩數做減法然後給試題打分。然後,將這些語句放在一個循環裏。最後,增加一個循環控製變量和循環繼續條件,然後執行循環五次。
程序清單5—4給齣的程序可以産生5道問題,在學生迴答完所有5個問題後,報告迴答正確的題數。這個程序還顯示該測試所花的時間,並列齣所有的題目。
……
對於一個剛開始接觸編程的新手來說,選擇一本閤適的入門教材至關重要。而這本《Java語言程序設計(基礎篇 原書第10版)》無疑是我遇到的最優秀的教材之一。在閱讀之前,我對編程完全一竅不通,甚至連“變量”是什麼概念都模糊不清。但是,這本書從最最基礎的概念講起,循序漸進,一點一點地引導我走進瞭Java的世界。書中大量的例子,都是貼近生活,或者是一些簡單易懂的小程序,讓我能夠立刻動手實踐,而不是僅僅停留在理論層麵。我記得第一個讓我産生成就感的程序,就是跟著書本一步步寫齣來的,雖然很簡單,但那種“我做齣來瞭”的喜悅感,至今難忘。而且,這本書並沒有把我淹沒在各種復雜的術語中,而是用一種非常易懂的語言來解釋每一個概念。我感覺作者就像一位耐心的老師,時刻擔心我跟不上,所以會不斷地提醒我,強化我的理解。這本書讓我對編程的恐懼感消失瞭,取而代之的是濃厚的興趣和自信。
評分作為一個多年從事軟件開發的工程師,我深知一本好的技術書籍的價值。而這本《Java語言程序設計(基礎篇 原書第10版)》絕對是我技術書架上不可或缺的一部分。它不僅僅是一本“基礎篇”,更是一本能夠陪伴你從入門到精通的寶典。書中對於Java核心概念的闡述,可以說是做到瞭極緻的精闢和深刻。那些我曾經在實際開發中遇到過的,但一時難以解釋清楚的疑難雜癥,在這本書中都能找到清晰的答案。例如,在處理集閤框架時,作者不僅講解瞭各種集閤類的使用方法,更深入地分析瞭它們內部的實現原理,這對於優化代碼性能、選擇閤適的集閤類至關重要。此外,書中對異常處理、IO流、文件操作等實用技術的講解,也同樣細緻入微,並且結閤瞭大量的實際應用場景,讓讀者能夠學以緻用。我尤其欣賞的是,這本書始終貫穿著“麵嚮對象”的設計思想,讓你在學習具體語法的同時,也能領悟到如何寫齣更健壯、更易於維護的代碼。這本書對於提升我的編程功底,絕對起到瞭至關重要的作用。
評分這本書的上市,簡直就是一場技術界的盛宴!作為一名在Java世界裏摸爬滾打多年的老兵,我一直對這本經典的教材念念不忘。翻開這嶄新的第10版,我仿佛看到瞭熟悉的味道,又感受到瞭撲麵而來的新鮮空氣。那些經典的案例,那些深入淺齣的講解,依舊是那麼的精煉和到位,仿佛是一位老友在娓娓道來,讓你在輕鬆愉快的氛圍中,逐步掌握Java的精髓。書中對於每一個知識點的剖析都細緻入微,從最基礎的語法結構,到復雜的麵嚮對象設計,再到後期的泛型和並發,簡直是麵麵俱到,無一遺漏。我特彆欣賞作者在闡述概念時所采用的比喻和實例,它們總是那麼恰如其分,能夠迅速將抽象的理論轉化為具象的理解。即使是對於初學者來說,也不會感到過於晦澀難懂,而是能循序漸進地建立起紮實的編程思維。而且,新版本在內容上也有不少更新,對於一些新的技術趨勢和最佳實踐都有所提及,這對於希望緊跟技術前沿的開發者來說,無疑是一大福音。總而言之,這本書不僅僅是一本教材,更像是一份寶貴的編程指南,無論你是初次接觸Java,還是希望鞏固和提升自己的技能,它都能為你提供源源不斷的知識養分。
評分我最近在鑽研Java的時候,恰好遇到瞭瓶頸,各種資料看得眼花繚亂,卻總覺得抓不住重點。正當我一籌莫展之際,朋友嚮我推薦瞭這本《Java語言程序設計(基礎篇 原書第10版)》。說實話,一開始我對一本“基礎篇”的書並沒有抱太高的期望,畢竟我自認為已經有瞭一定的基礎。然而,當我翻閱起來,卻驚喜地發現,這本書的深度和廣度完全超齣瞭我的想象。它並沒有停留在簡單的語法羅列,而是深入剖析瞭Java的底層機製,以及各種設計模式的應用。例如,書中對多綫程並發的講解,簡直是讓我茅塞頓開,之前那些模糊的概念一下子就清晰瞭。它不僅僅告訴你“怎麼做”,更重要的是告訴你“為什麼這麼做”,並且提供瞭多種實現方式,以及各自的優缺點分析。這對於我這種喜歡刨根問底的人來說,簡直是如獲至寶。而且,書中提供的代碼示例都非常具有代錶性,並且附帶瞭詳細的解釋,讓讀者能夠理解每一行代碼的意義和作用。我發現,通過閱讀這本書,我不僅鞏固瞭已有的知識,更是在很多方麵有瞭新的突破,對Java的理解也上升到瞭一個全新的高度。
評分這本Java教材的排版和設計,真的是沒得說。打開封麵,那種厚重感和質感就讓人覺得內容一定很紮實。內頁的紙張質量也很好,印刷清晰,字體大小適中,閱讀起來非常舒服,長時間看書也不會感到眼睛疲勞。最讓我印象深刻的是,書中每一章的結構都非常清晰,有明確的學習目標,章節開頭的引導語能夠幫助讀者快速瞭解本章將要學習的內容,章節結尾的總結和練習題更是對知識點的鞏固起到瞭至關重要的作用。我特彆喜歡書中的一些圖示和流程圖,它們將復雜的概念可視化,讓理解變得更加直觀和容易。例如,在講解類與對象的關係時,作者通過生動的圖形化錶示,讓我一下子就明白瞭繼承、封裝、多態這些核心概念。而且,這本書的語言風格也非常考究,既嚴謹又不失活潑,讀起來一點也不枯燥。我常常會在閱讀過程中,因為作者的某個生動比喻而會心一笑。這本教材給我帶來的不僅僅是知識,更是一種愉悅的學習體驗。
評分Java語言的經典教材,多年來暢銷不衰。本書全麵整閤瞭Java 8的特性,采用“基礎優先,問題驅動”的教學方式,循序漸進地介紹瞭程序設計基礎、解決問題的方法、麵嚮對象程序設計、圖形用戶界麵設計、異常處理、I/O和遞歸等內容
評分厚,軟。刻苦學習的時間開始瞭。
評分專業必備,偶爾翻翻
評分Java語言的經典教材,多年來暢銷不衰。本書全麵整閤瞭Java 8的特性,采用“基礎優先,問題驅動”的教學方式,循序漸進地介紹瞭程序設計基礎、解決問題的方法、麵嚮對象程序設計、圖形用戶界麵設計、異常處理、I/O和遞歸等內容
評分書本非常不錯質量很好印刷很清晰是正版非常棒會好好學的
評分挺好的。塑封完整。內容也是我希望的。之前看過,電子版。還是紙質版,有感覺。
評分還可以,將就用;還可以,將就用;還可以,將就用;還可以,將就用;
評分不錯挺好不錯挺好不錯挺好不錯挺好不錯挺好
評分夢寐以求的大黑皮書到瞭,包裝很細心呀。哈哈 好評好評
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有