本书详细介绍J2SE5.0新功能及Java全面的知识。全书内容分为5篇,从Java的一般认识、基础知识到深入Java实质,从基本应用到高级开发,从面向对象的程序设计理念、Java图形化界面到Java不同于其他程序设计语言的精髓,并重点讲述了J2SDK5.0新增的功能,如介绍ULtraEdit与 jEdit这两套文档编辑软件,介绍新的关键字enum,增加java.until.Arrays类与 StringBuilder类的使用说明等。内容极其丰富却不繁杂,厚重却不失灵巧,将晦涩难的专业知识用简单的实例和文字轻松地描述出来。\r\n 本书内容覆盖面广、图文并茂,独具特色。既有丰富的理论知识,也有大量的实战范例,在实例设计及操作步骤上更是独具匠心。本书不仅适合初学者为入门学习用书,也适合高级编程人员作为案头参考书,具有极高的实用价值。
再版序\r\n推荐序一\r\n推荐序二\r\n推荐序三\r\n导读\r\n认知篇\r\n 第1章Java 的过去、现在和未来\r\n 第2章程序开发工具下载、安装与使用\r\n 第3章程序初体验\r\n基础篇\r\n 第4章程序基本单元\r\n 第5章Java的表达式\r\n 第6章Java的语句\r\n高级篇\r\n 第7章Java面向对象程序设计\r\n 第8章深入Java面向对象程序设计\r\n 第9章Object类常用方法介绍\r\n 第10章深入内存\r\n 第11章Java Application与Applet\r\n 第12章异常处理\r\nGUI篇\r\n 第13章容器和版面配置\r\n 第14章事件处理\r\n 第15章AWT元件使用\r\n 第16章高级AWT元件使用\r\n内功心法篇\r\n 第17章绘图\r\n 第18章Inner Class\r\n 第19章Wrapper Class\r\n 第20章深入字符串处理\r\n 第21章文件与输入/输出处理\r\n 第22章Threads\r\n 第23章Collection\r\n 第24章网络程序设计\r\n附录\r\n
再版序
时间真的是个很神奇的东西,距离上一版完成一眨眼就过了两年多,两年多可以发生很多事,结婚、生小孩、买房子,天啊!变化真快!这几年下来惟一没变的就是我对Java的支持。去年是个很有收获的一年,可以算是在人生阶段上的一个高峰,有幸参加了全世界最大的Java盛会——JavaOne,感受世界级的会议水准。工作上也很顺利,逐渐在累积实力和知名度。生活上认识了几位好朋友,这几年好朋友一直对我有很大的影响,不论是在工作上或是生活上都给我帮助。
很高兴《Java 2全方位学习》能帮助到许多人,让他们在学习Java的路程中减少了许多困难,各位读者的支持是我努力做到更好的动力来源,我会持续努力写出更好的书,若对书中有任何的疑问或建议,欢迎来信指教。
J2SDK 5.0(Tiger)上市所带来的冲击非常大,它所提供的一些语言上的改进和好用的API,让你想不用它们都很难,不过在使用Tiger所带来的便利之前,请先把基础给打好,再来学习这些新的功能,不然可是会画虎不成反类犬的。希望这本书能够帮助你在学习Java的路上更顺利。
谢谢广大读者的支持,也谢谢我的家人和好朋友,没有你们我不会有今天的成就。
朱仲杰
2005/04/06
推荐序一
——驯服老虎,畅饮咖啡
朱仲杰的《Java 2全方位学习》几年来已经成为台湾学习Java的标准教科书。现在这个新版本在千呼万唤中总算问世了,对众多学习Java的人是一个大好消息。
在很多时候,看似最简单的东西,做起来反而最难。Java应用的范围已经无所不在,Java的相关技术当然也跟着越长越多。只要对Java 2平台有稍微了解的人,面对J2EE、J2ME当中的技术规范,都会在心中兴起“学海无涯”的慨叹。书店里满柜子的Java书籍,介绍各种高级技术的著作多的是。这些高级技术的书籍内容比较艰深,但是从另一个角度来看,对作者来说写起来反而比较顺手。因为作者本身就是高手,技术知识方面没有问题,针对的读者也是有一定程度的人,所以大家已经有了共同的背景,讲起话来相对而言就没有阻碍。反倒是针对刚跨进Java领域的初学者,这样的书籍不但需求比较高,要向这些新手读者清楚解释Java技术,反而是一个更有挑战性的工作。
当然,如果像市面上很多四处拼凑剪贴、很快兜出厚厚一大本的所谓入门书,事情就轻松容易得多。不过这本《Java 2全方位学习》显然不是这样的剪贴板。J2SE 50版在2004年9月正式推出,它的Beta版在更早之前也已经公开让大家试用。在程序语言本身的革新上面,这可以说是从1997年的JDK 11以来最重要的改版。所以作者花了很多时间去消化、研读、整理这些新功能,然后用最负责的态度来介绍给大家。
朱仲杰是我的老朋友,这几年来Java的发展突飞猛进,我们的人生也有很大的变化。我在去年离开了Java的创始者——升阳电脑(Sun Microsystems),朱仲杰也在这几年内完成了终身大事,接下来又准备迈入“科技老爸”的行列。世事多变化,不过很多事是不会变的,比方说友情、亲情等等。还有另外一个不会变的,就是要学好Java,就得从基本的程序语言上面学起。基础打稳了,就能打通任督二脉,一路继续学下去,才有办法应用在各种实用的领域上。朱仲杰的这本《Java 2全方位学习》,是让你打好基础的武功秘笈。只要努力按照本书的讲解去练习,保证让你功力大增,练完之后必能轻松地驯服凶猛的老虎、畅饮香醇的Java咖啡。
自由人
http://www.MichaelSoft.org
推荐序二
从JDK 1.1到1.2,从JDK 1.2到1.3,从JDK 1.3到1.4,每次JDK改版的时候, Sun公司总是告诉大家:这次的改版, 将是一个重要的改版,而且Sun对Java做了很多的改善。
作为一种营销手段,这样的宣传方式绝对是必要的,可是,从JDK 1.4到5.0(也可以称作1.5),除了版本号码一开始就让人一头雾水之外,JDK 5.0是名副其实的大跃进,这次,真的是Java往前迈进的一大步。
JDK 5.0开发小组的领导人 Calvin Austin,于2005年1月宣布离开Sun,并在他的Blog(http://blogs sun com/roller/page/calvinaustin/20050121)提到,他之所以离开Sun,是因为他相信,JDK 5.0所做的改进,已经非常完善,是他认为最好的了,因此他才能放心离开。从真正拥有技术背景和威望的人士口中所传达的信息,绝对远胜于营销口号。 您还能视JDK 5.0的每个新功能于不见吗?
朱仲杰这本Java全方位学习的新版,正是因应这股JDK 5.0的潮流而改版,并加入了许多新内容,希望带领更多人学习到最新的Jav
前 言
本书不同于其他Java书籍先介绍面向对象程序设计的概念,而是把它放在中间等大家熟悉了简单的Java程序设计之后,再学习Java中相关的面向对象程序设计,以下是各个章节的导读。跟上一版相异之处(新增部分),会以星号(*)标示出来。在后面的章节中,笔者会把J2SE 5.0这样的字眼以“Tiger”来称呼,希望通过这次改版,能让大家轻易地驾驭这只威力强大的老虎!
第1章Java的过去、现在和未来
想要学好Java当然要知道它的来龙去脉,以及它未来的发展方向。第1章中笔者就带大家回顾一下Java的历史,看看Java一路走来是如何在电脑领域中大放异彩的。
第2章程序开发工具下载、安装与使用
看完第1章之后,是不是迫不及待想开始动手学写Java程序了呢?别急,所谓“工欲善其事,必先利其器”,在第2章中笔者教大家如何下载开发Java程序所需的相关工具程序。
第3章程序初体验
工具都准备妥了之后,笔者在第3章中先把基本的程序设计概念,还有编译、执行Java应用程序的方法教给各位,好让大家先了解整个程序开发的流程,以利于后面章节做练习时,能很快地完成练习程序。
本章将会介绍UltraEdit与jEdit这两套文档编辑软件。
第4章程序基本单元
从本章开始,我们一步步地从一个程序中所需的最小单元开始学起,地基稳固之后,上面才能盖高楼大厦。在这一章会教大家认识什么是变量,又该如何声明和使用它。
新增介绍新的关键字enum。
第5章Java的表达式
学会了程序基本的元件(变量)之后,在这一章中我们就用这些元件来做一些基本的运算,通过这些运算来完成我们想要做的事情。
第6章Java的语句
我们将前面两章中的东西组合成一行行完整的程序代码,这就是本章要学习的东西。学完这章后,你就已经具备了Java程序设计最基本的能力!
第7章Java面向对象程序设计
有了基本功之后,接下来就要真正进入Java面向对象的世界了。从这一章开始,笔者会一步步地让大家了解什么是面向对象的程序设计,如何利用对象来完成我们想要做的事情,而在Java程序语言中又是如何使用面向对象来编写程序的。
第8章深入Java面向对象程序设计
在上一章中初步体验了面向对象程序设计之后,在本章中我们要来探讨更深入的议题,让Java面向对象的概念更完整。
第9章Object类常用方法介绍
Java中所有的东西都是对象,java、lang、Object类是所有Java程序都会继承的类,为什么所有的Java程序都要继承它?它提供了哪些方法让我们使用?看完本章你就知道了。
第10章深入内存
到底数据是怎么存放在电脑内存中的?不同的数据有不同的存放方式,当然对于程序的编写和数据的使用上也有所差异,我们会在本章中研究这个问题。除此之外,数组对于程序设计也是很重要的一种数据结构,它长什么样子?该如何使用它?也是在本章的讨论之中。
增加java、util、Arrays类的使用说明。
第11章Java Application与Applet
Application和Applet是Java中两种基本的程序模式,在本章中会来看看两种程序模式的基本架构和数据处理的方法。
第12章异常处理
由于一些程序代码的特性或是自己程序设计时的特殊,往往会让程序不能完成正常的工作,这种情况也就是所谓的异常。异常处理是Java程序设计中非常重要的一个机制,它可以让你的程序更稳定,我们会在这一章中学会如何去处理异常。
第13章容器和版面配置
从本章开始,我们就要学习如何设计出窗口应用程序。首先在这一章中,我们要来看的是如何来设计窗口程序的外表,也就是版面的设计。
第14章事件处理
我们要使用窗口应用程序,就必须操作放在窗口上的元件,如按钮、菜单等。而这些操作的动作会产生所谓的事件,程序员的工作就是处理这些事件,让每个元件完成它该有的功能。
第15章AWT元件使用
在这一章中,我们就要来学会一些最基本的窗口操作元件,学会了这些元件之后,你就能设计出基本的窗口应用程序了。
第16章高级AWT元件使用
觉得元件还不够用吗?在这一章中还有一些能让你的窗口界面更丰富的元件。
第17章绘图
想在窗口界面上涂鸦吗?来看看这章中介绍哪些Java所提供的绘图方法。
第18章Inner Class
Inner Class就是在类中的类,它存在的意义是什么?它又有哪些特殊的功能?它在Java中也是很重要的一个机制,大家可要仔细地看完这一章。
第19章Wrapper Class
又出现了一个新名词,什么又是Wrapper Class?我们为什么要使用它?它对应的是八种基本数据类型,也就是说它可以把基本数据类型的数据转换成对象的类型,看完这一章,你就知道为什么了。
第20章深入字符串处理
字符串是每个程序中一定会用到的东西,它有哪些不为人知的秘密呢?说秘密太严重了,应该说是它有哪些跟别的对象不一样的地方呢?这一章中会做详细的说明。
增加StringBuilder类的使用说明。
第21章文件与输入/输出处理
文件是用来存放数据的地方,我们如何通过程序来访问文件中的数据?这就是本章要教你的。
第22章Threads
你想让你的程序能分身吗?什么是多任务应用程序?Threads这个机制就是来做这件事情的,在看这一章时头脑务必要清楚,一不留神就会昏头转向了,这一章是Java中最难学的一部分了。
增加java、util、concurrent、TimeUnit 类的使用说明。
第23章Collection
Collection API是另外一种存放数据的类库,学会了它的使用方式,你的程序在处理数据时更能随心所欲。
第24章网络程序设计
网络是现今社会中最热门的媒体,所有的应用程序或多或少都会跟它扯上点关系,如何用Java设计网络应用程序?读完本章你就知道了。
附录Aassertion
assertion是Java 1.4所新增的一项机制,其他的语言也有类似的机制,想了解它的使用方式吗?任何学Java 1.4版的人都应该要懂得如何使用它。
附录BJava Web Start
除了Java Applet之外,有没有办法让用户从网页上下载Java Application回去执行呢?来看看本章所介绍的Java Web Start,你就会知道了。
附录CNew I/O
Java 1.4版最重要的一个部分是新增加了一组New I/O的API包,想要让你程序中的I/O更有效率吗?熟读这章就对了。
附录D泛型——Generics
在Tiger里最重要的一个新的技术非泛型莫属了,第23章所介绍的Collection API跟它有密不可分的关系,如果你常会使用到Collection API,那就一定要把泛型这个新的技术、功能、语法学好,这将有助于程序执行的正确性。
附录EEnum
Enum又称为枚举类型,在Tiger之前我们就已经使用其他的方式来达到枚举类型的设计,现在Tiger里直接支持枚举类型,让你在使用这种写程序的技巧时更方便。
附录FTiger的好帮手
除了前面两章所介绍的泛型与枚举类型外,Tiger里还有四个新的好帮手来帮助你在编写Java程序时更容易,它们分别是for each循环、static import、Auto boxing/Auto unboxing与varags。到底它们是怎么帮助你写好Java程序的呢?读完本章便知道。
附录G简易格式化的输入与输出
你在使用System out println这个方法时,常常为了把数据给输出成同一行,使用字符串在那里加来加去吗?又偶尔为了读入数据时需要自行判断读进来的数据是什么格式而烦恼吗?Tiger里新的printf方法与Scanner类可以助你解决这些问题。
附录 HAnnotations
Annotation又可称为metadata,意思是数据的注释或是数据的数据,简单地说就是描述数据的一种语言,在Tiger里被描述的数据就是指程序代码。Java程序代码我们可以加上Java Doc的注释说明,然后产生Java API说明文档,但光是产生说明文档还是不够,我们需要更多有关程序代码的信息,所以Tiger新加入了annotation,想知道详细的内容吗?在学习本章之前,请先打好Java程序设计的基本功。
无封面