前言 本书的内容主要来自为软件类专业本科生授课的讲义,在正式出版前,经过了两年的试用,根据试用学生的反馈意见,作者对内容进行了不断的修改、完善。出版后,根据一些教师和学生的反馈,在本次修订时对部分内容做了调整。 本书介绍Java编程语言的基础知识以实用为主,对于书中列的一些原理,学生不必死记,自己动手写程序验证一下就可得到同样结论。初学时要以动手大量的写程序为主。本书内容简单,有时甚至有意对复杂的问题进行简化,不注重全面,主要目的是使学生可以快速入手。本书减少了复杂的或初学不太重要的内容,尽量不让学生有畏难情绪,愿意写一些程序。在入手之后,可以自学,对书中某些知识进行补充。 要想学会一门编程语言,需要动手编程,正如我们的先辈所说: “纸上得来终觉浅,绝知此事要躬行。”本书中的习题以及实验的数量不多,学生要自己找问题来编程解决,完全可以从生活中遇到的问题出发。Java语言特别适于解决手工计算的问题,高等数学、线性代数、概率与统计中都有很多需要计算的地方,可以试着编程求解两个矩阵相乘,求矩阵的分解等。学习数据结构时,可以用Java实现链表、链式堆栈等。这样既可以学好基础知识,又可以学习如何用程序解决实际问题。 在学会Java的基本语法后,继续学习分为两方面: 一个是学习使用Java自带的类库、第三方提供的类库;另一个是自己写类。这两方面同样重要,站在巨人的肩膀上才能看得更远。同样,每个人遇到的情况都是不一样的,通用的类库只能解决共有的问题,无法解决特定的问题。 学习Java有一个非常大的好处,那就是有详细的帮助文档。大家如果想学会Java,必须学会使用Java自带类库的API文档。该文档可以从Oracle网站下载。同样,第三方类库也提供有API文档,这是极好的参考。大部分的第三方Java类库都是开源的,Java类库还提供了源代码(JDK下src.zip中就是),可以同时下载源代码,通过这些源代码进行学习。如果对某一个方法不明白,可查看源代码。Oracle还提供了在线Java tutorial(Java教程),其中提供了丰富的例子。在有些类的API文档中有在线教程的链接,该教程也可以下载。 这些文档有些有中文版,但建议不要看,尽量看英文版的,可以同时提高自己的英文水平。就目前来说,大量的资料和比较新的资料都是英文的,直接看英文资料就不用等待翻译,何况有些资料根本没有相应的翻译。另外,中文翻译的质量不太令人乐观,有些中文翻译似是而非,词不达意,甚至和原文意思相反。开始看英文资料的时候会有点痛苦,只要坚持看一段时间,就会越来越顺畅。 做事取得的结果取决于你的热情、坚持、付出的程度!学编程也是如此!明天的幸福生活,来自于今天的努力!让我们携手共进,继续创造更美好的生活! 本书由河南工业大学人工智能与大数据学院和信息科学与工程学院的老师合力编写,按章节顺序,第1、3章由宋敏完成、第4、5、10章由王社伟完成,第2章、第6~9章、第12~14章由刘继承完成,第11章、实验以及附录由郑丽萍完成。 感谢指出第1版书中错误和不足之处的老师和同学们! 编写一本书并保证叙述清楚、内容正确,非亲历不能体会其中的艰辛。虽然如此,错误、叙述不清之处仍在所难免,欢迎大家指正。 作者2024年12月