内容提要   作为第2版,本书提供了面向对象编程方法的详细介绍,其中涵盖了基础知识以及更高级的专题内容。本书不仅充分考虑了初次接触编程的学生的特点,同时也非常注重软件开发的系统性,所以,本书除了介绍基本的编程知识外,还涵盖了很多如设计原则和标准、测试方法、内存管理等内容,展示了软件开发的全貌。
本书专为大学本科学生着手开始学习编程和软件开发而设计,后续还有更为高级的课程。本书以Java作为编程理念的讲授工具—— 程序设计理念是用UML(Unified Modeling Language,统一建模语言)记法解释的。我们的话题从编程的第一条原则开始讲起,并且假定学生尚不具备相关课程的预备知识。 本书的组织分为两篇。在这种模式中,每章通常由两小时课堂讲授、一小时辅导和一到两小时的实验组成。每章后面的自测题会涉及到本章中的所有知识点,随后的编程练习则要求将这些知识点用于完成程序。除了这些自测题和编程练习以外,在每一篇还提供了案例分析来阐述本书中涉及到的编程技术,并指导学生开发一个比较有实用价值的应用程序。对于每篇授课时间少于12周的讲座,这些案例可以留给学生作为自学材料而不必作为讲述的主题。 本书非常适合于刚刚步入大学尚无相关知识背景的大学生,也可以作为其他专业的学位前课程,或是已多年没有接受正规教育的学生重返学校学习时使用。作者的经验是,这类学生在掌握初次接触的基本编程概念方面存在很大困难,所以需要更浅显、更循序渐进地介绍大多数标准教材中讲述的主题。 本书采用集成的软件开发方式,将诸如基础设计原则和标准、测试方法和HCI以及查看详尽的实现情况等主题都涵盖进来。 在第一篇中,在向学生介绍类和对象、继承、软件质量、图形和事件驱动编程等概念之前,用相当多时间集中讲述了诸如变量的声明和基本控制结构、方法和数组等基本的编程概念。 第二篇涉及了更高级的主题,例如程序包、接口、异常、二维数组、Java聚集类框架、高级图形编程、文件处理技术、多线程程序以及网络编程的实现等。 本书第2版对第1版做了重大修改并增添了相应的内容,以Java的最新版Java 5.0为讲述对象。在第一篇中将“选择”和“迭代”分别划分为独立的章节讲述,而且为“方法的实现”开辟了新的一章。贯穿本书的图形化用户界面的开发均使用Swing包。第二篇中新增了“Java聚集类框架”和“Java网络编程”两章。Java 5.0的最新特性均体现于本书始终,其中包括用于键盘输入的Scanner类、用于集合上迭代的增强for循环、用于安全类型集合和枚举类型的泛型等。此外,每章结尾的自测题和编程练习也都做了较大修订。 感谢我们的出版商McGraw-Hill公司在本书出版过程中给予我们的鼓励和指导。我们还要感谢David Hatter先生多年来的支持和帮助。 此外,我们还要特别感谢东伦敦大学学生贴切的注释和反馈。最后还要再次感谢我们的家人和朋友的支持和鼓舞。 Quentin Charatan博士(q.h.charatan@uel.ac.uk) Aaron Kans博士(a.kans@uel.ac.uk)