猜你喜欢
Java编程入门官方教程(第7版)

Java编程入门官方教程(第7版)

书籍作者:Herbert Schildt ISBN:9787302499329
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2848
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

针对Java SE 9做了全面细致的更新,将引导你轻松学习新的核心Java编程技能,指导你立即着手编写Java程序。《Java编程入门官方教程(第7版)》开篇讲述Java语言基础知识(如创建、编译和运行Java程序的方式),此后浓墨重彩地描述构成Java语言核心的关键字、语法和结构。最后介绍Java的一些高级特性,如多线程程序设计、泛型、lambda表达式、Swing、JavaFX、新“模块”功能以及Java*新的交互式编程工具Jshell。

作者简介

畅销书作家Herbert Schildt是Java语言的**,他撰写程序设计图书超过三十年,在全世界销售了数百万册,并被翻译成了多种语言。他撰写了众多关于Java的图书,包括Java: The Complete Reference、Herb Schildt’s Java Programming Cookbook、Introducing JavaFX 8 Programming和Swing: A Beginner’s Guide,还撰写了一些有关C、C++和C#方面的书籍。虽然他对计算机的方方面面都很感兴趣,但主要关注点是计算机语言。Schildt获得了伊利诺伊大学的学士和硕士学位。

前言
前 言
  《Java编程入门官方教程(第7版)》旨在帮助你学习Java程序设计的基础知识,采用循序渐进的教学方法,安排了许多示例、自测题和编程练习。《Java编程入门官方教程(第7版)》不需要读者具备编程经验,而是从最基础的知识,从如何编译并运行一个Java程序开始讲起。然后讨论构成Java语言核心的关键字、功能和结构。还介绍Java的一些最重要高级功能,如多线程编程、泛型和lambda表达式和模块。此外,《Java编程入门官方教程(第7版)》还介绍Swing基础和JavaFX。学完《Java编程入门官方教程(第7版)》后,读者将牢固掌握Java编程精髓。
  值得说明的是,《Java编程入门官方教程(第7版)》只是学习Java的起点。Java不仅是一些定义语言的元素,还包括扩展的库和工具来帮助开发程序。要想成为顶尖的Java程序员,就必须掌握这些知识。读者在学习完《Java编程入门官方教程(第7版)》后,就有了足够的知识来继续学习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 2被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循环
  ● 可变长度实参(varargs)
  ● 静态导入
  ● 注解(annotation)
  这些条目都是重要升级,每个条目都代表了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 Microsystems之后发布的第一个主版本。Java SE 7包含许多新功能,对语言和API库做了许多增强。Java SE 7添加的最重要功能是在Project Coin中开发的那些功能。Project Coin的目的是确保把对Java语言所做的很多小改动包含到JDK 7中,其中包括:
  ● 现在String可控制switch语句。
  ● 二进制整型字面值。
  ● 在数值字面值中使用下画线。
  ● 新增一种称为try-with-resources的try语句,支持自动资源管理。
  ● 构造泛型实例时,通过菱形运算符使用类型推断。
  ● 增强了异常处理,可以使用单个catch捕获两个或更多个异常(多重捕获),并且对重新抛出的异常可以进行更好的类型检查。
  可以看到,虽然Project Coin中的功能被视为小改动,但是“小”这个词实在不能体现它们所带来的好处。特别是,try-with-resources语句会对大量代码的编写方式产生深远影响。
  Java的下一版本是Java SE 8,对应的开发工具包是JDK 8,内部的开发版本号是1.8。JDK 8表示这是对Java语言的一次重大升级,因为本次升级包含了一种意义深远的新语言功能:lambda表达式。lambda表达式的影响深远:不但改变了概念化的编程方式,而且改变了Java代码的编写方式。使用lambda表达式,可以简化并减少创建某个结构所需的源代码量。另外,使用lambda表达式还可将新的运算符-> 和一种新的语法元素引入Java语言中。
  除了lambda表达式,JDK 8中还新增了其他一些重要功能。例如,从JDK 8开始,通过接口可以为指定的方法定义默认实现。JDK 8也捆绑了对JavaFX、Java的新GUI框架的支持。期待JavaFX不久便能在几乎所有的Java应用程序中扮演重要的角色,并且最终替代用于大多数基于GUI项目的Swing。总之,Java SE 8主要版本扩展了Java语言的功能,并且改变了Java代码的编写方式,带来的影响足够深远。
  0.2 Java SE 9
  Java的最新版本是Java SE 9,对应的开发工具包是JDK 9,内部的开发版本号也是9。JDK 9表示这是对Java语言的一次重大升级,合并了对Java语言及其库的重大改进。主要的新功能是模块,它允许指定构成应用程序的代码之间的关系和依赖。模块还给Java的访问控制功能添加了另一种方式。包括模块导致了一个新的语法元素、几个新关键字和各种工具改进添加到Java中。模块还对API库有深远的影响,因为在JDK 9中,库包现在组织为模块。
  除了模块之外,JDK 9还包括几个新功能。其中一个特别有趣的是JShell,它是一个支持交互式程序体验和学习的工具(JShell简介见附录D)。另一个有趣的升级是支持私有接口方法。包含它们进一步增强了JSK 8对接口中默认方法的支持。JDK 9给javadoc工具添加了搜索功能,还添加了一个新的标记@index来支持它。与以前的版本一样,JDK 9包含对Java API库的许多更新和改进。
  作为一般规则,在任何Java版本中,都有最受人瞩目的新功能。但JDK 9废弃了Java高度配置的一个方面:applet。从JDK 9开始,applet不再推荐在新项目中使用。如第1章所述,因为applet需要浏览器支持(和其他因素),JDK 9废弃了整个applet API。目前,建议使用Java Web Start在Internet上部署应用程序(Java Web Start简介见附录C)。因为applet被设置为过时,不推荐用于新代码,所以《Java编程入门官方教程(第7版)》不再讨论它。但是对applet感兴趣的读者可以在《Java编程入门官方教程(第7版)》以前的版本中找到它们的内容。
  总之,JDK 9继续Java的革新,确保Java成为用户所期望的充满活力且敏捷的语言。《Java编程入门官方教程(第7版)》中的内容已更新至Java SE 9版本(JDK 9),包括一些新的功能、更新和其他内容。
  0.3 《Java编程入门官方教程(第7版)》的组织结构
  《Java编程入门官方教程(第7版)》采用教程式的组织结构,每一章都建立在前面的基础之上。《Java编程入门官方教程(第7版)》共分17章,每一章讨论一个有关Java的主题。《Java编程入门官方教程(第7版)》的特色就在于包含许多便于读者学习的特色内容。
  ● 关键技能与概念:每一章都首先介绍一些该章中要介绍的重要技能。
  ● 自测题:每一章都有自测题,测试读者学习到的知识。答案在附录A中提供。
  ● 专家解答:每一章中都穿插一些“专家解答”,以一问一答的形式介绍补充知识和要点。
  ● 编程练习:每一章中都包含一两个编程练习,以帮助读者将学习到的知识应用到实践中。很多这样的练习都是实际的示例,读者可以将其用作自己的程序的起点。
  0.4 《Java编程入门官方教程(第7版)》不需要读者具备编程经验
  《Java编程入门官方教程(第7版)》假定读者没有任何编程经验。如果读者没有编程经验,阅读《Java编程入门官方教程(第7版)》是正确的选择。如果读者有过一些编程经验,在阅读《Java编程入门官方教程(第7版)》时可以加快速度。但是要记住,Java在几个重要的地方与其他一些流行的计算机语言不同,所以不要急于下结论。因此,即使读者是经验丰富的程序员,也仍然建议仔细阅读《Java编程入门官方教程(第7版)》。
  0.5 《Java编程入门官方教程(第7版)》需要的软件环境
  要编译和运行《Java编程入门官方教程(第7版)》提供的所有程序,需要获得Oracle提供的最新版本的Java Development Kit (JDK)。在撰写《Java编程入门官方教程(第7版)》时,最新版本为JDK 9,这是Java SE 9使用的JDK版本。《Java编程入门官方教程(第7版)》第1章介绍如何获得Java JDK。
  如果读者使用早期版本的Java,也仍然可以阅读《Java编程入门官方教程(第7版)》,只是无法编译和运行使用了Java新功能的程序。
  0.6 不要忘记Web上的代码
  《Java编程入门官方教程(第7版)》所有示例和编程项目的源代码都可以免费从Web网址www.oraclepressbooks.com下载,也可以扫描《Java编程入门官方教程(第7版)》封底二维码下载。
  0.7 特别感谢
  特别感谢《Java编程入门官方教程(第7版)》的技术编辑Danny Coward。他对《Java编程入门官方教程(第7版)》提出了许多宝贵的建议和意见,对此十分感谢。
  0.8 进一步学习
  《Java编程入门官方教程(第7版)》是引导读者进入Herbert Schildt系列编程图书的大门,对下面的一些书你也会感兴趣:
  Java: The Complete Reference
  Herb Schildt’s Java Programming Cookbook
  The Art of Java
  Swing: a Beginner’s Guide
  Introducing JavaFX 8 Programming