Java 7程式设计


Java 7程式设计

文章插图
Java 7程式设计【Java 7程式设计】《Java 7程式设计》是 2012年8月出版的图书 , 作者是BudiKurniawan 。该书以最新的Java 7为基础 , 全面讲解了Java程式语言、Java面向对象技术和核心类库三大主题 。
基本介绍书名:Java 7程式设计
作者:(加)BudiKurniawan着
ISBN:ISBN(书号):978-7-111-39030-5
定价:¥79.00
出版时间:2012-08
开本:16
内容简介本书由全球资深Java技术专家、高级Java企业级套用架构师、《How Tomcat Works》作者亲自执笔 , 权威性毋庸置疑 。它包含大量案例 , 是系统学习Java 7程式设计的Bible级着作 。本书是Java SE 7程式设计全面、系统的教程 , 涵盖Java程式语言、Java OOP和Java核心类库3大主题 。本书首先介绍了Java 7的语法、语句、对象和类、核心类、继承、错误处理等基础知识 , 帮助读者快速入门Java 7;然后深入解析了接口和抽象类、枚举、集合框架、泛型、输入输出、嵌套类和内部类等内容 , 掌握这部分内容有助于深入理解Java的底层原理;接着阐述Swing的基础和高级知识、多态、注解、国际化、Java网路、JDBC、Java执行绪、并发工具、安全、Java Web应用程式、JavaServer Pages、Javadoc , 以及应用程式部署等内容 , 掌握这部分内容有助于提升编程技能 。本书结构清晰、环环相扣 , 便于读者高效地学习Java语言 。本书是打造专业级Java程式设计师的参考读物 , 也可以作为计算机相关专业的教材 。目录译者序前 言第1章 初识Java11.1 第一个Java程式11.1.1 编写Java程式11.1.2 编译Java程式11.1.3 运行Java程式21.2 Java编码规範21.3 集成开发环境(IDE)31.4 小结4习题4第2章 语言基础52.1 ASCII和Unicode52.2 分隔设定72.3 基本类型72.4 变数82.5 常量102.6 字面量112.6.1 整数字面量112.6.2 浮点字面量122.6.3 布尔字面量132.6.4 字元字面量132.7 基本类型转换142.7.1 扩大转换142.7.2 缩小转换152.8 操作符152.8.1 一元操作符162.8.2 算术操作符182.9 注解242.10 小结25习题25第3章 语句263.1 Java语句概述263.2 if语句273.3 while语句293.4 do-while语句303.5 for语句313.6 break语句343.7 continue语句353.8 switch语句353.9 小结36习题36第4章 对象和类384.1 什幺是Java对象384.2 Java类394.2.1 域404.2.2 方法404.2.3 UML类图中的类成员424.3 创建对象424.4 关键字null434.5 记忆体中的对象434.6 Java包464.7 封装和访问控制474.7.1 类访问控制修饰符474.7.2 类成员访问控制修饰符494.8 关键字this514.9 使用其他类524.10 final变数534.11 静态成员544.12 静态final变数554.13 静态导入564.14 变数作用域574.15 方法重载584.16 赋值传递还是引用传递594.17 载入、连结和初始化594.17.1 载入604.17.2 连结604.17.3 初始化604.18 对象创建初始化614.19 对象的比较644.20 垃圾回收器644.21 小结64习题65第5章 核心类665.1 java.lang.Object665.2 java.lang.String675.2.1 比较两个String对象685.2.2 字元串字面量695.2.3 字元转义695.2.4 switch中的String 695.2.5 String类的构造器705.2.6 String类的方法715.3 java.lang.StringBuffer和java.lang.StringBuilder735.3.1 StringBuilder类的构造器735.3.2 StringBuilder类的方法745.4 基本类型包装745.4.1 java.lang.Integer755.4.2 java.lang.Boolean755.4.3 java.lang.Character765.5 数组765.5.1 叠代数组785.5.2 修改数组大小785.5.3 将String数组传递给main805.6 java.lang.Class805.7 java.lang.System815.8 java.util.Scanner855.9 装箱和拆箱855.10 可变参数855.11 格式和printf方法865.12 小结87习题87第6章 继承886.1 继承概述886.1.1 关键字extends886.1.2 is-a关係896.2 可访问性906.3 方法覆盖916.4 调用超类的构造器926.5 调用超类的隐藏成员94 6.6 类型转换946.7 Final类956.8 关键字instanceof956.9 小结96习题96第7章 错误处理977.1 捕捉异常977.2 没有catch的try997.3 捕捉多个异常997.4 try-with-resources语句997.5 java.lang.Exception类1007.6 从方法抛出异常1017.7 用户自定义的异常1027.8 异常处理总结1037.9 小结104习题104第8章 数字和日期1058.1 数字解析1058.2 数字格式化1068.3 用java.text.NumberFormat解析数字1078.4 java.lang.Math类1078.5 java.util.Date类1088.6 java.util.Calendar类1098.7 用DateFormat进行日期解析和格式化1108.7.1 DateFormat1108.7.2 SimpleDateFormat1118.8 小结112习题112......前言欢迎阅读本书 。Java是一种很容易学会的成熟的程式语言 , 同时 , 它也汇集各种技术于一身 , 经常令初学者不知道从何入手 。如果你也有同感 , 那幺本书就很适合你 , 因为这是一本特意为初学者量身定製的教程 。作为面向初学者的教程 , 本书不是要教会你每一种Java技术(因为薄薄一本书是不可能囊括所有Java技术的 , 这也是大部分Java类书籍都只专注于某一种技术的原因) 。应该说 , 本书涵盖了最重要的Java编程技术 , 使你能以此为基础进而学习其他技术 。本书的内容依然丰富 , 只要你真正理解所有章节的内容 , 并且完成练习 , 你将完全能够胜任一名中级Java程式设计师的日常工作 。本书共三大主题 , 这些是一名专业级Java程式设计师必须熟练掌握的内容:Java程式语言;Java面向对象编程(OOP);Java核心类库 。要想把以上三大主题组织好一本高效的Java教材之所以困难 , 正是因为以下两方面的原因 。一方面 , Java是一种面向对象编程(OOP)的语言 , 如果你已经了解OOP的话 , 就会知道它的语法是比较容易学的 。另一方面 , OOP特性(如继承、多态以及数据封装) , 用现实的案例进行示範也很容易 。问题在于 , 理解真实的Java程式需要具备Java核心类库的知识 。由于它们之间的相辅相成关係 , 这三大主题并没有划分成三个独立的部分 , 而是讨论某一主题的章节会与讨论另一主题的章节相互交织在一起 。例如 , 在解释多态之前 , 我要先确保你了解某些Java类 , 之后才能讲解真实的案例 。此外 , 如泛型这样的语言特性 , 如果你事先不理解某些类 , 是无法解释清楚的 , 因此我就会在讲完那些基础类之后再讨论泛型 。还有这样的情况:某一个主题可能会在两个甚至更多个地方出现 。例如 , for语句是一项基本的语言特性 , 它应该在较前面的章节中进行讨论 。但是 , for还可以用来叠代一组对象 , 这种特性则又只能在讲完“集合框架”之后再做讨论 。因此 , for最早在第3章中出现 , 之后在第11章中再度出现 。接下来 , 我要在此首先高度概述一下Java , 粗略介绍一下面向对象编程(OOP)的概念 , 并简要地描述每一章的主要内容 , 以及讲述如何安装Java软体 。Java语言和技术Java不仅是一种面向对象的编辑语言 , 它还是使软体开发变得更加快速并且获得更健壮、更安全的应用程式的一系列技术 。多年来 , Java之所以会成为首选的编程技术 , 是因为它具有如下优势 。平台独立性易用性加速应用程式开发的完整类库安全性可扩展性广泛的行业支持Sun Microsystems公司于1995年开发出Java , 随后Java(儘管它从一开始就是一种通用的语言)成为编写Applet(在Web浏览器上运行的小程式 , 为静态的网站增添互动性)的着名语言 。网际网路的快速发展有很大一部分要归功于Java早期的成功 。然而 , Applet并不是令Java魅力四射的唯一因素 。Java最吸引人的另一个特性是它的平台独立性承诺 , 也就是“一次编写 , 到处运行”(Write Once, Run Anywhere)的口号 。这意味着编写一个程式就可以在Windows、UNIX、Mac、Linux及其他作业系统上运行 。这是任何其他程式语言都无法实现的 。当时 , C和C++是开发常规应用程式时最常用的两种语言 。Java自诞生之日起 , 似乎就抢尽了它们的风头 。这就是Java 1.0 。1997年 , Java 1.1发布了 , 它增加了一些更加重要的特性 , 例如 , 更好的事件模型、Java Beans以及国际化(internationalization , i18n) 。1998年12月 , Java 1.2发布了 。在它发布3天之后 , 版本号由1变成了2 , 它标誌着于1999年开始掀起的一场以Java作为“下一代”技术的销售战役拉开了序幕 。Java 2以4种风格出售:标準版(J2SE)、企业版(J2EE) , 移动版(J2ME) , 以及Java Card版本(从未在这个品牌名称中採用“2”) 。接下来于2000年发布了1.3版 , 也就是J2SE 1.3 。两年之后发布1.4版 , 即J2SE 1.4 。J2SE 1.5于2004年发布 。但是Java 2 的1.5版随后改成了Java 5 。2006年11月13日 , 即Java 6正式发布前的一个月 , Sun Microsystems公司宣布Java变成开源了 。Java SE 6是Sun Microsystems公司诚邀外部开发者贡献代码和帮助修复bug后的第一个Java版本 。其实 , Sun公司过去也曾接受过非本公司员工的参与 , 如Doug Lea在多执行绪方面的付出 , 但这是Sun公司第一次发出公开的邀请 。Sun公司承认他们的资源有限 , 在不久的将来 , 外界的参与者将会帮助他们画上完美的句号 。2007年5月 , Sun公司把其Java原始码作为免费软体在OpenJDK社区发布 。IBM、Oracle和Apple公司随后也都纷纷加入了OpenJDK 。2010年 , Oracle公司收购了Sun公司 。Java 7(代号Dolphin)于2011年7月发布 , 这也是通过OpenJDK进行开源合作的成果 。是什幺使Java平台能够独立你一定听说过“平台独立”或者“跨平台”这类术语 , 它意味着程式可以在多种作业系统上运行 。这也是使Java深得人心的一大原因 。但是 , 到底是什幺使Java得以实现平台独立呢?在传统的编程中 , 原始码是要编译成可执行代码的 。这种可执行代码只能在所设计的平台上运行 。换句话说 , 为Windows而编写和编译的代码就只能在Windows上运行 , 在Linux中编写的代码就只能在Linux上运行 , 等等 , 如图I.1所示......