现在的位置: 首页 > 综合 > 正文

新手学Java 7编程(第5版)

2014年05月21日 ⁄ 综合 ⁄ 共 9965字 ⁄ 字号 评论关闭

 

编辑推荐

  完全更新至JOK7
  马上就创建、编译和运行Java程序

样章试读:http://product.china-pub.com/60714

http://download.csdn.net/detail/qinghuawenkang/4560891 

基本信息

  • 作者: (美)Herbert Schildt  
    [作译者介绍]
  • 译者: 石磊
  • 出版社:清华大学出版社
  • ISBN:9787302295419
  • 上架时间:2012-9-13
  • 出版日期:2012 年9月
  • 开本:16开
  • 页码:527
  • 版次:1-1

内容简介:

《新手学java 7编程(第5版)》由程序设计畅销书作者herbert schildt撰写,将内容彻底更新至javase 7。首先从基础讲起,介绍了如何编译和运行java程序,然 后讨论了关键字、语法和一些结构,它们共同构成了java语言的核心。之后,《新手学java 7编程(第5版)》介绍了java的一些高级特性,包括多线程程序设计和泛型。最后以对swing的介绍结束了全书。本教程节奏轻快,可以帮助读者快速掌握java程序设计。
  《新手学java 7编程(第5版)》特色
  关键技能与概念:在每章开始列出了该章中介绍的技能与概念
  专家问答:以问答形式提供了相关信息和实用的提示
  编程练习:展示如何应用某种技能的编程练习
  自测题:每章最后提供了一些测试对该章内容理解程度的问题
  代码注释:示例代码中的注释描述了正在阐述的编程技巧

章节介绍:

作为首屈一指的Intemet语言,Java是最重要、也是最流行的计算机程序设计语言之一。今天要想成为一名专业的Web开发者,就必须掌握Java。因此,如果你将来要从事Web应用程序设计工作,那么Java是正确的选择。因为Android程序设计使用了Java,所以Java也成为了智能手机变革的一部分。简单来说,Java程序设计是现代计算世界很多方面的基础。
  本书正是为了帮助你学习Java程序设计基础而编写的。本书采用循序渐进的教学方法,安排了许多示例、自测题和编程练习。本书不需要读者具备编程经验,而是从最基本的基础知识,从如何编译并运行一个Java程序开始讲起。然后讨论了构成Java语言核心的关键字、功能和结构。还介绍了Java的一些最重要的高级功能,如多线程编程和泛型。本书最后介绍了Swing。学完本书后,读者将会牢固地掌握Java编程精髓。
  值得说明的是,本书只是你学习Java的起点。Java不仅仅是一些定义语言的元素,它还包括了扩展的库和工具来帮助开发程序。要想成为顶尖的Java程序员,就必须掌握这些领域。读者在学习完本书之后,就有了足够的知识来继续学习Java的其他方面。
  0.1Java的发展历程
  只有少数几种编程语言对程序设计带来过根本性的影响。其中,Java的影响由于迅速和广泛而格外突出。可以毫不夸张地说,1995年Sun公司发布的Javal.0给计算机程序设计领域带来了一场变革。这场变革迅速地把Web转变成了一个高度交互的环境,也给计算机语言的设计设置了一个新标准。
  多年以来,Java不断地发展、演化和修订。和其他语言加入新功能的动作迟缓不同,Java一直站在计算机程序设计语言的前沿,部分原因是其变革的文化,部分原因是它所面对的变化。Java已经做过或大或小的多次升级。
  第一次主要的升级是Javal.1版,这次升级比较大,加入了很多新的库元素,修订了处理事件的方式,重新配置了1.0版本的库中的许多功能。
  第二个主要的版本是Java2,它代表Java的第二代,标志着Java的“现代化”的到来。Java2第一个发布的版本号是1.2。Java2在第一次发布时使用1.2版本号看上去有些奇怪。原因在于,该号码最初指Java库的内部版本号,后来就泛指整个版本号了。Java2被Sun重新包装为J2SE(Java 2 Platform Standard Edition),并且开始把版本号应用于该产品。
  Java的下一次升级是J2SEl.3,它是Java2版本首次较大的升级。它增强了一些已有的功能,并且紧凑了开发环境。J2SEl.4进一步增强了Java。该版本包括一些重要的新功能,如链式异常、基于通道的I/O,以及assert关键字。
  Java的下一版本是J2SE5,它是Java的第二次变革。以前的几次Java升级提供的改进虽然重要,但都是增量式的,而J2SE 5却从该语言的作用域、功能和范围等方面提供了根本性的改进。为了帮助你理解J2SE 5的修改程度,下面列出了本书要讨论的J2SE 5中的一些主要的新功能:
  泛型
  自动装箱/自动拆箱
  枚举
  增强型for-each形式的for循环
  可变长度实参
  静态导入
  注释
  这些项目都是重要的升级,每一个项目都代表了Java语言的一个重要改进。其中,泛型、增强型for循环和可变长度实参引入了新的语法元素;自动装箱和自动拆箱修改了语法规则;注释增加了一种全新的编程注释方法。
  这些新功能的重要性反映在使用的版本号“5”。从版本号的变化方式看,这一版本的Java应该是1.5。由于新功能和变革如此之多,常规的版本号升级(从1.4到1.5)无法标识实际的变化,所以Sun决定使用版本号5,以强调发生了重要的改进。因此,当前的版本叫做J2SE 5,开发工具包叫做JDK 5。但是,为了维持和以前的一致性,Sun决定使用1.5作为内部版本号,也叫做开发版本号。J2SE5中的“5”叫做产品版本号。
  之后发布的Java版本是Java SE6,Sun再次决定修改Java平台的名称,把“2”从版本号中删除了。因此,Java平台现在的名称是JavaSE,官方产品名称是Java Platform,Standard Edition 6,对应的Java开发工具包叫做JDK6。和J2SE 5一样,JavaSE6中的“6”是指产品的版本号,内部的开发版本号是1.6。

.  JavaSE6建立在J2SE5的基础之上,做了进一步的增强和改进。JavaSE6并没有对Java语言本身添加较大的功能,而是增强了API库,添加了多个新包,改进了运行时环境。它在漫长的生命周期(Java术语)经历了一些更新,添加了一些升级功能。总之,JavaSE6进一步巩固了J2SE5建立的领先地位。
  Java的最新版本是JavaSE7,对应的Java开发工具包叫做JDK7。其内部版本号是1.7。JavaSE7是Oracle收购Sun Microsystems(2009年4月开始进行,2010年1月完成)之后发布的第一个主版本。JavaSE7包含许多新功能,对语言和API库做了许多增强,还升级了Java运行时系统来支持非Java语言。
  对本书而言,JavaSE 7添加的最重要的功能是在Proiect Coin中开发的那些功能。
  Project Coin的目的是确定把对Java语言所作的很多小改动包含到JDK 7中。虽然这些新功能被称为“小”改动,但是它们的效果对代码产生了巨大的影响。事实上,对于许多程序员来说,这些改动可能是Java SE 7中最重要的新功能。下面列出了本书中介绍的新语言特性:
  现在String可以控制一个switch语句。
  二进制整数字面值。
  在数值字面值中使用下划线。
  新增了一种叫做try-with-resources的try语句,它支持自动资源管理(例如,当不再需要文件流时,现在可以自动关闭它们)。
  构造泛型实例时,通过菱形运算符使用类型推断。
  增强了异常处理,可以使用一个catch捕获两个或更多个异常(多重捕获),并且对重新抛出的异常可以进行更好的类型检查。
  可以看到,虽然Project Coin功能被视为是小改动,但是“小”这个词实在不能体现它们带来的好处。特别是,try-with-resources语句对大量代码的编写方式会产生深远的影响。
  本书的内容已经过完全更新,对新功能、更新和增强做了细致介绍,以反映JavaSE 7的特色。
  0.2本书的组织结构
  本书采用教程式的组织结构,每一章都建立在前面的基础之上。本书共分15章,
  每一章讨论一个有关Java的主题。本书的特色就在于它包含了许多便于读者学习的特色
  内容。
  关键技能与概念每一章都首先介绍一些该章中要介绍的重要技能。
  自测题每一章都有自测题,测试读者学习到的知识。答案在附录A中提供。
  专家问答每一章中都穿插一些“专家问答”,以一问一答的形式介绍补充知识
  和要点。
  编程练习每一章中都包含1~2个编程练习,帮助读者将学习到的知识应用到实践中去。很多这样的练习都是实际的示例,可以用作自己的程序的起点。
  0.3本书不需要读者具备编程经验
  本书假定读者没有任何编程经验。如果读者没有编程经验,阅读本书是正确的选择。如果读者有过一些编程经验,在阅读本书时可以加快速度。但是要记住,Java在几个重要的地方与其他一些流行的计算机语言不同,所以不要急于下结论。因此,即使读者是经验丰富的程序员,也仍然建议仔细阅读本书。
  0.4本书需要的软件环境
  要想编译和运行本书提供的所有程序,需要获得Oracle提供的最新版本的Java Developers Kit(JDK),在撰写本书时,其版本为JDK7,这是JavaSE7使用的JDK版本。
  本书在第1章介绍如何获得JavaJDK。
  如果读者使用早期版本的Java,如Java 5,也仍然可以阅读本书,只是无法编译和运行使用了Java新功能的程序。
  0.5不要忘记Web2-的代码
  本书所有示例和编程项目的源代码都可以免费从Web网址www.oraclepressbooks.com获得。
  0.6特别感谢
  特别感谢本书的技术编辑Danny Coward。他提出了宝贵的建议和意见,对此我十分感谢。

作为首屈一指的Intemet语言,Java是最重要、也是最流行的计算机程序设计语言之一。今天要想成为一名专业的Web开发者,就必须掌握Java。因此,如果你将来要从事Web应用程序设计工作,那么Java是正确的选择。因为Android程序设计使用了Java,所以Java也成为了智能手机变革的一部分。简单来说,Java程序设计是现代计算世界很多方面的基础。
  本书正是为了帮助你学习Java程序设计基础而编写的。本书采用循序渐进的教学方法,安排了许多示例、自测题和编程练习。本书不需要读者具备编程经验,而是从最基本的基础知识,从如何编译并运行一个Java程序开始讲起。然后讨论了构成Java语言核心的关键字、功能和结构。还介绍了Java的一些最重要的高级功能,如多线程编程和泛型。本书最后介绍了Swing。学完本书后,读者将会牢固地掌握Java编程精髓。
  值得说明的是,本书只是你学习Java的起点。Java不仅仅是一些定义语言的元素,它还包括了扩展的库和工具来帮助开发程序。要想成为顶尖的Java程序员,就必须掌握这些领域。读者在学习完本书之后,就有了足够的知识来继续学习Java的其他方面。
  0.1Java的发展历程
  只有少数几种编程语言对程序设计带来过根本性的影响。其中,Java的影响由于迅速和广泛而格外突出。可以毫不夸张地说,1995年Sun公司发布的Javal.0给计算机程序设计领域带来了一场变革。这场变革迅速地把Web转变成了一个高度交互的环境,也给计算机语言的设计设置了一个新标准。
  多年以来,Java不断地发展、演化和修订。和其他语言加入新功能的动作迟缓不同,Java一直站在计算机程序设计语言的前沿,部分原因是其变革的文化,部分原因是它所面对的变化。Java已经做过或大或小的多次升级。
  第一次主要的升级是Javal.1版,这次升级比较大,加入了很多新的库元素,修订了处理事件的方式,重新配置了1.0版本的库中的许多功能。
  第二个主要的版本是Java2,它代表Java的第二代,标志着Java的“现代化”的到来。Java2第一个发布的版本号是1.2。Java2在第一次发布时使用1.2版本号看上去有些奇怪。原因在于,该号码最初指Java库的内部版本号,后来就泛指整个版本号了。Java2被Sun重新包装为J2SE(Java 2 Platform Standard Edition),并且开始把版本号应用于该产品。
  Java的下一次升级是J2SEl.3,它是Java2版本首次较大的升级。它增强了一些已有的功能,并且紧凑了开发环境。J2SEl.4进一步增强了Java。该版本包括一些重要的新功能,如链式异常、基于通道的I/O,以及assert关键字。
  Java的下一版本是J2SE5,它是Java的第二次变革。以前的几次Java升级提供的改进虽然重要,但都是增量式的,而J2SE 5却从该语言的作用域、功能和范围等方面提供了根本性的改进。为了帮助你理解J2SE 5的修改程度,下面列出了本书要讨论的J2SE 5中的一些主要的新功能:
  泛型
  自动装箱/自动拆箱
  枚举
  增强型for-each形式的for循环
  可变长度实参
  静态导入
  注释
  这些项目都是重要的升级,每一个项目都代表了Java语言的一个重要改进。其中,泛型、增强型for循环和可变长度实参引入了新的语法元素;自动装箱和自动拆箱修改了语法规则;注释增加了一种全新的编程注释方法。
  这些新功能的重要性反映在使用的版本号“5”。从版本号的变化方式看,这一版本的Java应该是1.5。由于新功能和变革如此之多,常规的版本号升级(从1.4到1.5)无法标识实际的变化,所以Sun决定使用版本号5,以强调发生了重要的改进。因此,当前的版本叫做J2SE 5,开发工具包叫做JDK 5。但是,为了维持和以前的一致性,Sun决定使用1.5作为内部版本号,也叫做开发版本号。J2SE5中的“5”叫做产品版本号。
  之后发布的Java版本是Java SE6,Sun再次决定修改Java平台的名称,把“2”从版本号中删除了。因此,Java平台现在的名称是JavaSE,官方产品名称是Java Platform,Standard Edition 6,对应的Java开发工具包叫做JDK6。和J2SE 5一样,JavaSE6中的“6”是指产品的版本号,内部的开发版本号是1.6。

.  JavaSE6建立在J2SE5的基础之上,做了进一步的增强和改进。JavaSE6并没有对Java语言本身添加较大的功能,而是增强了API库,添加了多个新包,改进了运行时环境。它在漫长的生命周期(Java术语)经历了一些更新,添加了一些升级功能。总之,JavaSE6进一步巩固了J2SE5建立的领先地位。
  Java的最新版本是JavaSE7,对应的Java开发工具包叫做JDK7。其内部版本号是1.7。JavaSE7是Oracle收购Sun Microsystems(2009年4月开始进行,2010年1月完成)之后发布的第一个主版本。JavaSE7包含许多新功能,对语言和API库做了许多增强,还升级了Java运行时系统来支持非Java语言。
  对本书而言,JavaSE 7添加的最重要的功能是在Proiect Coin中开发的那些功能。
  Project Coin的目的是确定把对Java语言所作的很多小改动包含到JDK 7中。虽然这些新功能被称为“小”改动,但是它们的效果对代码产生了巨大的影响。事实上,对于许多程序员来说,这些改动可能是Java SE 7中最重要的新功能。下面列出了本书中介绍的新语言特性:
  现在String可以控制一个switch语句。
  二进制整数字面值。
  在数值字面值中使用下划线。
  新增了一种叫做try-with-resources的try语句,它支持自动资源管理(例如,当不再需要文件流时,现在可以自动关闭它们)。
  构造泛型实例时,通过菱形运算符使用类型推断。
  增强了异常处理,可以使用一个catch捕获两个或更多个异常(多重捕获),并且对重新抛出的异常可以进行更好的类型检查。
  可以看到,虽然Project Coin功能被视为是小改动,但是“小”这个词实在不能体现它们带来的好处。特别是,try-with-resources语句对大量代码的编写方式会产生深远的影响。
  本书的内容已经过完全更新,对新功能、更新和增强做了细致介绍,以反映JavaSE 7的特色。
  0.2本书的组织结构
  本书采用教程式的组织结构,每一章都建立在前面的基础之上。本书共分15章,
  每一章讨论一个有关Java的主题。本书的特色就在于它包含了许多便于读者学习的特色
  内容。
  关键技能与概念每一章都首先介绍一些该章中要介绍的重要技能。
  自测题每一章都有自测题,测试读者学习到的知识。答案在附录A中提供。
  专家问答每一章中都穿插一些“专家问答”,以一问一答的形式介绍补充知识
  和要点。
  编程练习每一章中都包含1~2个编程练习,帮助读者将学习到的知识应用到实践中去。很多这样的练习都是实际的示例,可以用作自己的程序的起点。
  0.3本书不需要读者具备编程经验
  本书假定读者没有任何编程经验。如果读者没有编程经验,阅读本书是正确的选择。如果读者有过一些编程经验,在阅读本书时可以加快速度。但是要记住,Java在几个重要的地方与其他一些流行的计算机语言不同,所以不要急于下结论。因此,即使读者是经验丰富的程序员,也仍然建议仔细阅读本书。
  0.4本书需要的软件环境
  要想编译和运行本书提供的所有程序,需要获得Oracle提供的最新版本的Java Developers Kit(JDK),在撰写本书时,其版本为JDK7,这是JavaSE7使用的JDK版本。
  本书在第1章介绍如何获得JavaJDK。
  如果读者使用早期版本的Java,如Java 5,也仍然可以阅读本书,只是无法编译和运行使用了Java新功能的程序。
  0.5不要忘记Web2-的代码
  本书所有示例和编程项目的源代码都可以免费从Web网址www.oraclepressbooks.com获得。
  0.6特别感谢
  特别感谢本书的技术编辑Danny Coward。他提出了宝贵的建议和意见,对此我十分感谢。

目录:

《新手学java 7编程(第5版)》
第1章java基础
1.1java的起源
1.2java对internet的贡献
1.3java的魔法:字节码
1.4java的主要术语
1.5面向对象程序设计
1.6获得java开发工具包
1.7第一个简单的程序
1.8处理语法错误
1.9第二个简单程序
1.10另一种数据类型
1.11两个控制语句
1.12创建代码块
1.13分号和定位
1.14缩进原则
1.15java关键字
1.16java的标识符
1.17java类库
1.18自测题

.第2章数据类型与运算符
2.1数据类型为什么重要
2.2 java的基本类型
2.3字面值
2.4变量详解
2.5变量的作用域和生命期
2.6运算符
2.7算术运算符
2.8关系运算符和逻辑运算符
2.9短路逻辑运算符
2.10赋值运算符
2.11速记赋值
2.12赋值中的类型转换
2.13不兼容类型的强制转换
2.14运算符优先级
2.15表达式
2.16自测题
第3章程序控制语句
3.1从键盘输入字符
3.2if语句
3.3switch语句
3.4for循环
3.5while循环
3.6do-while循环
3.7使用break语句退出循环
3.8将break语句作为一种goto语句使用
3.9使用continue
3.10嵌套循环
3.11自测题
第4章类、对象和方法
4.1类的基础知识
4.2如何创建对象
4.3引用变量和赋值
4.4方法
4.5从方法返回值
4.6返回值
4.7使用形参
4.8构造函数
4.9带形参的构造函数
4.10深入介绍new运算符
4.11垃圾回收与终止器
4.12this关键字
4.13自测题
第5章其他数据类型与运算符
5.1数组
5.2多维数组
5.3不规则数组
5.4另一种声明数组的语法
5.5数组引用赋值
5.6使用length成员
5.7 for-each形式的循环
5.8字符串
5.9使用命令行实参
5.10位运算符
5.11“?”运算符
5.12自测题
第6章方法和类详解
6.1控制对类成员的访问
6.2向方法传递对象
6.3返回对象
6.4方法重载
6.5重载构造函数
6.6递归
6.7理解static关键字
6.8嵌套类和内部类
6.9可变长度实参
6.10自测题
第7章继承
7.1继承的基础知识
7.2成员访问与继承
7.3构造函数和继承
7.4使用super调用超类构造函数
7.5使用super访问超类成员
7.6创建多级层次结构
7.7何时调用构造函数
7.8超类引用和子类对象
7.9方法重写
7.10重写的方法支持多态性
7.11为何使用重写的方法
7.12使用抽象类
7.13使用final
7.13.1使用final防止重写
7.13.2使用final防止继承
7.13.3对数据成员使用final
7.14 obiect类
7.15自测题
第8章包和接口
8.1包
8.2包和成员访问
8.3理解被保护的成员
8.4导入包
8.5java的类库位于包中
8.6接口
8.7实现接口
8.8使用接口引用
8.9接口中的变量
8.10接口能够扩展
8.11自测题
第9章异常处理
9.1异常的层次结构
9.2异常处理基础
9.3未捕获异常的结果
9.4使用多个catch语句
9.5捕获子类异常
9.6 try代码块可以嵌套
9.7抛出异常
9.8throwable详解
9.9使用finally
9.10使用throws语句
9.11jdk 7新增的异常功能
9.12java的内置异常
9.13创建异常子类
9.14自测题
第10章使用i/o
10.1java的i/o基于流
10.2字节流和字符流
10.3字节流类
10.4字符流类
10.5预定义流
10.6使用字节流
10.7使用字节流读写文件
10.8自动关闭文件
10.9读写二进制数据
10.10随机访问文件
10.11使用java字符流
10.12使用字符流的文件i/o
10.13使用java类型包装器转换数值字符串
10.14自测题
第11章多线程程序设计
11.1多线程基本原理
11.2thread类和runnable接口
11.3创建一个线程
11.4创建多个线程
11.5确定线程何时结束
11.6线程的优先级
11.7同步
11.8使用同步方法
11.9同步语句
11.10使用notify()、wait()和notifyall()的线程通信
11.11线程的挂起、继续执行和停止
11.12自测题
第12章枚举、自动装箱、静态导入和注释
12.1枚举
12.2java的枚举是类类型
12.3values()和valueof()方法
12.4构造函数、方法、实例变量和枚举
12.5枚举继承enum
12.6自动装箱
12.7类型包装器
12.8自动装箱基础
12.9自动装箱和方法
12.10发生在表达式中的自动装箱/自动拆箱
12.11静态导入
12.12注释(元数据)
12.13自测题
第13章泛型
13.1泛型基础
13.2一个简单的泛型示例
13.3约束类型
13.4使用通配符实参
13.5约束通配符
13.6泛型方法
13.7泛型构造函数
13.8泛型接口
13.9原类型和遗留代码
13.10使用菱形运算符进行类型推断
13.11擦除特性
13.12歧义错误
13.13一些泛型限制
13.14继续学习泛型
13.15自测题
第14章applet、事件和其他主题
14.1applet基础
14.2applet的组织和基本构件
14.3applet架构
14.4一个完整的applet框架
14.5applet初始化与终止
14.6请求重绘
14.7使用状态窗口
14.8向applet传递形参
14.9 applet类
14.10事件处理
14.11委派事件模型
14.12事件
14.13使用委派事件模型
14.14其他java关键字
14.15自测题
第15章swing基础
15.1swing的起源和设计原则
15.2组件和容器
15.3布局管理器
15.4第一个简单的swing程序
15.5使用jbutton
15.6使用jtextfield
15.7创建jcheckbox
15.8使用jlist
15.9使用匿名内部类来处理事件
15.10创建一个swingapplet
15.11进一步学习
15.12自测题
附录a自测题答案
附录b使用java的文档注释

 

抱歉!评论已关闭.