今天仔细的看了一下java的基础——基本数据类型,还真的发现了以前漏掉了的知识点,数据溢出。
首先我先贴上代码。
public class IntDemo
{
public static void main(String[] args)
{
int max=Integer.MAX_VALUE;
System.out.println("max的值等于"+max);
System.out.println("max加1的值等于"+(max+1));
}
}
上面运行的结果是:
max的值等于2147483647
max加1的值等于-2147483648
第一个值恰好是int范围的最小值,int中最大值加上1变成了最小值
那如果是最小值呢?我们试试看
public class IntDemo
{
public static void main(String[] args)
{
int max=Integer.MAX_VALUE;
System.out.println("max的值等于"+max);
System.out.println("max加1的值等于"+(max+1));
int min=Integer.MIN_VALUE;
System.out.println("min的值等于"+min);
System.out.println("min减1的值等于"+(min-1));
}
}
这里的结果:min的值等于-2147483648min的值等于-2147483648
刚好相反,最小变成了最大。
所以这就是正应了我们生活的中那句物极必反。
这是我对一些知识点的遗漏进行的补充。