博客來
誠品
天瓏
PChome
三民書局
讀冊生活
旗標蝦皮商城
15 年的淬鍊,成就「初學 Java 的最佳入門教材」本書從第一版出版至今已超過 15 個年頭, 累積銷量超過 5 萬冊, 是最受好評的 Java 入門教材。期間配合 Java 版本的演進歷經多次改版, 每次改版都匯集了眾多讀者、教師的意見, 適當增加了新的題材與語法, 同時也因應不同世代的需求, 刪除過時的內容, 務求讓書中內容更簡明易懂、更符合初學者的需求。Java 語言一直是企業界最愛用的語言, 因此我們期許讀者不僅撰寫出可編譯、可執行的 Java 程式, 更重要的是要瞭解良好的程式設計方法, 以及軟體設計的邏輯思維, 才能快速融入開發團隊, 成為符合業界需求的程式設計師。具備良好的程式設計方法, 建立正確的物件導向概念, 才能真正寫好 Java 程式Java 是物件導向的程式語言, 學習正確的物件導向觀念非常重要, 本書在介紹類別、物件、繼承、介面、套件、類別庫、集合等主題時, 均特別著重觀念的解析與釐清, 並引用各種實例來演示及驗證所學, 以確保能學會最紮實的物件導向觀念。書中以圖文搭配豐富的範例進行解說, 處處可見「正確」、「錯誤」的實作案例對照, 清楚展示各種語言元素的變化用法與差異, 讓讀者從「做」中體會物件導向程式的精髓, 非常適合作為初學入門、紮穩基礎的第一本書。
★ 本書內容適用 JDK 17/11 等主要版本 ★◆ 清楚詳盡的語法解說針對 Java 的資料型別、變數存取、及各種語法均有清楚詳盡的解說, 各單元均提供眾多的範例程式, 以強化學習效果並培養程式撰寫能力, 非常適合做為初學者的入門學習書。◆ 最紮實的物件導向觀念最易懂的物件導向觀念, 引用各種實例來介紹類別、物件、繼承、介面、套件、類別庫、集合的使用方式, 並釐清容易混淆的重要觀念, 以確保能紮穩正確清楚的物件導向觀念。◆ 業界常用的進階語法與實用主題除了基本語法和觀念外, 也涵括了字串的規則表示法、Varargs 可變參數、基本型別的自動封箱 (Auto Boxing) 與拆箱 (Unboxing)、static 成員、抽象類別、匿名類別、Lambda 運算式、多執行緒、Collection 類別庫、Java AWT/Swing 圖形介面設計、2D 繪圖等實用主題。◆ 精心設計的 3 種強化學習單元每章最後均包含以下單元:(1)綜合演練-提供多個應用實例, 以觀摩如何將該章所學靈活運用於程式中。(2)學習評量-進行重要語法及觀念的測驗, 以加深學習印象並導正觀念。(3)程式練習-讓您實地從做中學, 以確實掌握程式設計的技巧與能力。
第 1 章 Java 簡介1-1 Java 程式語言的特色1-2 Java 平台簡介1-3 Android 與 Java第 2 章 初探 Java2-1 撰寫第一個 Java 程式 2-2 使用 Eclipse 建立、編輯、與執行 Java 程式2-3 Java 程式的組成要素第 3 章 變數3-1 甚麼是變數? 3-2 資料型別 (Data Types)3-3 基本型別 (Primitive Data Types) 3-4 參照型別 (Reference Data Types) 3-5 宣告變數的技巧 3-6 常數 3-7 良好的命名方式 第 4 章 運算式 (Expression) 4-1 甚麼是運算式? 4-2 指定算符 (Assignment Operator)4-3 數值運算4-4 布林運算 (Logical Operation)4-5 位元運算 (Bitwise Operation) 4-6 運算式的運算順序4-7 資料的轉型 (Type Conversion)4-8 其他算符4-9 取得輸入第 5 章 流程控制 (一):條件分支5-1 甚麼是流程控制?5-2 if 條件分支5-3 switch 多條件分支5-4 綜合演練5-4-1 判斷是否可為三角形的三邊長 5-4-2 電影票票價計算5-4-3 利用手機序號判斷製造年份 第 6 章 流程控制 (二):迴圈6-1 for 迴圈6-2 while 迴圈6-3 do/while 迴圈6-4 巢狀迴圈6-5 變更迴圈流程的 break 與 continue6-6 綜合演練6-6-1 迴圈與 if 條件式混合應用:判斷質數 6-6-2 Scanner 類別的輸入檢查 6-6-3 各種迴圈的混合應用:計算階乘 第 7 章 陣列 (Array) 7-1 甚麼是陣列?7-2 陣列的配置與初值設定7-3 多維陣列 (Multi-Dimensional Array) 7-4 參照型別 (Reference Data Type) 7-5 命令列參數:argv 陣列 7-6 綜合演練7-6-1 將陣列運用在查表上7-6-2 找出最大與最小值.7-6-3 搜尋二維陣列7-6-4 排序(Sorting) 7-6-5 利用陣列儲存計算結果 第 8 章 物件導向程式設計 ((Object-Oriented Programming)8-1 認識類別與物件8-1-1 類別 (Class) 與物件 -- Java 舞台劇的角色與演員 8-1-2 程式流程 -- Java 舞台劇的劇本8-1-3 main () 方法 -- Java 舞台劇的舞台8-2 定義類別與建立物件 8-2-1 定義類別8-2-2 成員變數 -- 類別的屬性8-2-3 方法 (Method) -- 類別的行為 8-2-4 使用物件8-2-5 物件的銷毀與回收.8-3 方法的進階應用 8-3-1 方法的參數8-3-2 方法的傳回值8-3-3 參數的傳遞方式8-3-4 變數的有效範圍(Scope)8-3-5 匿名陣列 (Anonymous Array)8-3-6 遞迴 (Recursive) 8-4 方法的多重定義 (Overloading)8-4-1 定義同名方法8-4-2 多重定義方法時的注意事項8-5 綜合演練 8-5-1 用遞迴求階乘8-5-2 Fibonacci 數列8-5-3 快速排序法 (Quick Sort)8-5-4 河內之塔遊戲 (Hanoi Tower) 第 9 章 物件的建構9-1 建構方法 (Constructor) 9-1-1 預設建構方法 (Default Constructor) 9-1-2 自行定義建構方法.9-1-3 建構方法的多重定義 (Overloading) 9-1-4 this 保留字 9-2 封裝與資訊隱藏 9-2-1 類別成員的存取控制9-2-2 為成員變數撰寫存取方法9-2-3 傳回成員物件的資訊9-3 static 共享成員變數9-3-1 static 存取控制9-3-2 使用類別名稱存取 static 成員變數9-3-3 static 初始區塊9-3-4 static 方法 ( 靜態方法 ) 9-3-5 final 存取控制9-3-6 成員變數的預設值.9-4 綜合演練 9-4-1 提供輔助工具的類別9-4-2 善用多重定義第 10 章 字串(String)10-1 字串的產生 10-2 String 類別的方法 10-3 StringBuffer 與 StringBuilder 類別.10-4 規則表示法 (Regular Expression)10-5 綜合演練 10-5-1 檢查身份證字號的格式10-5-2 檢核身份證字號第 11 章 繼承(Inheritance)11-1 甚麼是繼承? 11-1-1 不同物件的相似性11-1-2 繼承的語法11-1-3 繼承關係中的物件建構11-1-4 再論資訊隱藏:使用 protected 的時機 11-1-5 多層的繼承 (Hierarchical Inheritance) 11-2 方法的繼承、重新定義、與多形 11-2-1 方法的繼承11-2-2 方法的重新定義 (Overridding) 11-2-3 多重定義父類別的方法11-2-4 多形 (Polymorphism) 11-2-5 多形的效用11-3 繼承的注意事項 11-3-1 繼承與存取控制11-3-2 定義同名的成員變數11-3-3 不能被修改的方法 -- final 存取限制11-3-4 建構方法不能被繼承11-3-5 類別間的 is-a 與 has-a 關係11-4 Object 類別與基本資料類別11-4-1 類別的始祖 -- Object 類別11-4-2 代表基本型別的類別11-5 綜合演練 11-5-1 傳遞不定數量參數 -- 使用陣列11-5-2 傳遞不定數量參數 -- Varargs 機制 11-5-3 傳遞任意型別的參數第 12 章 抽象類別 (Abstract Class)、介面 (Interface)、內部類別 (Inner Class) 12-1 抽象類別 (Abstract Class)12-1-1 甚麼是抽象類別?12-1-2 抽象方法 (Abstract Method) 12-1-3 抽象類別、抽象方法與繼承關係12-2 介面 (Interface) 12-2-1 定義介面12-2-2 介面的實作12-2-3 介面中的成員變數12-3 介面的繼承 12-3-1 簡單的繼承12-3-2 介面的多重繼承12-4 內部類別 (Inner Class)12-4-1 甚麼是內部類別?12-4-2 匿名類別 (Anonymous Class) 12-4-3 Lambda 運算式12-4-4 靜態巢狀類別 (Static Nested Class) 12-5 綜合演練 12-5-1 撰寫通用於多種類別的程式12-5-2 擔任物件之間的溝通橋樑第 13 章 套件(Packages)13-1 程式的切割 13-2 分享寫好的類別 13-2-1 建立套件13-2-2 編譯包裝在套件中的類別13-2-3 使用套件中的類別13-3 子套件以及存取控制關係 13-3-1 在套件中建立子套件13-3-2 使用 import 敘述 13-3-3 套件與存取控制的關係13-3-4 預設套件 (Default Package) 13-4 綜合演練 13-4-1 加入新的類別到 flag 套件中13-4-2 Java 標準類別庫13-4-3 套件的命名第 14 章 例外處理14-1 甚麼是例外? 14-2 try/catch/finally 敘述14-3 拋出例外 14-4 自訂例外類別 14-5 綜合演練 14-5-1 會拋出例外的計算階乘程式14-5-2 字串大小寫轉換應用14-5-3 簡單的帳戶模擬程式第 15 章 多執行緒 (Multithreading) 15-1 甚麼是執行緒? 15-1-1 使用 Thread 類別建立執行緒 15-1-2 使用 Runnable 介面建立執行緒 15-1-3 執行緒的各種狀態15-2 執行緒的同步 (Synchronization)15-2-1 多執行緒存取共用資源的問題15-2-2 使用 synchronized 區塊 15-3 執行緒間的協調 15-3-1 執行緒間相互合作的問題15-3-2 協調執行緒15-3-3 避免錯誤的 synchronized 寫法 15-4 綜合演練 第 16 章 資料輸入與輸出16-1 甚麼是串流? 16-2 Java 串流類別架構16-3 輸出、輸入資料 16-4 物件的讀寫 16-5 綜合演練 16-5-1 將學生成績資料存檔16-5-2 讀取學生成績檔並計算平均第 17 章 Java 標準類別庫17-1 甚麼是 Java 標準類別庫? 17-2 基本資料類別 17-3 Math 類別 17-4 Java Collections17-4-1 Collections Framework 簡介 17-4-2 Collection 介面與相關類別 17-4-3 Set 介面與相關類別17-4-4 List 介面與相關類別17-4-5 Map 介面與相關類別17-4-6 Iterator 迭代器 17-5 綜合演練 17-5-1 求任意次方根17-5-2 利用集合物件產生樂透號碼17-5-3 陽春型英漢字典第 18 章 圖形使用者介面18-1 甚麼是圖形使用者介面? 18-2 Java 的 GUI 基本架構18-3 GUI 的事件處理18-4 版面配置管理員 18-5 2D 繪圖18-6 綜合演練 18-6-1 簡易型三角函數計算器18-6-2 簡易文字編輯器附錄 A Eclipse 簡介、下載與安裝附錄 B 建立學習 Java 的環境附錄 C 使用 JDK 編譯及執行程式附錄 D UML 簡介 (Unified Modeling Language)