首先是JAVA整形数据的长度表格
类型
存储需求
取值范围
int
4字节
-2 417 483 648~2 417 483 647(2的31次方)
short
2字节
-32768~32767(2的15次方)
long
8字节
-9223 372 036 854 775 808~9223 372 036 854 775 807(2的63次方)
byte
1字节
-128~127(2的7次方)
比较特殊的是long类型的数据定义方式及八进制,十六进制的数据定义方式。下面用代码演示。
longNum1即使声明为long类型,但是由于没有在数字末尾加上L字符,所以编译器还是以默认的int类型进行存储,longNum2是正确的long类型的声明方式,longNum3由于长度已经超出int类型能够支持的长度,但是又没有在数字末尾加L字符编译器就报错了。
下面介绍非十进制的整形的声明方式。
int eightNum = 011;//表示八进制的9
int sixteenNum = 0x10;//表示十六进制的16
需要注意的是八进制的数字表示方式比较容易引起混淆,所以不推荐,建议由需要的话,使用十六进制的数字表示方式,另外对于八进制和十六进制的数字表示方式来说是没有-这个符号的,要表示负数需要自己进行换算。
下面是对JAVA浮点型数据的介绍
类型
存储需求
取值范围
float
4字节
大约+/-3.402 823 47E+38F(有效位数为6~7位)
double
8字节
大约+/-1.797 693 134 862 315 70E+308(有效位数为15位)
浮点型的数据定义方式如下
float floatNum = 3.1415F;
double doubleNum = 3.14159265412334599D;
一样是需要在数字的最后加上符号F或者D加以区分,如果不加任何符号,使用默认的话,则为double类型。
然后介绍下科学计数法。
float floatNum2 = 3e+2F;
double doubleNum2 = 3.32E-2D;
double doubleNum3 = 0x3.E2p-2D;
十进制数字用E或者e表示科学计数法,比较有意思的是如果是十六进制的数字,用p来表示科学计数法。
最后是三个特殊的浮点数值。
正无穷:Double.POSITIVE_INFINITY;负无穷:Double.NEGATIVE_INFINITY;NaN:Double.NaN;
并且判断一个数字是否为NaN也应该采用下面的方式
if(Double.isNaN(Double.NaN)){
}
附上各种数据类型之间的转换关系图
大小: 12.1 KB
大小: 11.9 KB
分享到:
2010-10-10 22:53
浏览 10097
评论