`
hjqhezgh
  • 浏览: 40078 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

JAVA整形和浮点型的知识点整理

阅读更多

首先是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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics