自從Oracle接手Java的發展之後,Java開始了天翻地覆的變化,加入了許多新功能,這些新功能都是為了跟上最新流行的程式語言與新型態的發布、維護架構。其中最重要的就是SE8的Lambda運算式與SE9的模組(module)。
自SE9開始,Oracle就採取敏捷開發的精神,每半年就發布一個新版本,不過這些大多是非長期支援版本,新版本一旦發布,舊的非長期支援版本就無法下載JDK了。所以開發與學習的首選通常以長期支援版本為主。依據Oracle的規劃,長期支援版本會在三年左右的時間發布,其中,SE8與SE11都是長期支援版本(LTS),本書的改版政策也跟隨此政策,只會推出適用於長期支援版本的書籍。
Java的新功能眾多,如何將這些新功能完美融入原有功能的講解是本書的重點,例如本書將Lambda運算式放在第十五章,讓讀者可以於學習過內部匿名類別後才學習如何利用Lambda運算式來取代內部匿名類別,並應用於視窗程式(事件傾聽處理)。本書將模組(module)放在第十一章的類別庫(package)之後,讓讀者理解如何透過模組來保護類別庫。至於SE10新增的小功能:var型態推斷宣告更是被不露痕跡地加入到第三章與第十五章,因為在SE11時,var型態推斷宣告已經被推廣至Lambda運算式,免除了程式設計師為了回傳值型態還需查閱手冊的麻煩。
本書改版自暢銷數萬本的《初學指引》系列,從SE8版開始更名為《掌握》系列。這是因為作者認為本書已經不再適用於只想學些皮毛的讀者,而是期望將讀者由初學者導引成為Java初級工程師,要做到這一點,就應該在第一本學習書籍當中,充分掌握Java的設計精隨以及關鍵基礎技術,故重新命名為《掌握》系列。
本書以細心規劃的進度,培養讀者在十六周的學習中,成功變身為Java初級工程師,同時釐清一些對於初學者容易產生困擾的技術。同時本書也搭配精心設計的累積式習題,讓讀者能夠循序漸進地真正成為一位Java程式設計師。
本書的特色如下:
.長支援版
.內容由淺入深
.整合模組與類別庫
.釐清複雜的泛型等語法
.Java SE7到SE11的無縫接軌
.釐清函數式介面與抽象類別的差異
.釐清匿名類別與Lambda運算式的適用場合
.釐清Java只有傳值呼叫,沒有如同C#的傳參考呼叫
.透過「Coding偷撇步、注意事項」加強讀者的程式設計實務經驗
.透過「延伸學習」明確引導讀者,未來的學習之路
.透過「筆者的話」向讀者傳遞正確的基本觀念
.探討浮點數變數為何不適合做為比較條件
.探討編譯器為何加入final的this參數?
.探討高鐵為何會重複賣票
.累積式習題培養功力
.其他…………
作者簡介:
陳錦輝
經歷:
Time研究室專業作家、專業審校者
私立育達商業技術學院資管系兼任講師
核心智識股份有限公司產品經理/專案經理/軟體工程師
研究領域/專長:程式語言、網頁設計、App開發、資料庫、人工智慧、機器學習、現代軟體工程
陳錦輝老師長期投入於IT書籍的編寫、審校,至今發表達數十本著作,其著作列表請見http://jhchen1972.blogspot.tw/2009/10/1.html
陳錦輝老師為著名的暢銷作者,撰寫之書籍銷售量達數十萬冊。近年來更投入於經典原文書的審校翻譯工作,為博碩文化名家名著系列的重要審校者,其中最經典的案例為2013銷售排行榜第一名的《無瑕的程式碼──Clean Code》及其姊妹作2018銷售排行榜第一名的《無瑕的程式碼──整潔的軟體設計與架構篇──Clean Architecture》。這幾年,陳錦輝老師亦致力於縮短學用落差,投身博碩文化,開創適合於學校業師教學的新型態教科書,並擔任博碩文化總編輯。
目錄
第0 章:本書導覽與範例檔案
第一單元基礎程式設計篇
第 1章:Java 簡介
第 2章:Java 從零開始(Java 程式的基本結構)
第 3章:變數與運算式
第 4章:流程控制
第 5章:陣列(Array)
第 6章:函式(Method;方法)
第二單元物件導向程式設計篇
第 7章:物件導向設計:類別與物件
第 8章:繼承
第 9章:介面
第10章:例外處理
第11章:類別庫與模組
第12章:檔案處理
第13章:多執行緒
第14章:泛型與集合(Collections Framework)
第三單元視窗程式設計篇
第15章:內部類別與Lambda 運算式
第16章:圖形化程式設計
附錄
附錄 A 安裝JDK11(含工作環境設定)
附錄 B 安裝 Eclipse IDE(含中文化與範例應用)
附錄 C ASCII/Unicode 字元對應表
附錄 D 流程圖
電子附錄 Java Applet
第0 章:本書導覽與範例檔案
第一單元基礎程式設計篇
第 1章:Java 簡介
第 2章:Java 從零開始(Java 程式的基本結構)
第 3章:變數與運算式
第 4章:流程控制
第 5章:陣列(Array)
第 6章:函式(Method;方法)
第二單元物件導向程式設計篇
第 7章:物件導向設計:類別與物件
第 8章:繼承
第 9章:介面
第10章:例外處理
第11章:類別庫與模組
第12章:檔案處理
第13章:多執行緒
第14章:泛型與集合(Collections Framework)
第三單元視窗程式設計篇
第15章:內部類別與Lambda 運算式
第16章:圖形化程式設計...