第4版 Java 简明教程


第4版 Java 简明教程

文章插图
Java 简明教程(第4版)【第4版 Java 简明教程】《Java 简明教程(第4版)》是2015年清华大学出版社出版的图书,作者是皮德常、张凤林 。
基本介绍书名:Java 简明教程(第4版) 
作者:皮德常、张凤林  
ISBN:9787302382966 
定价:29元 
出版社:清华大学出版社 
出版时间:2015-1-1 
装帧:平装 
内容简介本书详细介绍了Java面向对象的核心编程思想和方法,特别注重程式设计的实用性,使读者具备运用面向对象的方法分析和解决实际问题的能力 。本书主要内容包括Java编程基础、面向对象编程原理、接口、包、泛型的基本概念、鍊表、栈、散列、字元串处理、异常处理、输入和输出、多执行绪、小程式、Swing 图形界面设计、事件处理、资料库增删改等操作方法,以及资料库编程综合举例等,非常适合Java初学者阅读 。此外,本书还突出了Java与C/C++的异同点,从而非常适合具备C/C++编程经验,又想转向Java编程的读者阅读 。本书语言流畅、实例丰富,讲解了Java程式设计的核心内容 。全部代码都在JDK 7.0环境下调试通过,并配有大量的习题,同时在指定网站提供了该书的电子教案和程式示例源码,特别适合高等院校用作讲授Java 语言编程和面向对象程式设计的教材 。前言Java程式设计是高等学校计算机类和电子信息类学科各专业的核心专业基础课程,是培养学生面向对象程式设计能力的主干课程之一,在计算机学科的教学中非常重要 。1995年5月Sun Microsystems公司推出的Java语言是一种令人振奋的新型语言,它具有面向对象、平台无关、可移植性强、安全、支持分散式等诸多特徵,特别适合网路编程 。目前,Java语言已经成为高校学生学习面向对象程式设计的必选语言 。2004年9月,Sun公司发布了J2SE 1.5,是Java语言发展史上的一个里程碑,同时将J2SE 1.5更名为J2SE 5.0 。2005年6月,JavaOne大会召开,Sun公司将Java版本及其平台更名,取消了其中的数字“2”,J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME,JDK 1.6更名为Java SE6 。2009年4月,世界一流的资料库软体商Oracle公司收购了Sun公司,我们在本书中称Java是Oracle公司的产品 。从程式设计语言的发展历史来看,Java语言是在C++语言之上推出的新一代语言,其语法与C++语法相似,但剔除了C++中易于出错的成分 。Java增加了诸如记忆体自动回收之类的新功能,删除了C++中令人费解的、不常用的成分,如指针和运算符重载等 。Java从问世以来,很快流行于全世界,并获得了极大成功 。目前,许多软体项目已选择Java语言作为其程式语言,特别是计算机网路方面的软体 。本书前三版受到了大量读者(高校教师、大学生、程式设计师等)的热烈欢迎,他们在使用的过程中,给作者提出了一些很好的意见和建议,在此,作者表示深深的感谢 。在本书再版的过程中,张凤林修订了本书的第1~4章,其余的由皮德常修订,全书由皮德常通稿 。作者的研究生张伟、王延达等人为本书做了大量的资料收集和程式验证工作 。本书与前版相比的改进之处(1) 在程式编排上,採用了“程式举例→程式运行结果→程式解析”统一风格,使读者能一目了然地找到关键点 。(2) 增加了泛型程式设计 。泛型程式设计意味着编写的代码可以被很多不同类型的对象重用,它使得Java程式具有更强的可移植性 。(3) 增加了针对资料库的编程以及综合套用设计,给出了一个针对Access资料库编程的综合举例 。为读者採用Java语言进行课程设计和项目研发打下了坚实的基础 。(4) 将GUI布局管理器与事件处理进行了组合;增加了8.6节Java中的档案新特性、9.3节执行绪的基本操作,以及12.4节资料库操作中的常用接口和类,这些都是新版Java的内容 。(5) 依据最新版JDK 7.0,新版教材增删了部分内容 。针对Java语言近几年的进展,新教材与时俱进,与前面的JDK 6.0相比,本书根据JDK 7.0的变化,增删改了许多细微的知识点,并採用醒目的标注方式给出了解释 。本书特点1) 抓重要概念Java编程属高等院校计算机相关专业的学生要学习的一门专业课,一般安排在C/C++课程之后学习,理论教学的学时往往比较少,本科教学大多是36学时,大专教学是48学时 。在如此少的学时内,教师不可能讲授完Java的所有知识,只能抓住重点内容进行介绍 。针对这种情况,本书突出了Java与C/C++的不同之处,对这些语言的共性点不作详细介绍,仅仅讲授Java的核心内容,这不但便于读者学习和掌握,同时也便于教师讲解 。2) 捨弃次要内容考虑到Java课程的学时安排,以及Java与C/C++之间的关係,本书对Java开发工具的套用、基本数据类型、运算符、控制语句和类库,都没有作过多的讨论 。例如,Java中的基本数据类型、运算符及控制语句等内容与C/C++类似,因而只是作了简单的介绍;另外,由于Java类库十分庞大,因此本书仅对常用的类库进行了介绍 。3) 力求培养学生的思考能力本书就Java的一些实现技术进行了讨论和分析,并介绍了实现内幕 。例如,作者结合自己的理解,分析了实例变数和方法的多态性问题(见4.9节);结合String和StringBuffer类,分析了“+”号操作的实现内幕(见6.3.3节) 。这些内容对培养学生的思考能力提供了一定的帮助,有助于培养他们勤于思考,勇于实践,敢于创新的能力 。4) 以最新的Java SE为标準本书採用最新版本的JDK 7 U65(简称JDK 7)和非常优秀的NetBeans IDE 8.0作为Java程式设计的开发环境,读者均可从Oracle网站免费下载 。NetBeans IDE 是一个可用于 Windows、Mac、Linux 和 Solaris平台上的集成开发环境,通过该环境读者可以使用Java平台以及JavaFX、JavaScript和C/C++等语言快速创建Web、企业、桌面和Mobile应用程式 。5) 突出与C/C++的异同点如前所述,Java课程往往安排在C/C++课程之后 。为了便于读者对Java的理解和掌握,本书在内容编排上突出了Java与C/C++的异同点,以免读者误解Java的知识点,做到快速掌握Java编程的核心思想 。6) 力求通俗易懂编写本书的目的是让读者通过自学或在教师的指导下,学会运用Java进行面向对象的程式设计 。因此,本书围绕如何进行Java编程展开 。为了便于读者学习,作者力求使本书的语言通俗易懂,将複杂的概念採用浅显的语言来讲述,便于读者理解和掌握 。本书排版(1) 每章开始均点明本章要讲解的内容和学习要求 。(2) 每章结束时,都进行了小结,给出了该章内容的概括性描述,并对该章的知识点进行了归纳 。(3) 每章安排的习题都具有很强的操作性,读者可通过计算机进行练习 。(4) 书中重要的内容採用黑体标记,特别重要的内容採用下面加点的方式标记 。(5) 本书强调程式的可读性 。书中的程式全部採用统一的程式设计风格 。例如,类名、方法名和变数名的定义做到“见名知义”;左大括弧和右大括弧对应,并採用缩排格式组织程式代码;此外,对程式中的语句儘可能多地进行了注释 。(6) 强调程式的可移植性,不以某个Java开发工具为标準,而是以最新JDK 7.0为标準 。(7) 本书包含了大量的程式示例,并给出了运行结果 。凡是程式开头带有程式编号的程式,都是完整的程式,可以直接在计算机上编译运行 。(8) 本书採用了醒目的标记来显示知识点 。这些标记包括“注意”和“思考”,它们穿插在全书中,能帮助读者儘快找到重要的信息 。这些标记的含义如下:【注意】值得读者关注的地方,它们往往是容易混淆的知识点 。【思考】提出问题,引导读者思考,培养思考能力 。创新从“问号”开始 。图书目录第1章Java语言简介1.1Java语言的发展历程11.2Java语言的特点21.2.1简单性21.2.2面向对象31.2.3分布性31.2.4解释执行31.2.5健壮性31.2.6安全性41.2.7结构中立41.2.8可移植性41.2.9高效性51.2.10多执行绪51.2.11动态性51.3Java类库的概念51.4网路浏览器71.5Java开发工具71.6Java程式分类91.6.1使用NetBeans运行Java应用程式91.6.2使用NetBeans运行Java Applet小程式101.7对Java程式的解释111.7.1程式注释方法111.7.2对Java应用程式的解释121.7.3对Java小程式的解释131.7.4对HTML档案的解释141.8编写Java程式的风格要求14本章小结15思考和练习15第2章数据类型、运算符和表达式2.1常量162.2变数172.2.1整型变数182.2.2字元型变数192.2.3浮点型变数192.2.4布尔型变数202.2.5对原子类型变数生存空间的讨论212.3变数赋值问题212.4数组222.4.1一维数组222.4.2二维数组242.4.3数组初始化252.5Java中的参数传递方式262.6Java的运算符28 2.6.1算术运算符282.6.2关係运算符282.6.3逻辑运算符292.6.4位运算符302.6.5三元条件运算符312.6.6+运算符32本章小结32思考和练习33第3章控制语句3.1分支语句343.1.1if语句343.1.2switch语句363.2循环控制语句403.2.1while语句403.2.2dowhile语句403.2.3for语句413.3break语句和continue语句423.3.1不带标号的break语句和continue语句423.3.2带标号的break语句和continue语句43本章小结45思考和练习45第4章Java的类4.1类与对象474.1.1类与对象的区别474.1.2Java和C编程思想的区别484.1.3如何定义类484.1.4对象和引用494.2方法504.3实例变数和局部变数514.4构造函式534.5方法重载554.6关键字this564.6.1指代对象574.6.2指代构造函式594.7继承604.7.1继承的概念604.7.2关键字super624.7.3再论构造函式634.8方法的覆盖644.8.1覆盖与重载的区别644.8.2方法的动态调用664.9多态性不适合继承链中的实例变数684.10finalize与垃圾自动回收704.11static724.11.1static变数724.11.2static方法744.12关键字final754.12.1final数据754.12.2final方法764.12.3final类774.13组合与继承774.14抽象类和抽象方法794.15对象的类型转换814.15.1向上类型转换814.15.2向下类型转换824.16访问许可权限制834.16.1默认修饰符844.16.2public成员844.16.3private成员854.16.4protected成员854.17应用程式从键盘输入数据举例87本章小结89思考和练习89第5章接口、包与泛型5.1接口905.1.1接口的定义和套用905.1.2接口和抽象类的异同点965.2包965.2.1package语句965.2.2import语句975.2.3包套用举例985.3泛型100 5.3.1泛型类的声明1015.3.2泛型的一般套用1025.3.3鍊表1035.3.4栈1055.3.5散列映射107本章小结109思考和练习109第6章字元串处理6.1字元串的分类1106.2String类1106.2.1字元串常量1116.2.2创建String类对象1126.2.3String类的常用方法1156.2.4Java应用程式的命令行参数1216.3StringBuffer类1226.3.1创建StringBuffer类对象1226.3.2StringBuffer类的常用方法1236.3.3String类中“+”操作的技术内幕1266.4套用举例127本章小结130思考和练习130第7章异常处理7.1异常的层次结构1327.2异常处理语句1337.2.1try和catch语句1347.2.2finally语句1377.2.3throw语句1387.2.4throws语句1407.3自定义异常类1427.4异常处理常用调试方法143本章小结145思考和练习145第8章输入与输出处理8.1流的层次结构1468.2File类1478.3InputStream类和OutputStream类1488.3.1InputStream类的常用方法1488.3.2OutputStream类的常用方法1498.3.3FileInputStream类1498.3.4FileOutputStream类1518.3.5DataInputStream类和DataOutputStream类1528.4RandomAccessFile类1538.5对象流和对象序列化1588.5.1对象流的概念1588.5.2对象序列化1598.6Java中的档案新特性1618.6.1档案路径操作1628.6.2遍历档案和目录1628.6.3获取档案属性1638.7IOException类164本章小结164思考和练习164第9章多执行绪9.1Java中的多执行绪的基本概念1659.2执行绪类1669.2.1多执行绪编程中常用的常量和方法1669.2.2执行绪的生命周期1679.2.3创建多执行绪的方法1689.3执行绪的基本操作1719.3.1执行绪的启动1719.3.2执行绪的休眠1729.3.3执行绪的停止1739.4资源的协调与同步174 9.4.1执行绪调度模型1749.4.2资源冲突1759.4.3同步方法1769.5执行绪间通信178本章小结181思考和练习181第10章小程式10.1小程式的基本知识18210.1.1小程式与应用程式的区别18210.1.2小程式标籤的语法格式18310.2小程式的生命周期18410.3小程式常用方法18810.3.1常用的输出方法18810.3.2输出中的颜色控制18910.4常用组件19110.4.1组件和容器的关係19210.4.2按钮19310.4.3标籤19410.4.4文本框19510.4.5文本域19610.4.6选择框19810.4.7下拉列表20010.4.8列表201本章小结203思考和练习203第11章Swing图形界面设计11.1Swing常用容器20411.1.1框架20411.1.2面板20611.2布局管理器20711.2.1FlowLayout布局20711.2.2BorderLayout布局20911.2.3GridLayout布局21211.2.4CardLayout布局21311.3委託事件处理模型21711.4组件事件处理21711.4.1JButton事件处理21811.4.2JTextField和JPasswordField事件处理21911.4.3JCheckBox和JRadioButton事件处理22211.4.4JComboBox事件处理22511.4.5JList事件处理22711.5滑鼠事件处理22911.6Adapter类23211.7键盘事件处理23311.8事件处理套用举例23511.8.1舞动的字元23511.8.2播放声音剪辑23811.8.3网路浏览器240本章小结242思考和练习242第12章资料库程式设计12.1资料库简介24312.2SQL语句24412.2.1定义表24412.2.2查询24412.2.3插入24412.2.4删除24512.2.5修改24512.3资料库连线24512.3.1JDBC简介24512.3.2JDBC驱动程式24612.3.3创建数据源24612.4常用的资料库接口和类24812.4.1Connection24812.4.2Statement24912.4.3ResultSet24912.5资料库编程中的基本操作24912.5.1资料库编程的基本过程249 12.5.2资料库查询25012.5.3插入记录25112.5.4修改记录25212.5.5删除记录25312.5.6建立表25412.5.7获取表中指定属性的名称和类型25512.6资料库编程综合举例257本章小结270思考和练习270参考文献