1. 程式人生 > >Java學習筆記:前言(Java入門及推薦一本Java教材)

Java學習筆記:前言(Java入門及推薦一本Java教材)

Java入門及推薦一本Java教材

        開始學習Java了,學習了一陣子,但只是看書、除錯程式,沒有留下什麼記錄。恰好我也有朋友要學Java。索性我就把Java學習過程中,技術方面的經歷寫出來。方便朋友和大家參考。這些文章不會是固定的。即使以前的文章,如果發現有什麼地方解釋的不對,我也會編輯更新的。不能讓新人因為我的文章而繞了一個大圈,而浪費了寶貴的時間。如果發生了這樣的事,我心會不安的。

        本系列的文章力求一簡潔的語言將Java介紹給大家,好了,不多說了,先介紹下背景知識。

1、什麼是Java

        Java程式語言是個簡單、面向物件、分散式、解釋性、健壯、安全與系統無關、可移植、高效能、多執行緒和動態的語言”

。前身是Oak,最初由Sun公司開發,後來Sun被Oracle(甲骨文)公司收購了。Java是面向物件的程式語言,風格接近C++語言。Java捨棄了對新手來說有點晦澀的指標,改以引用取代(按記憶體址傳遞),同時移除原C++與原來運算子過載,也移除多重繼承特性,改用介面取代,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型程式設計、型別安全的列舉、不定長引數和自動裝/拆箱特性。

        Java語言的市場佔有率長期排在第一位,參見TIOBE程式語言排行榜。

2、Java用途

Java可以開發手機程式(Android等),可以用於桌面應用程式開發(SWT/RCP),可以用於網路開發(GWT等)。學好Java,是很有用的。

3、推薦一本好的Java教材。

        學習Java,必須有一本好的教材。我查閱了許多Java相關的教材。總結得出的結論是:Java程式設計與問題解決(Java :An Introduction to Problem Solving and Programming,Walter Savitch所著)以及Java語言程式設計(Introduction to Java Programming,Daniel Liang(樑勇)所著,一位華人),這兩本書是比較適合上手和自學的教材(個人總結的意見,若不贊同,還請包容)。第一本書的已經全部讀完,這一系列的筆記是在讀第二本的過程中產生的。其他的書,比如譚浩強老先生的系列程式設計書籍,我也讀了Java的那一本。其他Java教程也看過。但這本書給我的感覺是最好的。

        第一本書——Java程式設計與問題解決(Java :An Introduction to Problem Solving and Programming,Walter Savitch),首先看下Amazon網站對這本書的評價“本書作者的教學功力深厚。書中面向物件的概念的闡述堪稱完美。包括Deitel、Horton、Schildt在內的許多作者都沒有達到這種水平。”有人可能會有疑問,上面列出來的這些作者是誰。其實大家應該都看過或瞭解他們寫的書,比如Deitel父子寫了一系列的著名教程,那就是引進翻譯的書被成為《XXX大學教程》,比如《C#大學教程》,《C++大學教程》等,都是他們寫的。而Horton呢,他更出名了,那個紅色封面的《XXX入門經典》系列就是他寫的。比如《Visual C++2005入門經典》、《Java 2 入門經典》、《C語言入門經典》都是Horton老前輩寫的。Schildt寫了一系列的經典教程,如《XXX程式設計藝術》,如《C++程式設計藝術》、《Java程式設計藝術》等,還有《XXX ,A Beginner's Guide》《XXX Cookbook》都是他寫的。這三位都是超重量級的作者。但他們至少在易學性等方面還是比不上本書的作者。

第二本——Java語言程式設計(Introduction to Java Programming,Daniel Liang),作者為:Y.Daniel Liang(樑勇) 普度大學終身教授,阿姆斯特朗亞特蘭大州立大學計算機科學系教授。他所編寫的Java教程在美國大學Java課程中採用率極高,同時他還兼任Prentice Hall Java系列叢書的編輯。華人所著,相對其他教材,這本書的英文不太難,很容易就能理解的。強烈建議直接閱讀其英文版。

        綜上,這兩本書極其適合自學。兩本書只需要學習一本就可以(這裡的本是指英文版的,中文版出版的時候拆開了,每本都拆成了基礎篇和高階篇(進階篇)兩本)。第一本中文版只翻譯到第四版,而英文版已經出到了第六版,如果英文好的同學。可以去網上尋找第六版的書籍進行學習。第二本教材最新的第八版的中文版已經出版了,不過仍然建議讀英文版的。

        若有需要新增的,我會不定期更新。

Sunny