java基本数据类型的最大值加一变为最小值。

Java基本数据类型种类

    在Java基本数据类型分为:byte,short,char,int,long,float,double,boolean

名称 占内存大小 取值范围
byte 1Byte(8bit) [-128到128)也就是2的8次方
short 2Byte(16bit) [-32768到32768)也就是2的16次方
char 2Byte(16bit) [0到65535)也就是2的16次方
int 4Byte(32bit) [-2147483648到217483648)也就是2的32次方
long 8Byte(64bit) [-2^63到2^63)也就是2的64次方
float 4Byte(32bit) [-2^149到2^127)浮点类型
double 8Byte(64bit)

待议,浮点类型

由上图中可以看出所有取值基本都是正负之间,并且是左闭右开。这其中缘由就牵扯到数据的存储方式。在Java中基本数据类型存储在栈中,并且以二进制方式存储,因为存储是有符号的,所以最高位为符号位。0为正数,1为负数。这也就解释了为什么在最大值加一的时候反而得到了最小值。这点如果不明白,需要补一下二进制计算。

你可能感兴趣的:(Java)