为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会打印出-1073741824

为什么会打印出-1073741824

Et9 2016-06-29 14:28:11
package com.et.day4_; public class Test1 { public static void main(String[] args) { int sum = 0; for(int i = 0; i <=100; i--){ sum = sum + i; } System.out.println(sum); } }
查看完整描述

3 回答

?
虛無縹緲丶

TA贡献17条经验 获得超14个赞

这块的 -1073741824 应该是int类型最小值的一半

Integer类有一个MIN_VALUE属性,表示 int 类型能够表示的最小值。

至于为什么刚好输出最小值得一半求大神解释.....


查看完整回答
2 反对 回复 2016-06-29
  • 冰山点水
    冰山点水
    当sum的值为最小值的时候,再继续加i,就会溢出,这时候最小值减1就变成最大值了,再继续循环运算,当i减到最小值的时候,退出循环,这时候sum的值就是现在这么多。
  • 虛無縹緲丶
    虛無縹緲丶
    有点明白了 谢谢
  • 3 回答
  • 0 关注
  • 3678 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信