下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Java语言的主类型和主数据类型

作者:课课家教育     来源: http://www.kokojia.com点击数:947发布时间: 2016-02-01 15:39:23

标签: java入门java语言java编程

大神带你学编程,欢迎选课

  有一系列类需特别对待;可将它们想象成“基本”、“主要”或者“主”(Primitive)类型,进行程序设计时要频繁用到它们。之所以要特别对待,是由于用new创建对象(特别是小的、简单的变量)并不是非常有效,因为new将对象置于“堆”里。

Java语言的主类型和主数据类型_java入门_java语言_课课家

  对于这些类型,java采纳了与C和C++相同的方法。也就是说,不是用new创建变量,而是创建一个并非句柄的“自动”变量。这个变量容纳了具体的值,并置于堆栈中,能够更高效地存取。

  Java决定了每种主要类型的大小。就象在大多数语言里那样,这些大小并不随着机器结构的变化而变化。这种大小的不可更改正是java程序具有很强移植能力的原因之一。

  ①:到Java 1.1才有,1.0版没有。

  数值类型全都是有符号(正负号)的,所以不必费劲寻找没有符号的类型。

  主数据类型也拥有自己的“封装器”(wrapper)类。这意味着假如想让堆内一个非主要对象表示那个主类型,就要使用对应的封装器。例如:

  char c = 'x';

  Character C = new Character('c');

  也可以直接使用:

  Character C = new Character('x');

  这样做的原因将在以后的章节里解释。

  1. 高精度数字

  Java 1.1增加了两个类,用于进行高精度的计算:BigInteger和BigDecimal。尽管它们大致可以划分为“封装器”类型,但两者都没有对应的“主类型”。

  这两个类都有自己特殊的“方法”,对应于我们针对主类型执行的操作。也就是说,能对int或float做的事情,对BigInteger和BigDecimal一样可以做。只是必须使用方法调用,不能使用运算符。此外,由于牵涉更多,所以运算速度会慢一些。我们牺牲了速度,但换来了精度。

  BigInteger支持任意精度的整数。也就是说,我们可精确表示任意大小的整数值,同时在运算过程中不会丢失任何信息。

  BigDecimal支持任意精度的定点数字。例如,可用它进行精确的币值计算。

  至于调用这两个类时可选用的构建器和方法,请自行参考联机帮助文档。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程