Java学习笔记:前言(Java入门及推荐一本Java教材)

时间:2021-05-09 19:56:55

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