可以先告诉你为什么最后一个等于-2,因为你是两个MAX_VALUE相加,而不是MAX_VALUE+MIN_VALUE -_-!

解决方案 »

  1.   

    你那样显示的是二进制类型号的,而不是十进制的.toBinaryString
      

  2.   

    toBinaryString:
    This value is converted to a string of ASCII digits in binary (base 2) with no extra leading 0s你试一下System.out.println(200)和System.out.println(-200)就能明白这个方法返回的字符串去掉了开头的0,不是返回全部的32位
      

  3.   

    Integer.MAX_VALUE和Integer.MIN_VALUE分别是2147483647,-2147483648
    自己写错了。
    ~。~