对Java语言的学习是应用Java技术进行工程实践的基础。《Java程序设计教程(第2版)/高等学校计算机专业教材精选·算法与程序设计》站在工程开发的角度,结合教学过程,循序渐进地安排了各章的内容,全书将一个经过简化的银行存取款系统分散在各章给予介绍,读者可以在读完全书之后对Java程序设计有一个完整的认识。
Java最新的版本是JavaSE7,相比之前发布的版本更新了大量内容,《Java程序设计教程(第2版)/高等学校计算机专业教材精选·算法与程序设计》内容涵盖了Java语言主要的新特性。全书共14章,分别讲授了Java的基本语法,Java面向对象程序设计以及在I/O、多线程、网络、数据库和GUI编程方面的应用。全书结构合理,内容全面反映了Java最新技术的发展,同时注重引入Java技术在实践中的应用,能够为读者学习Java的其他技术奠定良好的技术基础。
《Java程序设计教程(第2版)/高等学校计算机专业教材精选·算法与程序设计》可作为高等学校计算机或相关专业本科生的教材,也可在缩减部分教学内容后作为高职高专的Java程序设计课程的教材。
Java语言是高速发展中的语言,2011年7月,Java最新版本Java SE 7发布,该版本是Oracle收购Sun之后发布的第一个主版本。这个新的版本中,Java平台增加了很多新的特性。在Java语言方面,语言本身的进一步简化,使开发人员编写代码的效率更高。在Java类库方面,新的IO库和同步实用工具类为开发人员提供了更多实用的功能。随着新版本的发布,会有越来越多的Java学习人员想尝试和使用Java SE 7中的新特性。
本书是作者于2009年编写的《Java程序设计教程》的第2版,为了紧跟技术的发展,本书在编写中基于Java SE 7这一最新版本,将Java SE 7中语言新特性分布于本书的各个章节中。根据教师和学生们的意见和建议,这一版在清晰性、内容组织、表达方式、程序清单和习题等方面较以前版本做了大量的改进。具体改进如下。
(1) 全书章节由上一版本的16章调整为14章,将上一版本中算法设计基础、泛型枚举内部类两章内容分散到其他章节中,便于与相关知识点结合起来讲解。
(2) 第2版新增加的内容有,重新编写了第1章,将Java最新的技术特性在这章中进行综述;第2章中增加了数字值中使用下划线等新特性;第3章中增加了switch语句对String类型支持部分讲解;第4章中加入查找、排序等常用算法;第7章中增加了“trywithresources”新的Java语言特性;第8章将泛型与集合类进行统一讲解;第9章中增加了Objects等新的常用类;第10章中增加了新的Path、Paths、Files等新类的讲解;第12章中增加了常用的UDP组播通信内容;第13章增加JdbcRowSet、CachedRowSet等新类的讲解。
(3) 第2版还对第1版原有内容进行了大量的调整和修正,语句更为清晰与简练,对课后习题进行一定的调整。
本书由张永强和张墨华负责策划。第12章~第14章由张永强编写,第3章、第10章和第11章由张墨华编写,第1章、第2章由柳玉炯编写,第8章、第9章由陈珂锐编写,第4章、第5章由刘羿编写,第6章、第7章由马彩娟编写。
我们为选用此书的教师提供了相应的课件、实验报告以及书中的源程序,这些内容既可以从出版社的网站上下载,也可以和我们直接联系,非常欢迎老师们的建议和批评,我们的联系邮箱是zyq0371@sina.cn。
我们也建议读者在学习本书的时候,手边需要一个JDK的API文档作为本书的补充。我们一直认为,学习Java最好的一条途径就是在掌握了Java的编程基础之后,要经常查看JDK的API,这是学习Java最好的帮助材料。
Java的技术发展很快,作为教材,我们力求精益求精,给大家以阅读、学习和实践的快乐,但限于作者的能力,对于书中出现的疏漏、欠妥和谬误之处,敬请批评指正。
作者
2013年11月第1版前言
大学的Java语言教学已经开展多年了,而且在某些大学中Java已经成为主流的面向对象的教学语言。作为一门基础性语言的教学,结合Java技术的应用特点,我们认为,通过Java程序设计这门课程的教学,应当达到两个目标: 第一目标是学生应当系统地获得利用Java技术进行面向对象程序设计的能力;第二目标是建立进一步学习Java专题技术的基础。为此在编写本书时,我们根据多年教学的经验,着重从以下3个方面考虑。
(1) 注重基础。本书注重程序设计基础和面向对象技术基础知识的讲授,通过16章,系统地介绍了Java的程序设计的基本方法、面向对象的Java实现以及常用API的应用;本书循序渐进的内容组织,可以使得学生很好地掌握Java技术的精髓,掌握自学高级Java技术主题的能力;另外,每章的小结帮助学生更好地领会各章介绍的技术主题,习题则注重考核学生对于基础知识掌握的情况。
(2) 贴近实践。课程内容贴近项目实践,强调工程实践的重要性。全书将银行存取款业务的经典案例经过精心组织,分解到每章的学习中,每章涉及的程序都力求让学生体验到Java的实际应用。全书的每一章都附有练习,引导学生继续完善银行案例。另外,作为本书的配套,我们提供了一个经过分解后的21点扑克牌游戏作为一个系统性的系列实验题目,作为教学的补充,提供给任课老师和学生。通过至少一个完整的项目训练,可以有效地提高Java课程教与学的效果,进一步提高学生的学习兴趣,锻炼他们利用Java技术解决问题的能力。
(3) 合理组织。全书包括三个部分共16章的内容,涵盖了从基本的程序设计、面向对象的Java技术以及典型领域的Java应用的主要内容,内容反映了目前Java技术的最新规范。 本书通过经典案例分析的方法,循序渐进地介绍了面向对象技术的概念、设计方法和步骤,系统地讲授了Java程序设计的基础以及常用编程方法和技术,并适当引入适合工程领域开发的主要应用技术。通过全书的学习,可以有效地提高学习者应用Java技术解决工程问题的能力,并能顺利过渡到Java学习的高级阶段。
在本书完成定稿之前,我们一直在努力地修改。从全书的结构到每个程序的练习目标,都经过反复的修改。全书由张永强和张墨华负责规划。第1章~第3章由张永强编写,第4章、第5章和第8章由梁雪编写、第6章和第7章由张墨华编写,第9章和第10章由米慧超编写,第11章和第12章由魏庆编写,第13章和第14章由袁泽明编写,第15章由梁显杰编写,第16章和附录由李帏笳编写。
我们为选用此书的教师提供了对应的课件、实验报告以及书中的源程序,这些内容既可以从清华大学出版社的网站上下载,也可以和我们直接联系,非常欢迎老师们的建议和批评,我们的联系邮箱是zhangyongqiang72@yahoo.cn。
建议读者在学习本书的时候,利用JDK的API文档作为本书的补充。我们一直认为,学习Java的最好途径就是在掌握了Java的编程基础之后,要经常查看JDK的API,它是学习Java最好的帮助材料。
Java的技术发展很快,作为教材,我们力求精益求精,给大家于阅读、学习和实践的快乐,但限于作者的能力,对于书中出现的疏漏、欠妥和谬误之处,敬请批评指正。
作者
2010年8月
第1章 Java概述
1.1 Java技术简介
1.1.1 Java发展历史
1.1.2 Java技术的构成
1.1.3 Java特性
1.2 JDK安装及配置
1.2.1 了解JDK
1.2.2 安装Java开发工具包
1.2.3 配置环境变量
1.3 创建一个Java应用程序
1.3.1 创建一个Java源文件
1.3.2 编译和运行
1.3.3 编写Java应用程序需要注意的几个规则
1.3.4 排除常见的错误
1.4 Java的工作原理 第1章 Java概述
1.1 Java技术简介
1.1.1 Java发展历史
1.1.2 Java技术的构成
1.1.3 Java特性
1.2 JDK安装及配置
1.2.1 了解JDK
1.2.2 安装Java开发工具包
1.2.3 配置环境变量
1.3 创建一个Java应用程序
1.3.1 创建一个Java源文件
1.3.2 编译和运行
1.3.3 编写Java应用程序需要注意的几个规则
1.3.4 排除常见的错误
1.4 Java的工作原理
1.4.1 Java运行环境
1.4.2 Java应用程序执行过程
1.4.3 Java虚拟机
1.4.4 自动垃圾收集
1.5 程序注释
1.6 常用开发环境
小结
习题1
第2章 类型、变量和表达式
2.1 一个计算圆面积的程序
2.2 变量
2.2.1 变量的种类
2.2.2 变量的命名
2.2.3 Java的原始数据类型
2.2.4 变量声明
2.2.5 转义字符
2.2.6 常量
2.3 运算符和表达式
2.3.1 运算符
2.3.2 算术表达式
2.3.3 关系和逻辑表达式
2.3.4 移位和位操作运算
2.3.5 赋值运算符
2.3.6 其他运算符
2.3.7 数学函数
2.3.8 字符运算
2.3.9 类型转换
2.4 字符串
2.4.1 字符串常量
2.4.2 字符串对象
2.4.3 字符串运算
2.5 基于文本的输入输出
2.5.1 控制台的输入
2.5.2 字符界面的输出
小结
习题2
第3章 流程控制
3.1 句、块和空白
3.1.1 语句
3.1.2 语句块
3.1.3 空白
3.2 顺序结构
3.3 选择结构
3.3.1 if...else语句
3.3.2 switch语句
3.4 循环结构
3.4.1.for循环
3.4.2 while循环
3.4.3 do循环
3.4.4 跳转
3.5 嵌套的结构
3.6 变量的作用域
3.7 程序设计应用
3.7.1 求解素数
3.7.2 递归
3.8 程序调试和排错
……
第4章 数组
第5章 类和对象
第6章 继承和接口
第7章 异常控制
第8章 泛型和集合
第9章 常用类编程
第10章 基本I/O处理
第11章 多线程开发
第12章 网络编程
第13章 数据库访问
第14章 用户界面开发