Welcome 微信登录

首页 / 软件开发 / JAVA / Java的数据类型转换

Java的数据类型转换2011-03-25 51cto博客 zhangjunhd1.Java的简单类型及其封装器类

1.1Java简单类型与封装类

我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的 结构简单,占内存小且存取速度快等优点,Java依然提供了对这些非面向对象的简单数据类 型的支持。当然,Java在提供大量的其它类时,也提供了与简单数据类型对应的封装类,于 是,Java中就有了诸如int和Integer(float和Float、double和Double……) 的不同的数据类型。

Java语言的数据类型有两大类:一类是简单类型,也称主要类型(Primitive),另一类是 引用类型(Reference)。简单类型变量中存储的是具体的值,而引用类型的变量中存储的是 对象的引用。

Java决定了每种简单类型的大小。这些大小并不随着机器结构的变化而变化。这种大 小的不可更改正是Java程序具有很强移植能力的原因之一。

下表列出了Java中定义的简单类型、占用二进制位数及对应的封装器类。

表 Java中的简单类型

简单类型booleanbytecharshortintlongfloatdoublevoid
二进制位数18161632643264--
封装器类BooleanByteCharacterShortIntegerLongFloatDoubleVoid

1.2为什么使用封装类

以int和Integer为例来说,虽然从本质上它们都代表一个32位的整数,但它们却是不同 的数据类型。事实上,Java中直接使用的整数都为int(就int和Integer而言),只有当数据 必须作为对象的身份出现时,才必须用int对应的封装器Intege将整数值封装成对象。

例如:为给java.util包中的Vector添加一个整数,就必须如下将该整数值封装在一个 Integer实例中:

Vector v=new Vector();
int k=121;
v.addElemt(new Integer(k));

另外,Integer作为int对应的封装器类,提供了许多的方法,比如:Integer的构造方法、 Integer向其它各种数值类型的转换方法等等,而这些是int类型数据所没有的。

2.Java中的常量

我们需要注意以下几种类型的常量。

2.1十六进制整型常量

以十六进制表示时,需以0x或0X开头,如0xff,0X9A。

2.2八进制整型常量

八进制必须以0开头,如0123,034。

2.3长整型

长整型必须以L作结尾,如9L,342L。

2.4 浮点数常量

由于小数常量的默认类型是double型,所以float类型的后面一定要加f(F)。同样带小 数的变量默认为double类型。

float f;

f=1.3f;//必须声明f。