0. 前言
- 问题来源:
- 疑问:奇数-偶数 != 0 ,但程序为什么可以无限次循环,会不会溢出?
1. 测试代码
public class Test {
public static void main(String args[]) {
int m = Integer.MAX_VALUE;
int n = Integer.MIN_VALUE;
System.out.println(m);//2147483647
System.out.println(n);//-2147483648
int mm = 2147483647;
int nn = -2147483648;
System.out.println(++mm);//-2147483648
System.out.println(--nn);//2147483647
}
}
测试结果:
① int 和 Integer 表示的数据范围是相同的,关于 int 和 Integer 区别有待学习
② int 是2个字节的即16位
③ Integer.MAX_VALUE
与Integer.MIN_VALUE
之间存在转换关系
2. 探索Integer.MAX_VALUE
与Integer.MIN_VALUE
之间的转换关系
- 关于 -128 ,+128,-0,+0,-1 的反码补码
- 上面大佬的博客内容整理
- ++Integer.MAX_VALUE 与 --Integer.MIN_VALUE
3. 测试结论:
① 有符号数的上下界之间可以相互转换
② 上述程序会无限循环下去