基本信息
- 原书名:Java Foundations: Introduction to Program Design and Data Structures
- 原出版社: Addison Wesley
编辑推荐
《Java程序设计与数据结构导论》特点
●全面介绍了程序设计基础、对象和数据结构,可作为Java程序设计相关课程的入门教材使用。
●先介绍控制结构和程序设计的基本语句,再介绍类的编写。
●代码示例丰富,既有就事论事而编写的小程序,也有较大的、易于理解的实用的示例。
●用单独一章全面介绍图形用户界面,包括一些有意思的图形示例。
●第11章“创建、测试和调试”的学习有助于读者构建大规模的程序。
●《Java程序设计与数据结构导论》附赠光盘,光盘中除包括书中所有程序的源代码、Java软件开发工具包、各种Java开发环境外,还包括《Java程序设计与数据结构导论》中文版的附录部分。
内容简介
目录
出版者的话
译者序
前言
第1章 绪论
1.1 Java程序设计语言
1.1.1 Java程序
1.1.2 注释
1.1.3 标识符和保留字
1.1.4 空白
1.2 程序开发
1.2.1 程序语言等级
1.2.2 编辑器、编译程序和解释程序
1.2.3 开发环境
1.2.4 语法和语义
1.2.5 错误
1.3 问题求解
1.4 软件开发活动
1.5 面向对象程序设计
知识点摘要
译者序
具体来说,程序设计语言课程被安排为各高校计算机专业大学一年级新生的入门课程,数据结构多安排在二年级。这两门课程往往由不同的教师担任,这在一定程度上割裂了两者间的联系。作为它们之间的重要关联内容—面向对象的设计思路和方法,既没能在一年级学习语言的时候深入理解,也不能等到二年级学习数据结构课程时再去介绍。一年级的学生把学习重点放在了语言的语法上,此时他们缺乏编制较大例题的能力,教师也没有机会借助有具体背景的实际例子向他们介绍面向对象的编程技巧。这样的现状导致学生们在二年级学习数据结构时不知道如何运用面向对象的思想去解决相关的实际问题。本书作者对这样的难题给出了令人满意的解答。作者先详细介绍了Java语言的语法,在学生们掌握了基本编程能力之后,重点介绍类及对象的知识,这些内容不局限于Java语言,而是一般的面向对象编程语言都具备的。这些内容的介绍是充分的,对学生们来说是非常必要的,也正是我们目前在程序设计课程所欠缺的。同时,作者使用Java语言作为实现面向对象思想的工具,使学生们自然而然地提高了驾驭Java语言的能力。之后,作者使用一个实际的例子,全面详细地向学生介绍如何编写、调试一个程序。这个环节是体现本书实践性的一个典型代表。作者还使用数据结构中的内容作为问题导引,在向学生介绍经典算法的同时,也全面介绍了如何用前面学到的技能来解决实际问题。
本书不同于国内很多教材的另一个特色是,它是一本资源性的教材。本书是关于Java语言的,在介绍语言本身的同时,也全面介绍了学习这个语言重要的相关资料,包括下载资料的网站、调试工具的使用、编写程序用到的测试知识等。特别是书后的附录内容,相信对教师和学生都非常有用。..
本书还提供了大量的代码,这些代码对学生们理解课程内容非常有益。每章后面列出的各类习题可以检验学生的学习效果。
在此,译者非常感谢机械工业出版社华章分社给我们提供了这个翻译机会。我们不仅学习了作者的编写思想,更见识了作者的敬业精神。书中反映出的作者的认真态度,使我们在翻译过程中不敢有丝毫的懈怠。也非常感谢各位编辑们。正是他们的认真工作,才让本书顺利地和读者见面。
虽然我们在翻译时非常认真努力,期望呈现给读者的译本能准确地反映原作思想,但限于译者的水平,很多地方并不能完全体现作者的隐意,翻译过程中更是难免会有错误之处,敬请广大读者批评指正。您的任何意见和建议都是我们进一步完善本书的动力。
再次感谢您选择了本书。...
译者
2008年1月
于南开园
前言
我们借鉴了业界领先的教材《Java Software Solutions》中的最精华内容作为介绍资料,重新组织后作为本书大纲的有效补充。例如,我们没有将图形用户界面的内容分散在好几章中,而是将这些内容很好地组织在一章内。
在后面的几章中,有关集合和数据结构的介绍基本上参照了《Java Software Structures》一书,但重新组织了相关资料,使得条理更清晰。这样,程序设计概念的介绍范围更全面、更集中,相互的衔接也更自然。
关于对象
“对象”概念的引入时机,一直是由计算机教师自由掌握的,事实上导论性课程的教学不可能是相关知识的简单叠加。这里我们有机会说明我们的方法。
首先,本书是纯面向对象的,所以采用了循序渐进的自然方式来介绍。在过程式程序设计方法中也存在的一些概念,如方法和它们的调用,我们使用的是面向对象的术语来讨论的。所以,没有由多个方法组成单个类的例子。事实上,在我们的例子中,包含main方法的类不再包含其他的方法。
我们从一开始就使用对象这个术语,并且始终使用面向对象的术语来讨论所有的内容。在第1章中给出了面向对象概念的概述,并在本书中始终强化并充实这些概念。之后立即介绍了Java标准类库中的类,实例化了这些类中的对象,并使用了它们提供的各种服务。在前4章中,学生们学习编写的程序只由单个的类组成,并且其中只含有单一的main方法,不过这些程序在介绍如表达式和条件等这些程序设计的基本概念之外,都有效地使用了标准库中预定义的类和对象。
在编写例子时完全没有使用第三方的类。那些方法的使用方式与标准类库中(总是可用)的类是有区别的,所以容易给学生带来疑惑,因此本书的作者没有选用这些内容。凡是例子中使用的非类库中的每个类都在本书中给出了全面介绍,不留下任何不可思议的隐晦的地方。
要解决的问题仍然是:是在详细介绍如何编写类之前介绍控制结构的内容,还是把次序倒过来。事实是,哪种方法都有好处,教师可以使用任一种方式。如果先介绍类,就会先揭示对象的本质及它们的使用方法。但是,缺乏基本的控制结构的驾驭能力,此时的例子常常是无趣且没有实用意义的。本书先介绍控制结构,然后再介绍类的概念。第4章使用小的、单个的方法示例来介绍条件和循环的细节,为第5章多个类的示例打下坚实基础。
各章安排
第1章(绪论)介绍了Java程序设计语言和基本的程序开发过程。介绍了面向对象的开发方法,包括相关的概念和术语。这一章还介绍了帮助学生熟悉开发环境所适用的主要参考资料。
第2章(数据和表达式)探讨了Java程序中使用的数据基本类型及执行计算时表达式的使用。讨论了数据类型之间的转换,及如何借助于Scanner类交互地从用户读入输入。
第3章(类及对象的使用)探讨了预定义的类及由它们而创建的对象的使用。类和对象用来操作字符串、产生随机数、执行复杂的计算,及格式化的输出。讨论了包、枚举类型和包装类。
第4章(条件和循环)介绍了用于判定的布尔表达式的使用。讨论了与条件及循环相关的所有语句,包括for循环的增强版本。为了分析并读入文本文件中的重复输入,再次讨论了Scanner类。
第5章(编写类)探讨了与编写类及方法相关的基本问题。内容包括实例数据、可见性、作用域、方法参数及返回值类型。也涉及了构造方法、方法设计、静态数据和方法重载等内容。
第6章(图形用户界面)全面研究了Java GUI处理,重点是组件、事件和监听器。使用许多GUI例子讨论了不同类的组件和事件。另外,也介绍了布局管理器、包含层次、边界、工具提示和助记符等内容。
第7章(数组)涉及数组和数组的处理。内容包括边界检查、初值表、命令行参数、变长参数表和多维数组等。
第8章(继承)讨论了类的派生及相关的概念,包括类层次、重写及可见性等。重点是强调在软件设计中继承的正确使用及它的作用是什么。
第9章(多态)探讨了绑定的概念,及它与多态的关系。之后研究了如何使用继承或接口完成多态引用。与多态相关的设计问题也在这一章内介绍。..
第10章(异常)介绍了异常处理及不捕获异常时的后果。探讨了try-catch语句,讨论了异常的传播。本章还介绍了处理输入输出时的异常使用,给出了一个写文本文件的例子。
书摘
1.1Java程序设计语言
计算机由硬件和软件组成。计算机系统的硬件是物理的、有形的部件,能提供计算功能。它们包括芯片、机箱、电线、键盘、喇叭、硬盘、电缆、打印机等。如果没有指令告诉硬件该做什么,实际上它就没什么用处。程序就是硬件逐条执行的一系列指令。程序有时也称为应用程序。软件由程序和程序使用的数据组成。软件是与物理硬件部件相匹配的无形的东西。它们一起组成可用来解决问题的工具。
程序用具体的程序设计语言编写,这些语言使用具体的字和符号来表述问题的解决方案。程序设计语言定义了一组规则,明确地告诉程序员如何将语言的这些字和符号组成程序语句,而这些语句就是程序运行时要执行的指令。
计算机诞生之初,就出现了许多程序设计语言。本书中使用Java语言来解释编程概念和技术。虽然主要的目的是学习这些软件开发概念,与此同时也一并学习了Java程序的开发。
和其他语言相比,Java是比较新的程序设计语言。它在20世纪90年代初由Sun公司的James Gosling3干发。Java于1995年正式推出,从那时起就非常流行。
Java从诞生之日起经过多次修改。最新的Java技术一般称为Java 2平台,它由以下三部分
组成:
•Java 2平台,标准版(J2SE)
•Java 2平台,企业版(J2EE)
•Java 2平台,小型版(J2ME)
本书主要使用标准版,顾名思义,它是语言及关联工具的主流版本。本书基于标准版的最新版本J2SE 6.0编写而成。
……