首页 > 代码库 > JAVA 数据类型

JAVA 数据类型

变量和数据类型
在Java中,数据的类型可以分为四种:基本数据类型、数组类型、类和接口类型。任何数据都一定是上述数据类型的一种。
其中基本数据类型可以分为四大类:布尔型、字符型、整数型和浮点型。这些类型的数据与前面介绍的常量的类型基本相同,在此不再多说。下面将整数型和浮点型变量的取值范围列出:

表一、

类型 宽度 取值范围 
byte 8位 -256到256 
short 16位 -32768到32767 
int 32位 -2147483648到2147483647 
long 64位 -9223372036854775808到9223372036854775807

表二、

进制 整数 长整数 
十进制 最大正整数 2147483647(2的31次方减1) 923372036854775807L(2的63次方减1) 
八进制 最大正整数 077777777777(2的31次方减1) 07777777777777777777L(2的63次方减1) 
最小负整数 020000000000(-2的31次方) 04000000000000000000L(-2的63次方) 
十六进制 最大正整数 0x7fffffff(2的31次方减1) 0x7fffffffffffffffL(2的63次方减1) 
最小负整数 0x80000000(-2的31次方) 0x8000000000000000L(-2的63次方)

浮点数能表示的数值从小到大分别是:负无穷大、负有限值、负零、正零、正有限值及正无穷大。其中正零和负零在进行数值比较的时候是相等的,但仍有办法分辨这两个值,例如在进行1.0/0.0的时候会得到正无穷大的结果。其它非零非无穷大的有限值是以s*m*(2^e)来表示的,s和m的取值范围见下表:
表三、

类型 s m e 
float +1或-1 小于2的24次方的正整数 149到104的整数 
double +1或-1 小于2的53次方的正整数 1045到1000的整数

表四、float 最大值 3640282347e+38f 
非零最小值 1.40239846e-45f 
double 最大值 1.79769313486231570e+308 
非零最小值 4.940656458412465334e-324

另外浮点数还有一些特殊值,见下表:float 最大值 Float.MAX_VALUE 
最小值 Float.MIN_VALUE 
正无穷大 Float.POSITIVE_INFINITY 
负无穷大 Float.NEGATIVE_INFINITY 
NaN Float.NaN 
double 最大值 Double.MAX_VALUE 
最小值 Double.MIN_VALUE 
正无穷大 Double.POSITIVE_INFINITY 
负无穷大 Double.NEGATIVE_INFINITY 
NaN Double.NaN

与C/C++语言中不同的是,在Java语言中,所有的基本数据类型都有预设值,就是说当我们声明一个变量时,即使我们没有对它赋值,它的值也是一定的,而不像在C/C++中那样是不可预测的。具体个类型的预设值见下表:

基本数据类型 预设值 
Boolean false 
Char \u000 
Byte (byte)0 
Short (short)0 
Int 0 
Long 0L 
Float 0.0L 
Double 0.0d

JAVA 数据类型