鄢爱兰,鹿江春等译,全面介绍了Java语言,Java标准库和Java开发环境。北京清华大学出版社出版。
内容提要:
本书是世界级程序设计大师Herbert Schildt的作品,全面介绍了Java语言,Java标准库和Java开发环境
本书是从Java基础入手,内容涵盖了J2EE5中的新增特性,如泛型,自动装箱,枚举,元数据,并发类库等。本书分四个部分,第一部分介绍Java语言,第二部分讨论标准Java库,第三部分讨论Java开发环境,第四部分是Java开发实例,各部分前后衔接,联系紧密。
本书是Java语言及其核心库的完全参考指南,无论是Java编程新手还是有丰富经验的专业人员,都可从本书受益。
前言
本书是Java语言和核心库的完全指南,其中包括J2SE新增的大量特性。J2SE(Java2 platform Standard Edition)是Sun公司的Java开发系统,定义了Java语言的形式和特性。5代表版本,是最近发行的版本号。
J2EE5新增了许多特性。有些特性(比如泛型、自动装箱和枚举)是Java程序员多年来一直梦寐以求的,有些特性(比如元数据)是超前创新,指明了未来的开发方向。从这两方面来讲,J2SE5新增的特性都在改变着Java编码的方式。过去程序员所依赖的许多技术现在已经过时,取而代之的是更好更强大的方法。
在开发过程中,J2SE 5的代号是Tiger。这个名字是经过精心选择的,它不仅宣告10年前发行Java原始版本现在有了一个新版本,而且还暗示着将对编程领域产生巨大而深刻的影响。正如原来的Java版本使Internet编程方式发生了革命性变化一样,J2SE 5则将使我们思考和设计程序的方式发生翻天覆地的变化。
本书涵盖了“新Java”的所有方面。
一本面向所有程序员的书
本书面向所有程序员。初学者将从本书精心安排的内容和大量实例中受益匪浅,而专业人员则能了解到Java的高级特性、类库,以及许多J2SE5的新增特性。对这两类读者,本书都提供了永久的资源和方便的参考。
本书内容
本书涵盖了Java编程语言的各个方面。
Part 1 Java基础
第一章 Java起源
1.1 Java的来源
Java是由C继承而来的,而Java的很多特性都受C++的影响。
1.1.1 C的诞生
C语言的诞生是人们所追求结构化,高效率,高级语言的结果。在C语言之前人们不得不在各种有欠缺的语言中进行选择:Basic虽然易学,但功能不够强大,并且谈不上什么结构化。汇编语言虽然高效率,但学习起来并非易事,而且调试很不方便。Pascal虽然是结构化语言,但效率不高。
C语言诞生的另外一个原因是因为计算机硬件资源多了,程序员可以任意使用计算机资源。
Dennis Ritchie在Unix系统下的DEC PDP-11上发明并首次实现了C语言。1989年美国国家标准化组织制定了C语言的标准,C语言被正式标准化。
1.1.2 C++更上一层楼
20世纪70年代末80年代初,C语言成为主流计算机编程语言。
最早编程是通过面板触发器通过人工打孔的形式输入,随着程序的不断复杂化,人们发明了汇编程序。随着程序的不断变大,高级语言产生了,它给程序员带来了更多的工具。
第一个被广泛接受的高级语言是FORTRAN,FORTRAN不能开发出让人易于理解条理清楚的程序。20世纪60年代提出结构化编程,C语言正是这种结构化思想的结果。
然而就算用结构化编程,但项目达到一定规模的时候,结构化编程也没办法满足需求了。
1979年,Bjarne Stroustrup发明了C++语言,C++在面向对象上扩充了C语言。最初Bjarne Stroustrup把它叫作“带类的C”,1983年才改名为C++。
20世纪80末90年代初,C++成为了主流计算机编程语言。甚至被认为是完美的编程语言。但随后的Internet和www的革命促成了编程界的另一场革命。
1.2 Java的诞生
Java是由James Gosling、Patrick Naughton、Chris Warch、Ed Frank和Mike Sheridan于1991年在Sun公司设计出来的。开发第一个版本用了18个月,开始命名为Oak,
1.3 J2SE 5的革命
J2SE是一次里程碑的发布。这次发布增加了很多主要的新特性
1. 泛型
2. 元数据
3. 自动装箱自动折箱
4. 枚举
5. 变长参数
6. 增强性for …. each 循环
7. 静态导入
8. 格式化IO
9. 并行工具
10. API升级
上次这些特性不是枝节的改动和递增型的改进,第一项都代表Java语言的重大引进。
第二章
2.1 面向对象的三大原则
1. 封装
2. 继承
2.2 第一个简单的Java程序
2.2.1 键入程序
2.2.2 编译程序
键入javac Java源文件名
2.6.5 Java分隔符
在Java中一些字符被用做分隔符(Separator),最常用的是“;”
2.6.7 Java类库
要成为一个优秀的程序员就是学会使用Java标准类
第三章 数据类型、变量和数组
3.1 Java是一种强类型语言
3.2 基本类型
Java定义了8种基本数据类型byte,short,int,long,float,double,boolean,char。尽管Java在其他方便面向对象的,但这些基本类型不是。
3.3.1 字节型
最小的整型是字节型(byte)。这是一个有符号的8位类型,其范围是 -128~127。byte的变量在使用来自网络或文件的数据流时特别有用
3.3.2 短整型
短整型(Short)是一个有符号的16位类型,范围是-32768-32767,它可能是Java中使用得最少的类型了,因为它被定义为高类型优先(称为big-endian格式),此类型最适合16位机,然而这种计算机现在越来越少。
3.3.3 int
最常用的类型是int,它是有符号的32位类型,其范围是-2147483648~2147483647。Int类型是变化最多,最有效的类型
3.3.4 长整型
长整型是有符号的64位类型,用于存储int类型不足存储的数据类型。
3.5 字符型
Java用来存储字符的数据类型是char。
3.6 布尔型
3.7 深入分析字面量
3.7.3 布尔型字面量
布尔型字面量很简单,只有两个值true和false。
3.7.4 字符型字面量
3.7.5 字符串符字面量
Java的字符串字面量通过把一串字符放在一对双引号之间来指定。字符串字面量的例子如下:
“Hello world”
3.8 变量
3.8.1 声明一个变量
变量声明的基本形式
type identifier [=value][,identifier=[value]…]
第四章 运算符
4.1 算术运算符
下表列出各种自述运算符
运算符
|
结果
|
+
|
加
|
-
|
减
|
*
|
乘
|
/
|
除
|
%
|
取模
|
++
|
递增运算
|
+=
|
加法赋值
|
-=
|
减法赋值
|
*=
|
乘法赋值
|
/=
|
除法赋值
|
%=
|
取模赋值
|
--
|
递减运算
|
算术运算符的对象必须是数字。
第五章 程序控制语句
编程语言是通过控制(Control)语句来产生执行流的
5.1 Java选择语句
Java支持两种选择语句:if和switch。
5.3.2 运用增加的for-each循环
// Search an array using for-each style for.
class Search{
public static void main(String args[]){
int nums[] = {6,8,3,7,5,6,1,4};
int val = 5;
boolean found = false;
// use for-each style for to search nums for val
for(int x : nums){
found = true;
break;
}
if(found)
System.out.println("Value found!");
}
}
5.4 跳转语句
Java支持三种跳转语句:break、continue和return
5.4.1 使用break
第六章 介绍类
类是Java核心内容。它是一种逻辑构造,整个Java语言就在此基础上建立的,因为它定义了对象的形式和本质。
6.1 类的基础
6.1.1 类的一般形式
6.1.2 简单的类
6.2 声明对象
第七章 方法与类详述
7.6 访问控制
7.7 关键词 static
7.8 关键词 final
7.9 数组
7.10 嵌套类和内部类
7.11 String类
7.12.1 变长参数
J2SE 增加了一个新特性,简化了创建数目可变参数的方法。该特性被称为varargs,即变长参数(variable-length arguments)的简称。
下面是使用变长参数编写的vaTest():
Static void vaTest(int …v);
第八章 继承
第九章 包和接口
本章讨论Java两个最具革命性的特征:包和接口。包是(Packages)类的接口,用于把类名空间分离开。
包和接口是Java程序的两个基本组件。
9.1 包
9.1.1 定义一个包
下面是package语句的一般形式
package pkg;
第十章 异常处理
第十一章 多线程编程
第十二章 枚举、自动装箱和元数据(注释)
本章将分析J2SE
第十三章 输入输出、Applet和其他主题。
第十四章 泛型
Part 2 Java库
附件是这本书的相关源代码,陆续会补齐
分享到:
相关推荐
"韩顺平老师最全读书笔记"这个压缩包文件正是他课程精华的集合,包含了一系列重要的IT知识点。 首先,我们来看Java部分。Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。笔记中的...
PetShop最新版4.0基于.Net Framework 2.0和Asp.Net,原本是.Net平台上的学习实例,但它展示的分层架构和设计模式对于任何Web应用程序的开发都具有参考价值。 2. **系统架构设计**: PetShop采用了典型的"三层"架构...
#### 四、读书笔记 - **SQL语言简介**:SQL语言是应用程序与数据库之间通信的唯一语言,用于数据定义、数据操作、数据控制等多个方面。 - **关系数据库定义**:一个关系数据库包含多个数据表,每个表又包含行(记录...
Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty
cmd-bat-批处理-脚本-hello world.zip
知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。
在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。
该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。
cmd-bat-批处理-脚本-FTIME.zip
1747829038637.png
2025年自动化X光检查机项目大数据研究报告.docx
在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。
cmd-bat-批处理-脚本-msvc2017.zip
cmd-bat-批处理-脚本-virtualcam-install.zip
二十四节气之立秋介绍.pptx
cmd-bat-批处理-脚本-shift.zip
二十四节气之小雪介绍.pptx
java、SpringBoot面试专题,6页面试题
cmd-bat-批处理-脚本-GenerateUnionWinMD.zip