前 言
Java是首屈一指的Internet语言,也是全球Web程序员的通用语言。今天要想成为一名专业的Web开发者,就必须掌握Java。因此,如果你将来要从事基于Internet 的编程工作,应该选择正确的语言学习——本书正是为了帮助你学习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库的内部版本号,后来就泛指整个版本号了。Java 2被Sun重新包装为J2SE(Java 2 Platform Standard Edition),并且开始把版本号应用于该产品。
Java的下一次升级是J2SE 1.3,它增强了一些已有的功能,并且紧凑了开发环境。J2SE 1.4进一步增强了Java。该版本包括一些重要的新功能,如链式异常、基于通道的I/O,以及assert关键字。
Java的下一版是J2SE 5,它是Java的第二次变革。以前的几次Java升级提供的改进虽然重要,但都是增量式的,而J2SE 5却从该语言的作用域、功能和范围等方面提供了根本性的改进。
下面是J2SE的一些主要新功能:
* 泛型
* 自动装箱/自动拆箱
* 增强型for-each形式的for循环
* 可变长度变元
* 静态导入
* 元数据
* 注释
这些项目都是重要的升级,每一个项目都代表了Java语言的一个重要改进。其中,泛型、增强型for循环和可变长度变元引入了新的语法元素;自动装箱和自动拆箱修改了语法规则;元数据增加了一种全新的编程注释方法。
这些新功能的重要性反映在使用的版本号“5”。从版本号的变化方式看,这一版本的Java应该是1.5。由于新功能和变革如此之多,常规的版本号升级(从1.4到1.5)无法标识实际的变化,所以Sun决定使用版本号5。因此,当前的版本叫做J2SE 5,开发工具包叫做JDK 5。但是,为了维持和以前的一致性,Sun在内部使用内部版本号1.5,即外部版本号为5,内部版本号为1.5。用户在使用编译器显示版本号,以及搜索在线文档时,使用的是内部版本号1.5。
Java的最新版本是Java SE 6,本书使用的就是该版本。随着Java SE 6的发布,Sun公司再次修改了Java平台的名称,把“2”从版本号中删除了。因此,Java平台现在的名称是Java SE,官方名称是Java Platform Standard Edition 6。和J2SE 5一样,Java SE 6中的“6”是指产品的版本号,内部的开发者版本号是1.6。
Java SE 6 建立在J2SE 5的基础之上,做了进一步的增强和改进。Java SE 6并没有对Java语言本身添加较大的功能,而是增强了API库,添加了多个新包,改进了运行时环境。总之,Java SE 6进一步巩固了J2SE 5的领先地位。
0.2 本书的组织结构
本书采用教程式的组织结构,每一章都建立在前面的基础之上。本书共分15章,每一章讨论一个有关Java的议题。本书的特色就在于它包含了许多便于读者学习的特色 内容。
* 重要技能 每一章都包括一些重要技能,并且在各章中以节标识。
* 思考与练习 每一章都有思考与练习,测试读者学习到的知识。答案在附录中提供。
* 学习检查 每一节后面都有一个“学习检查”,问题的答案在脚注中。
* 专家问答 每一章中都有一些“专家问答”,以一问一答的形式介绍补充知识和要点。
* 编程练习 每一章中都包含1~2个实习项目,帮助读者将学习的知识应用到实践中去。
0.3 本书不需要读者具备编程经验
本书假定读者没有任何编程经验。当然,许多读者都已经或多或少有了一些编程经验,对于大多数读者这些编程经验就是C++。实际上C++和Java具有一些相似性。因此,如果你已经学习过C++,学习Java将会非常容易。由于许多读者都已经学习过C++,因此,书中会经常指出C++和Java之间的相似之处。
0.4 本书需要的软件环境
要想编译和运行本书的程序,需要获得最新版本的Sun的Java Software Developers Kit (SDK),本书使用的是用于Java SE6的JDK6。本书在第1章介绍了如何获得Java SDK。
0.5 不要忘记Web上的代码
本书所有示例和编程项目的源代码都可以免费从Web网址www.osborne.com获得。
Production: The following info. should be on a separate page. Janet
进一步阅读提示
本书是引导读者进入Herb Schildt系列编程图书的大门,对下面的一些书你也会感兴趣。
要想进一步学习Java编程,建议你阅读以下图书:
Java 2: The Complete Reference
Java 2: Programmer's Reference
要想学习C++,下列图书会特别有用:
C++: The Complete Reference
Teach Yourself C++
C++ From the Ground Up
STL Programming From the Ground Up
The C/C++ Programming Annotated Archives
要想学习C#,建议你选择下列图书:
C#: A Beginner's Guide
C#: The Complete Reference
要想进一步学习C语言,建议你阅读下列图书:
C: The Complete Reference
Teach Yourself C
??
??
??
??
II Java实用教程(第4版)
前言 III