黑马程序员技术交流社区
标题:
x是多少?竟然是-2147483648,明明加上1之后还是long的范围。
[打印本页]
作者:
lizhi
时间:
2015-5-17 09:22
标题:
x是多少?竟然是-2147483648,明明加上1之后还是long的范围。
long x=Integer.MAX_VALUE+1;
System.out.println(x);
作者:
pvbj0314
时间:
2015-5-17 20:51
“long x=Integer.MAX_VALUE+1;”中先执行Integer.MAX_VALUE + 1得到-2147483648,再将此值转换为long类型的,所以结果是-2147483648,如果你使用“long x=Integer.MAX_VALUE+1L”将得到2147483648,因为Integer.MAX_VALUE先转换为long类型的,再加1.
作者:
王连涛
时间:
2015-5-17 21:27
先执行静态常量,然后才去+1
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2