首页
所有文章
资讯
Web
架构
基础技术
书籍
教程
我要投稿
更多频道 »
- 导航条 -首页所有文章资讯Web架构基础技术书籍教程我要投稿更多频道 »- iOS- Python- Android- Web前端
Java编程入门:前言分享到:
本文由 ImportNew - 唐尤华 翻译自 math.hws.edu。欢迎加入翻译小组。转载请见文末要求。
《Java编程入门》是一本使用Java作为入门语言的免费计算机编程课本。可以用作编程入门课程教材,也可以用来自学编程。阅读本书只需要对计算机和编程有一般性了解。本书中包含了一整年大学编程课程内容。第1章至第7章可以满足大学一学期课程或者高中一学年课程的教学,余下的章节可以作为第2门课程。
本书的第七版涵盖了“Java 7”的所有内容。Java最新版本是Java8。在这本书中只有一部分内容涉及Java 8的新特性。
(译注:本书时间写得早,所以当时Java最新版本是 Java 8。)
这本书的主页是 http://math.hws.edu/javanotes/,提供了下载整个网站和本书PDF版本的链接。下载的网站内容包含这本书中使用的示例源代码、每章课后测试的答案和结尾练习的解答。非常推荐读者下载这些示例代码,在阅读的同时读代码并且运行这些程序。要想从这本书中得到最大的收获,强烈推荐读完所有练习解答。
在内容风格上,这本书更偏向于课本而不是教程。换句话说,它更专注于概念的解释,而不是指导一步步如何去做。我试图采用一种对话风格进行写作,更贴近课堂教学而不是像传统的课本那样。当然,它不是Java参考书,更不是对Java所有功能的总结。这本书不是为那些已经了解某种其它编程语言的人所编写的Java快速入门。相反,它针对的是那些第一次学习编程的人,更多的以Java为例讲授一般编程概念。我相信,这本《Java编程入门》完全可以匹敌市面上那些传统出版社发行、印刷的编程课本。(好吧,我承认在我看来这本书会更胜一筹。)
教授Java有很多方法。一种是从一开始就是用图形化编程界面。一些人认为,应该从开始就强调面向对象编程。这不是我的方式。我钟爱的方式是从更基本的编程模块开始构建,然后从基本模块继续学习。在介绍章节之后的第2、3和4章,我讨论了面向过程的程序设计。在第5章介绍了面向对象编程。第6章讨论了面向事件编程的相关话题以及图形用户界面。第3章提到的数组在第7章进行了完整介绍。第8章是一个很短的章节,标志了本书的一个转折点。从编程基础概念的介绍转向了更高级的话题。第8章涉及了如何编写健壮、正确和高效的程序。第9章和第10章讨论了递归和数据结构,包括Java集合框架。第11章是关于文件和网络。第12章讨论了线程和并发处理。最后,第13章回到了图形用户界面编程,介绍了Java更加高级的功能。
第7版《Java编程入门》没有对第6版进行大幅更新。实际上,编写新版的主要动机是从书中移除applet部分和相关讨论。Applet是运行在网页中的Java程序。Java刚诞生时,看起来applet似乎会成为创建Web动态内容的主流方式。直到第6版,本书的主页还包含了示例applet程序。然而,由于安全因素和其它技术的出现,applet不再广泛使用。加之最近发布的Java版本让applet使用更加困难,因此决定不在书中介绍applet。移除applet后,我把精力投在了让读者们可以更方便地下载和运行示例程序。
第7版的另一个显著改进是,在第3章加入了数组的简要介绍。在接下来的3个章节里会更详细地讨论数组。之前的版本中,数组在对象和GUI编程之后,到第7章才开始介绍。新版的第7章包含了数组高级用法的讨论。
除了上述变化,还有很多针对Java 7新功能的小改进。
《Java编程入门》的最新版可以在线获得 http://math.hws.edu/javanotes/。该书的第1版写于1996年,自那以后有了很多版本。各个不同的版本可以在下列网址看到:
第1版:http://math.hws.edu/eck/cs124/javanotes1/ (Java 1.0)
第2版: http://math.hws.edu/eck/cs124/javanotes2/ (Java 1.1)
第3版:http://math.hws.edu/eck/cs124/javanotes3/ (Java 1.1)
第4版: http://math.hws.edu/eck/cs124/javanotes4/ (Java 1.4)
第5版: http://math.hws.edu/eck/cs124/javanotes5/(Java 5.0)
第6版: http://math.hws.edu/eck/cs124/javanotes6/ (Java 5.0及更高版本)
第7版:http://math.hws.edu/eck/cs124/javanotes7/ (Java 7)
《Java编程入门》是免费的,不受版权限制。第7版基于“署名-非商业性使用-相同方式共享3.0”授权发布。要查看协议的副本,可以访问 http://creativecommons.org/licenses/by-nc-sa/3.0/。你可以:
在你自己的网站上发布未经修改的版本(包含作者署名和许可声明!)
在遵守协议的前提下,你可以分发或出售未经修改的版本。
对本书修改或部分修改可以在互联网上发布且用于非商业目的。要求版本归属作者、明确地标注修改内容并且修改版本遵循原协议发布,包括翻译成其它语言。
协议中未注明的使用情况,需要征得原作者许可。
虽然协议中没有明确对此进行要求,但我非常期待了解人们使用或传播我的工作。
关于本书的技术说明:本书的在线和PDF版本来自同一份原稿,主要由XML编写。为了输出PDF版本,该XML文件被处理为可以被TeX排版程序使用的格式。除了XML文件,原稿还包含了DTD、XSLT转换、Java源代码文件、图片、TeX宏文件和一些用来处理的脚本。这些脚本可以在Linux和Mac OS上运行。
本书的源文件可以从下面网址获得:
http://math.hws.edu/eck/cs124/downloads/javanotes7-full-source.zip
这些文件本意并不用来出版,因此没有非常仔细地编写,使用这些文件需要很多专业知识。然而,我收到了很多请求想要这些文件,因此就“原封不动”的提供出来。这些文件的详细信息及如何使用说明,请下载并参阅其中的RADM。
大卫·j·艾克(David J. ck)教授数学和计算机科学系霍巴特威廉史密斯学院美国纽约州日内瓦区普尔特尼街300号邮件:eck@hws.edu网站:http://math.hws.edu/eck/