《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年,自那以后有了很多版本。各个不同的版本可以在下列网址看到:
《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
这些文件本意并不用来出版,因此没有非常仔细地编写,使用这些文件需要很多专业知识。然而,我收到了很多请求想要这些文件,因此就“原封不动”的提供出来。这些文件的详细信息及如何使用说明,请下载并参阅其中的 README 。
大卫·j·艾克(David J. Eck)教授
数学和计算机科学系
霍巴特威廉史密斯学院
美国纽约州日内瓦区普尔特尼街300号
邮件: eck@hws.edu
网站: http://math.hws.edu/eck/
原文链接: math.hws.edu 翻译:ImportNew.com -唐尤华
译文链接:[]