Java程序设计语言(英文版·第4版)(JAVA之父权威力作 )
基本信息
编辑推荐
JAVA之父权威力作
内容简介回到顶部↑
本书主要讲授java程序设计语言,系统地介绍java的主要包(即java.lang.*、java.util和java.io)中的大多数类,并以内容丰富的示例对这些类如何工作进行了深入剖析。作者对这部经典著作进行更新,使其反映了java 2标准版5.0(j2se 5.0)中主要的增强。本版中增加了几章新内容,专门讨论泛型、枚举以及注解(这些是5.0版引入的主要的新特性),并且加了几小节论述断言和正则表达式。本书经过更新后还结合了当今构建健壮、高效和可维护的java软件的最佳实践。
本书对所有程序员(包括那些经验丰富的程序员在内)都是不可或缺的参考书。
本书对所有程序员(包括那些经验丰富的程序员在内)都是不可或缺的参考书。
作译者回到顶部↑
本书提供作译者介绍
Ken Arnold曾任Sun公司研究中心的高级工倒师,是面向对象设计与实现方面首屈一指的专家;他曾经是Jini技术的架构师之一、Sun公司JavaSpaces技术的首席工程师。
James Goslig是Sun公司院士和该公司开发平台组(Developer Platform Group)的CTO。他没汁了Java程序没汁语言,实现了最初的Java编译器和虚拟机,最近他正致力于Java实时规范(Real-Time Specification for Java)的相关工作-他是汁算机界最受尊敬的程序员之一,曾荣获Software Development杂志1996年“程序设计杰出大奖”。
Davi.. << 查看详细
James Goslig是Sun公司院士和该公司开发平台组(Developer Platform Group)的CTO。他没汁了Java程序没汁语言,实现了最初的Java编译器和虚拟机,最近他正致力于Java实时规范(Real-Time Specification for Java)的相关工作-他是汁算机界最受尊敬的程序员之一,曾荣获Software Development杂志1996年“程序设计杰出大奖”。
Davi.. << 查看详细
目录回到顶部↑
contents
1銆a quick tour銆1
1.1銆getting started銆1
1.2銆variables銆3
1.3銆comments in code銆6
1.4銆named constants銆7
1.5銆unicode characters銆8
1.6銆flow of control銆9
1.7銆classes and objects銆12
1.7.1銆creating objects銆13
1.7.2銆static or class fields銆14
1.7.3銆the garbage collector銆15
1.8銆methods and parameters銆15
1.8.1銆invoking a method銆15
1.8.2銆the this reference銆17
1.8.3銆static or class methods銆17
1.9銆arrays銆18
1.10銆string objects銆21
1.10.1銆string conversion and formatting銆23
1銆a quick tour銆1
1.1銆getting started銆1
1.2銆variables銆3
1.3銆comments in code銆6
1.4銆named constants銆7
1.5銆unicode characters銆8
1.6銆flow of control銆9
1.7銆classes and objects銆12
1.7.1銆creating objects銆13
1.7.2銆static or class fields銆14
1.7.3銆the garbage collector銆15
1.8銆methods and parameters銆15
1.8.1銆invoking a method銆15
1.8.2銆the this reference銆17
1.8.3銆static or class methods銆17
1.9銆arrays銆18
1.10銆string objects銆21
1.10.1銆string conversion and formatting銆23
前言回到顶部↑
美丽的建筑已经超出了科学的范畴。它们是真正的有机体,是心灵的产物;它们是艺术品,使用了由灵感激发出的最好的技术,而绝不是出自个人的癖好或委员会式的平庸想法。
—弗兰克·劳埃德·赖特
Java程序设计语言已经在世界范围内被软件开发者和因特网内容提供商热情接纳。因特网和万维网的用户因能够访问来自因特网上任何地方的、独立于平台的安全应用而受益匪浅。用Java程序设计语言创建应用的开发者也大受裨益,因为他们只需开发一次代码,而用不着再将应用“移植”到各种软硬件平台中去。.
Java语言最初只是作为一种为万维网创建applet的工具而闻名于世的。applet是运行在Web页面中的一种迷你应用。下载之后,它可以在不使用Web服务器资源的情况下,在用户的浏览器页面中执行任务并与用户进行交互。当然,某些applet还可以与服务器通信以完成其工作,但是这不需要用户操心。
Java语言对于Web这样的分布式网络环境确实非常有价值。然而,它远远超越了这个领域,成为了一种强大的通用编程语言,适用于构建各种不依赖于网络特性的应用,并可满足其他应用的不同需求。它在远程主机上以安全的方式执行下载代码的能力正是许多组织的关键需求。..
有些团队将Java作为一种通用编程语言,用于开发对机器无关性要求不高的项目。Java易于编程,安全性强,可用于快速地开发工作代码。由于它具有诸如垃圾收集和类型安全的引用这样的特性,某些常见的编程错误在Java中是不会发生的。对多线程的支持满足了基于网络和图形化用户界面的现代应用的需要,因为这些应用必须同时执行多个任务。而异常处理机制使得处理错误情况的任务变得简单易行。尽管其内置工具非常强大,Java依然是一种简单的语言,程序员可以很快就精通它。
Java语言被设计为尽可能提高可移植性,尽可能地减少对实现的依赖性。例如,在所有的实现中,int数值都是一个32位有符号的二进制补码整数,而不管执行程序的CPU的体系结构如何。对有关Java语言及其运行时环境的一切进行定义,可以使用户在任何地方运行编译过的代码,并与任何有Java运行时环境的人共享代码。
关于本书
本书的目的是向熟知基本编程概念的人讲授Java语言。我们并不刻意追求严密,也不求面面俱到。本书并不打算专门介绍面向对象编程,尽管书中涵盖了某些主题,以提供通用的术语。
第4版全面讲述Java语言,基于Java 2平台标准版5.0,其语言规范在《Java语言规范》(第3版)中有详细说明。本书还涵盖了由J2SE开发包5.0(通称为JDK 5.0,曾经也叫JDK 1.5.0)实现的主要的包(java.lang.*、java.util、java.io)中的绝大多数类。
如果读过本书的第3版,你会发现无论是Java语言还是本书本身都有一些重大变化,因为本书的第3版涵盖的是JDK 1.3。本版加了几章新内容,专门讨论泛型、枚举以及注解(这些是5.0版引入的主要的新特性),并且加了几小节论述断言和正则表达式。有些内容被重新整理,以适应变化,使行文更为流畅(例如在解释新的装箱和拆箱时)。其实每一章都在不同程度上进行了更新,其中有的牵涉到语言的新特性(像可变参数方法、新的增强型的for循环结构),有的涉及新的类(像用于格式化文本输出的Formatter),还有添加泛型之后所引发的类和方法的变化(如集合工具和反射类)。总之,改动渗透在整个第4版中。
Java语言具有很多与当今使用的大多数编程语言相通的特性。Java语言对于C和C++程序员来说应该是似曾相识的,因为它本身就是用相似的C和C++结构设计的。也就是说,本书既不是语言对比分析,也不是C和C++到Java的“过渡”指南—读者不须具备任何有关C或C++的知识。特别是对于C++程序员而言,那些曾经非常有用的知识反而会妨碍他们对Java的学习,必须学会忘却。
第1章“快速浏览”给出了Java语言的概貌。不熟悉面向对象编程概念的程序员应该阅读这个快速浏览,熟悉面向对象编程范型的程序员也会发现这一章对了解Java语言的面向对象特性是很有意义的。这里介绍的一些基本语言特性,是理解全书例子的基础。
第2章到第6章覆盖了Java语言面向对象的核心特性,即定义程序构件的类声明,以及根据类定义构造的对象。第2章“类与对象”描述了Java语言的基础:类。第3章“类的扩展”描述了已有的类可以如何被扩展,或者说被子类化,以创建具有更多数据和行为的新类。第4章“接口”描述了如何声明对行为进行抽象描述的接口类型,它可以为类的设计者和实现者提供最大的灵活性。第5章“嵌套类和接口”描述了如何在其他的类和接口的内部声明类和接口,以及这样做能带来什么好处。第6章“枚举类型”涵盖了类型安全的枚举常量的定义和使用方式。
第7章到第10章覆盖了大多数语言共通的标准结构。第7章“语言符号、值和变量”描述了Java中用来构造语句的语言符号、由Java语言定义的类型及它们可能的取值,以及将数据存储到对象、数组和方法内部所用到的变量。第8章“基本类型”探讨了基本类型和它们对应的包装器类对象之间的关系,以及装箱和拆箱是如何透明地在它们之间进行转换的。第9章“运算符和表达式”描述了Java语言的基本运算符,以及如何使用这些运算符构建表达式,这些表达式又如何计算。第10章“控制流”描述了控制语句如何引导语句执行的顺序。
第11章“泛型类型”描述了如何编写和使用泛型类型,以及泛型类型的强大威力和局限性。
第12章“异常与断言”描述了Java语言强大的错误处理能力,以及如何使用断言来验证代码所应有的行为。
第13章“字符串与正则表达式”描述了语言和运行时内置的对String对象的支持,底层字符集的支持,以及用于正则表达式匹配的功能强大的实用程序。
第14章“线程”解释了Java语言的多线程机制。许多应用,例如基于图形界面的软件,必须同时处理多个任务。这些任务必须相互协作,以确保其行为正确,而线程正好满足了多任务协作的需求。
第15章“注解”描述了用于对类和方法的一些语言外属性进行归档的注解类型。
—弗兰克·劳埃德·赖特
Java程序设计语言已经在世界范围内被软件开发者和因特网内容提供商热情接纳。因特网和万维网的用户因能够访问来自因特网上任何地方的、独立于平台的安全应用而受益匪浅。用Java程序设计语言创建应用的开发者也大受裨益,因为他们只需开发一次代码,而用不着再将应用“移植”到各种软硬件平台中去。.
Java语言最初只是作为一种为万维网创建applet的工具而闻名于世的。applet是运行在Web页面中的一种迷你应用。下载之后,它可以在不使用Web服务器资源的情况下,在用户的浏览器页面中执行任务并与用户进行交互。当然,某些applet还可以与服务器通信以完成其工作,但是这不需要用户操心。
Java语言对于Web这样的分布式网络环境确实非常有价值。然而,它远远超越了这个领域,成为了一种强大的通用编程语言,适用于构建各种不依赖于网络特性的应用,并可满足其他应用的不同需求。它在远程主机上以安全的方式执行下载代码的能力正是许多组织的关键需求。..
有些团队将Java作为一种通用编程语言,用于开发对机器无关性要求不高的项目。Java易于编程,安全性强,可用于快速地开发工作代码。由于它具有诸如垃圾收集和类型安全的引用这样的特性,某些常见的编程错误在Java中是不会发生的。对多线程的支持满足了基于网络和图形化用户界面的现代应用的需要,因为这些应用必须同时执行多个任务。而异常处理机制使得处理错误情况的任务变得简单易行。尽管其内置工具非常强大,Java依然是一种简单的语言,程序员可以很快就精通它。
Java语言被设计为尽可能提高可移植性,尽可能地减少对实现的依赖性。例如,在所有的实现中,int数值都是一个32位有符号的二进制补码整数,而不管执行程序的CPU的体系结构如何。对有关Java语言及其运行时环境的一切进行定义,可以使用户在任何地方运行编译过的代码,并与任何有Java运行时环境的人共享代码。
关于本书
本书的目的是向熟知基本编程概念的人讲授Java语言。我们并不刻意追求严密,也不求面面俱到。本书并不打算专门介绍面向对象编程,尽管书中涵盖了某些主题,以提供通用的术语。
第4版全面讲述Java语言,基于Java 2平台标准版5.0,其语言规范在《Java语言规范》(第3版)中有详细说明。本书还涵盖了由J2SE开发包5.0(通称为JDK 5.0,曾经也叫JDK 1.5.0)实现的主要的包(java.lang.*、java.util、java.io)中的绝大多数类。
如果读过本书的第3版,你会发现无论是Java语言还是本书本身都有一些重大变化,因为本书的第3版涵盖的是JDK 1.3。本版加了几章新内容,专门讨论泛型、枚举以及注解(这些是5.0版引入的主要的新特性),并且加了几小节论述断言和正则表达式。有些内容被重新整理,以适应变化,使行文更为流畅(例如在解释新的装箱和拆箱时)。其实每一章都在不同程度上进行了更新,其中有的牵涉到语言的新特性(像可变参数方法、新的增强型的for循环结构),有的涉及新的类(像用于格式化文本输出的Formatter),还有添加泛型之后所引发的类和方法的变化(如集合工具和反射类)。总之,改动渗透在整个第4版中。
Java语言具有很多与当今使用的大多数编程语言相通的特性。Java语言对于C和C++程序员来说应该是似曾相识的,因为它本身就是用相似的C和C++结构设计的。也就是说,本书既不是语言对比分析,也不是C和C++到Java的“过渡”指南—读者不须具备任何有关C或C++的知识。特别是对于C++程序员而言,那些曾经非常有用的知识反而会妨碍他们对Java的学习,必须学会忘却。
第1章“快速浏览”给出了Java语言的概貌。不熟悉面向对象编程概念的程序员应该阅读这个快速浏览,熟悉面向对象编程范型的程序员也会发现这一章对了解Java语言的面向对象特性是很有意义的。这里介绍的一些基本语言特性,是理解全书例子的基础。
第2章到第6章覆盖了Java语言面向对象的核心特性,即定义程序构件的类声明,以及根据类定义构造的对象。第2章“类与对象”描述了Java语言的基础:类。第3章“类的扩展”描述了已有的类可以如何被扩展,或者说被子类化,以创建具有更多数据和行为的新类。第4章“接口”描述了如何声明对行为进行抽象描述的接口类型,它可以为类的设计者和实现者提供最大的灵活性。第5章“嵌套类和接口”描述了如何在其他的类和接口的内部声明类和接口,以及这样做能带来什么好处。第6章“枚举类型”涵盖了类型安全的枚举常量的定义和使用方式。
第7章到第10章覆盖了大多数语言共通的标准结构。第7章“语言符号、值和变量”描述了Java中用来构造语句的语言符号、由Java语言定义的类型及它们可能的取值,以及将数据存储到对象、数组和方法内部所用到的变量。第8章“基本类型”探讨了基本类型和它们对应的包装器类对象之间的关系,以及装箱和拆箱是如何透明地在它们之间进行转换的。第9章“运算符和表达式”描述了Java语言的基本运算符,以及如何使用这些运算符构建表达式,这些表达式又如何计算。第10章“控制流”描述了控制语句如何引导语句执行的顺序。
第11章“泛型类型”描述了如何编写和使用泛型类型,以及泛型类型的强大威力和局限性。
第12章“异常与断言”描述了Java语言强大的错误处理能力,以及如何使用断言来验证代码所应有的行为。
第13章“字符串与正则表达式”描述了语言和运行时内置的对String对象的支持,底层字符集的支持,以及用于正则表达式匹配的功能强大的实用程序。
第14章“线程”解释了Java语言的多线程机制。许多应用,例如基于图形界面的软件,必须同时处理多个任务。这些任务必须相互协作,以确保其行为正确,而线程正好满足了多任务协作的需求。
第15章“注解”描述了用于对类和方法的一些语言外属性进行归档的注解类型。
相关资源回到顶部↑
· 【推荐】众多高校学子口口相传,他们共同的选择--华清远见嵌入式学院(嵌入式Linux就业课程、3G手机开发就业课程,通过入学测试即签100%就业协议,4个月集中实训,世界500强企业成功就业保障!!!)· 【亚嵌教育 嵌入式培训专家】(嵌入式培训,嵌入式Linux培训,ARM培训,Linux培训,3G培训,Android培训,WINCE培训,DSP培训,FPGA培训,嵌入式就业培训)
· 中文java技术网(面向国内介绍java及相关技术的专业网站,为java爱好者免费提供相关服务)
· 程序员的7种武器(正则表达式、编程语言、数据库、算法、软件调试、开发环境)
· 图灵公司详细书目
评论交流
共有18人开贴评论 24人参与评论 16人参与打分 查看
评价等级:







发表于:2006-12-1 17:40:00
比较喜欢看java的书,尤其是大师级别的书,下面就对本书的一点自己的观点说一下:
第一:本书和编程思想比较起来,他比较侧重于java语言本身的特点,适合那种掌握java的基础知识,需要进一步提高的,所以不会和编程思想一样让你一头雾水;
第二:本书对java新特性的阐述比较详细也比较容易理解,而且最重要的是告诉你为什么会有,好处是什么,以及如何去合理的利用他们;
第三:和Java 2核心技术比起来,核心技术里面例举了大量的例子,比较让人有一种连贯的思想,而本书只是点到为止,当然也不乏例子。
第四:本书是告诉你java语言的诸多特性或者说是特点,没有像Java 2核心技术那样分门别类的给介绍java的每一个方面的应用,所以说本书是修炼内功的。
第五:我觉得本书是提供给广大程序员一份详尽而且生动的参考书,当你在为某个特征而烦恼的时候不妨阅读一下大师的看法,告诉你什么是最佳实践!
第一:本书和编程思想比较起来,他比较侧重于java语言本身的特点,适合那种掌握java的基础知识,需要进一步提高的,所以不会和编程思想一样让你一头雾水;
第二:本书对java新特性的阐述比较详细也比较容易理解,而且最重要的是告诉你为什么会有,好处是什么,以及如何去合理的利用他们;
第三:和Java 2核心技术比起来,核心技术里面例举了大量的例子,比较让人有一种连贯的思想,而本书只是点到为止,当然也不乏例子。
第四:本书是告诉你java语言的诸多特性或者说是特点,没有像Java 2核心技术那样分门别类的给介绍java的每一个方面的应用,所以说本书是修炼内功的。
第五:我觉得本书是提供给广大程序员一份详尽而且生动的参考书,当你在为某个特征而烦恼的时候不妨阅读一下大师的看法,告诉你什么是最佳实践!
评价等级:







发表于:2006-11-10 10:43:00
James Gosling的《The Java Programming Language》是我最为受益的JAVA启蒙读物。当时在学习Java的时候就四处搜寻参考资料,发现很多人推荐《Thinking in Java》,我也借了一本来看看。然而令人羞愧,跟着作者的不断分析,尤其是各种错误、瑕疵的寻找,我发现我看得越来越糊涂了,似乎不断纠缠于语法细节而忽略Java语言本身内在的逻辑魅力。于是我便另寻他法,最终找到了这本《The Java Programming Language》。不愧是Java之父写的书,分析和组织上都令我眼前一亮,而且语言的运用(我都是看原版的)也特别流畅,一股亲切感油然而生。记得那时是暑假小学期上Java课的时候,我在最后一个星期开始狂看这本书,越看越兴奋,越看思路越清晰,最后对我优异的考核成绩产生了巨大的贡献。当然,实践和运用才能真正提高水平,可一本经典的书籍将带你进入一个新的层次。无独有偶,C++的巨著Bjarne的那本书也叫The C++ Programming Language。看来,牛书都是有相通之处的:)
| 我要写评论 |
| 查看所有评论交流(共18条) |








点击看大图





加载中...

