【Java精品源码栏目提醒】:网学会员,鉴于大家对Java精品源码十分关注,论文会员在此为大家搜集整理了“新手学Java 7编程(第5版) - 其它资料”一文,供大家参考学习!
新手学
Java 7 编程 第 5 版 美 Herbert Schildt 著 石 磊 译 北 京Herbert SchildtJava: A Beginner’s Guide Fifth EditionEISBN: 978-0-07-160632-5Copyright 2012 by The McGraw-Hill Companies Inc.All Rights reserved. No part of this publication may be reproduced or transmitted in any form or by any meanselectronic or mechanical including without limitation photocopying recording taping or any databaseinformation or retrieval system without the prior written permission of the publisher.This authorized Chinese translation is jointly published by McGraw-Hill Education Asia and TsinghuaUniversity Press. This edition is authorized for sale in the Peoples Republic of China only excluding HongKong Macao SAR and Taiwan.Copyright 2012 by McGraw-Hill Education Asia a division of the Singapore Branch of The McGraw-HillCompanies Inc. and Tsinghua University Press.版权所有。
未经出版人事先书面许可,对本出版物的任何部分不得以任何方式或途径复制或传播,包括但不限于复印、录制、录音,或通过任何数据库、信息或可检索的系统。
本授权中文简体字翻译版由麦格劳-希尔亚洲教育出版公司和清华大学出版社合作出版。
此版本经授权仅限在中华人民共和国境内不包括香港特别行政区、澳门特别行政区和台湾销售。
版权2012 由麦格劳-希尔亚洲教育出版公司与清华大学出版社所有。
北京市版权局著作权合同登记号 图字:01-2012-2228本书封面贴有 McGraw-Hill 公司防伪标签,无标签者不得销售。
版权所有,侵权必究。
侵权举报电话:010-62782989 图书在版编目CIP数据 新手学
Java 7 编程第 5 版/美斯切尔特Schildt H. 著;石磊 译. —北京:清华大学出版社,2012.9 书名原文:
Java: A Beginner’s Guide Fifth Edition ISBN 978-7-302-29541-9 Ⅰ. ①新… Ⅱ. ①斯… ②石… Ⅲ. ①
JAVA 语言—程序设计 Ⅳ. ①TP312 中国版本图书馆 CIP 数据核字2012第 170529 号责任编辑:王 军 刘伟琴装帧设计:牛艳敏责任校对:成凤进责任印制:出版发行:清华大学出版社 网 址:http://www.tup.com.cn,http://www.wqbook.com 地 址:北京清华大学学研大厦 A 座 邮 编:100084 社 总 机:010-62770175 邮 购:010-62786544 投稿与读者服务:010-62776969 c-servicetup.tsinghua.edu.cn 质量反馈:010-62772015 zhiliangtup.tsinghua.edu.cn印 刷 者:装 订 者:经 销:全国新华书店开 本:185mm×260mm 印 张: 34 字 数:786 千字版 次:2012 年 9 月第 1 版 印 次:2012 年 9 月第 1 次印刷印 数:14000定 价:59.00 元—————————————————————————————————————————————产品编号: 技术编辑简介 Danny Coward 博士从 1997 年开始一直对
Java 平台贡献自己的力量。
他就职于 Sun公司时,是
Java EE 组的创建者之一。
他是
Java Community Process Executive Committee的成员,并一直是
Java 平台的各个版本—
Java SE、
Java ME 和
Java EE—的主要贡献者。
他还组建了最初的 JavaFX 团队。
作 者 简 介 畅销书作家 Herbert Schildt 是
Java、C、C 和 C语言的权威。
他撰写的程序设计图书在全世界销售了数百万册, 并被翻译成了多种语言。
他撰写了众多关于
Java 的图书,包括
Java: The Complete Reference、Herb Schildt’s
Java Programming Cookbook、Swing: ABeginner’s Guide 和 The Art of
Java。
他的其他一些畅销书还包括 C: The CompleteReference、C: The Complete Reference 和 C: The Complete Reference。
虽然他对计算机的方方面面都很感兴趣,但是主要关注点是计算机语言,包括编译器、解释器和机器人控制语言。
他对语言的标准化也有浓厚的兴趣。
Schildt 获得了伊利诺伊大学的学士和硕士学位。
他的咨询中心的号码为217586-4683。
他的网站为 www.HerbSchildt.com。
前 言 作为首屈一指的 Internet 语言,
Java 是最重要、也是最流行的计算机程序设计语言之一。
今天要想成为一名专业的 Web 开发者,就必须掌握
Java。
因此,如果你将来要从事 Web 应用程序设计工作, 因为 Android 程序设计使用了
Java, 那么
Java 是正确的选择。
所以
Java 也成为了智能手机变革的一部分。
简单来说,
Java 程序设计是现代计算世界很多方面的基础。
本书正是为了帮助你学习
Java 程序设计基础而编写的。
本书采用循序渐进的教学方法,安排了许多示例、自测题和编程练习。
本书不需要读者具备编程经验,而是从最基本的基础知识,从如何编译并运行一个
Java 程序开始讲起。
然后讨论了构成
Java 语言核心的关键字、功能和结构。
还介绍了
Java 的一些最重要的高级功能,如多线程编程和泛型。
本书最后介绍了 Swing。
学完本书后,读者将会牢固地掌握
Java 编程精髓。
值得说明的是,本书只是你学习
Java 的起点。
Java 不仅仅是一些定义语言的元素,它还包括了扩展的库和工具来帮助开发程序。
要想成为顶尖的
Java 程序员,就必须掌握这些领域。
读者在学习完本书之后,就有了足够的知识来继续学习
Java 的其他方面。
0.1
Java 的发展历程 只有少数几种编程语言对程序设计带来过根本性的影响。
其中,
Java 的影响由于迅速和广泛而格外突出。
可以毫不夸张地说,1995 年 Sun 公司发布的
Java 1.0 给计算机程序设计领域带来了一场变革。
这场变革迅速地把 Web 转变成了一个高度交互的环境, 也给计算机语言的设计设置了一个新标准。
多年以来,
Java 不断地发展、演化和修订。
和其他语言加入新功能的动作迟缓不同,
Java 一直站在计算机程序设计语言的前沿,部分原因是其变革的文化,部分原因是它所面对的变化。
Java 已经做过或大或小的多次升级。
第一次主要的升级是
Java 1.1 版,这次升级比较大,加入了很多新的库元素,修订了处理事件的方式,重新配置了 1.0 版本的库中的许多功能。
第二个主要的版本是
Java 2,它代表
Java 的第二代,标志着
Java 的“现代化”的到来。
Java 2 第一个发布的版本号是 1.2。
Java 2 在第一次发布时使用 1.2 版本号看上去有些奇怪。
原因在于,该号码最初指
Java 库的内部版本号,后来就泛指整个版本号了。
Java 2IV 新手学
Java 7 编程第 5 版 被 Sun 重新包装为 J2SE(
Java 2 Platform Standard Edition),并且开始把版本号应用于该 产品。
Java 的下一次升级是 J2SE 1.3,它是
Java 2 版本首次较大的升级。
它增强了一些已 有的功能,并且紧凑了开发环境。
J2SE 1.4 进一步增强了
Java。
该版本包括一些重要的 新功能,如链式异常、基于通道的 I/O,以及 assert 关键字。
Java 的下一版本是 J2SE 5,它是
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 作为内部版本号,也叫做开发版本号。
J2SE 5 中的“5”叫做产品版本号。
之后发布的
Java 版本是
Java SE 6,Sun 再次决定修改
Java 平台的名称,把“2”从 版本号中删除了。
因此,
Java 平台现在的名称是
Java SE,官方产品名称是
Java Platform Standard Edition 6,对应的
Java 开发工具包叫做 JDK 6。
和 J2SE 5 一样,
Java SE 6 中的 “6”是指产品的版本号,内部的开发版本号是 1.6。
Java SE 6 建立在 J2SE 5 的基础之上,做了进一步的增强和改进。
Java SE 6 并没有 对
Java 语言本身添加较大的功能,而是增强了 API 库,添加了多个新包,改进了运行时 环境。
它在漫长的生命周期
Java 术语经历了一些更新,添加了一些升级功能。
总之,
Java SE 6 进一步巩固了 J2SE 5 建立的领先地位。
Java 的最新版本是
Java SE 7, 对应的
Java 开发工具包叫做 JDK 7。
其内部版本号是 1.7。
Java SE 7 是 Oracle 收购 Sun Microsystems2009 年 4 月开始进行,2010 年 1 月完成 之后发布的第一个主版本。
Java SE 7 包含许多新功能,对语言和 API 库做了许多增强, 还升级了
Java 运行时系统来支持非
Java 语言。
对本书而言,
Java SE 7 添加的最重要的功能是在 Project Coin 中开发的那些功能。
Project Coin 的目的是确定把对
Java 语言所作的很多小改动包含到 JDK 7 中。
虽然这些 前 言 V新功能被称为“小”改动,但是它们的效果对代码产生了巨大的影响。
事实上,对于许多程序员来说,这些改动可能是
Java SE 7 中最重要的新功能。
下面列出了本书中介绍的新语言特性: ● 现在 String 可以控制一个 switch 语句。
● 二进制整数字面值。
● 在数值字面值中使用下划线。
● 新增了一种叫做 try-with-resources 的 try 语句,它支持自动资源管理例如,当不 再需要文件流时,现在可以自动关闭它们。
● 构造泛型实例时,通过菱形运算符使用类型推断。
● 增强了异常处理,可以使用一个 catch 捕获两个或更多个异常多重捕获,并且 对重新抛出的异常可以进行更好的类型检查。
可以看到,虽然 Project Coin 功能被视为是小改动,但是“小”这个词实在不能体现它们带来的好处。
特别是,try-with-resources 语句对大量代码的编写方式会产生深远的影响。
本书的内容已经过完全更新,对新功能、更新和增强做了细致介绍, 以反映
Java SE7 的特色。
0.2 本书的组织结构 本书采用教程式的组织结构,每一章都建立在前面的基础之上。
本书共分 15 章,每一章讨论一个有关
Java 的主题。
本书的特色就在于它包含了许多便于读者学习的特色内容。
● 关键技能与概念 每一章都首先介绍一些该章中要介绍的重要技能。
● 自测题 每一章都有自测题,测试读者学习到的知识。
答案在附录 A 中提供。
● 专家问答 每一章中都穿插一些“专家问答”,以一问一答的形式介绍补充知识 和要点。
● 编程练习 每一章中都包含 1~2 个编程练习,帮助读者将学习到的知识应用到 实践中去。
很多这样的练习都是实际的示例,可以用作自己的程序的起点。
0.3 本书不需要读者具备编程经验 本书假定读者没有任何编程经验。
如果读者没有编程经验,阅读本书是正确的选择。
如果读者有过一些编程经验,在阅读本书时可以加快速度。
但是要记住,
Java 在几个重要的地方与其他一些流行的计算机语言不同,所以不要急于下结论。
因此,即使读者是经验丰富的程序员,也仍然建议仔细阅读本书。
VI 新手学
Java 7 编程第 5 版 0.4 本书需要的软件环境 要想编译和运行本书提供的所有程序,需要获得 Oracle 提供的最新版本的
Java Developers KitJDK,在撰写本书时,其版本为 JDK 7,这是
Java SE 7 使用的 JDK 版本。
本书在第 1 章介绍如何获得
Java JDK。
如果读者使用早期版本的
Java,如
Java 5,也仍然可以阅读本书,只是无法编译和 运行使用了
Java 新功能的程序。
0.5 不要忘记 Web 上的代码 本书所有示例和编程项目的源代码都可以免费从 Web 网址 www.oraclepressbooks.com 获得。
0.6 特别感谢 特别感谢本书的技术编辑 Danny Coward。
他提出了宝贵的建议和意见,对此我十分 感谢。
本书是引导读者进入 Herb Schildt 系列编程图书的大门,对下面的一些书你也会感 兴趣 目 录第 1 章
Java 基础 1 1.14 缩进原则 23 1.1
Java 的起源2 1.15
Java 关键字 25 1.1.1
Java 与 C 和 C的关系 3 1.16
Java 的标识符 26 1.1.2
Java 与 C的关系 3 1.17
Java 类库 26 1.2
Java 对 Internet 的贡献 4 1.18 自测题 27 1.2.1
Java Applet 4 第 2 章 数据类型与运算符 29 1.2.2 安全性 4 2.1 数据类型为什么重要 30 1.2.3 可移植性 4 2.2
Java 的基本类型 30 1.3
Java 的魔法:字节码5 2.2.1 整数类型 30 1.4
Java 的主要术语6 2.2.2 浮点型 32 1.5 面向对象程序设计7 2.2.3 字符型 33 1.5.1 封装8 2.2.4 布尔类型 34 1.5.2 多态性 8 2.3 字面值 36 1.5.3 继承9 2.3.1 十六进制、八进制和二进 1.6 获得
Java 开发工具包 9 制字面值 36 1.7 第一个简单的程序 10 2.3.2 字符转义序列 37 1.7.1 输入程序 10 2.3.3 字符串字面值 37 1.7.2 编译程序 11 2.4 变量详解 38 1.7.3 逐行分析第一个程序 12 2.4.1 初始化变量 38 1.8 处理语法错误 14 2.4.2 动态初始化 39 1.9 第二个简单程序 14 2.5 变量的作用域和生命期 39 1.10 另一种数据类型 16 2.6 运算符 42 1.11 两个控制语句 19 2.7 算术运算符 42 1.11.1 if 语句 19 2.8 关系运算符和逻辑运算符 44 1.11.2 for 循环语句 20 2.9 短路逻辑运算符 46 1.12 创建代码块 22 2.10 赋值运算符 47 1.13 分号和定位 23 目 录 IX 2.11 速记赋值 47 4.4 方法 99 2.12 赋值中的类型转换 49 4.5 从方法返回值101 2.13 不兼容类型的强制转换 50 4.6 返回值102 2.14 运算符优先级 51 4.7 使用形参104 2.15 表达式 53 4.8 构造函数112 2.15.1 表达式中的类型转换 53 4.9 带形参的构造函数 113 2.15.2 间距和圆括号 55 4.10 深入介绍 new 运算符 115 2.16 自测题 55 4.11 垃圾回收与终止器 116 4.12 this 关键字 119第 3 章 程序控制语句 57 4.13 自测题 121 3.1 从键盘输入字符 58 3.2 if 语句 59 第 5 章 其他数据类型与运算符 123 3.2.1 嵌套 if 语句 60 5.1 数组124 3.2.2 if-else-if 阶梯状结构 61 5.2 多维数组129 3.3 switch 语句 62 5.3 不规则数组130 3.4 for 循环 68 5.3.1 三维或更多维的数组 131 3.4.1 for 循环的一些变体 69 5.3.2 初始化多维数组131 3.4.2 缺失部分要素的 for 循环 70 5.4 另一种声明数组的语法 132 3.4.3 无限循环 71 5.5 数组引用赋值133 3.4.4 没有循环体的循环 71 5.6 使用 length 成员134 3.4.5 在 for 循环内部声明循环控 .
上一篇:
java讲义(清华郑莉)
下一篇:
时间那么幽默,原来我们都为彼此活过