for(int i = 1; i>0 ; i++){
 System.out.println(i);
}
我理解的是,不是死循环,因为int类型容纳量好像是2的32次方个数吧,不知道对不对

解决方案 »

  1.   

    不会死循环,楼主理解正确,把代码稍微改写下,即可看出 for(int i = Integer.MAX_VALUE -1; i>0 ; i++){
    System.out.println(i);
    }
      

  2.   

    楼主理解的完全正确,等i超过整数的范围时,会溢出,此时i<0了
      

  3.   

    int基本类型是有范围的-2147483648~2147483647。
      

  4.   

    不会成死循环,不过栈内存分配太多变量,容易造成栈溢出现象,另外我们知道int类型的最大值为2G-1
    2的32次方-1
    内存补码为01111111 11111111 11111111 11111111
    当进入下一次循环时i+1此时i=2G根据2进制补码原则补码为
              10000000 00000000 00000000 00000000
    变为int类型的最小值。从这个循环我们可以得到一个结论
          int 类型最大值+1=int 类型最小值
      

  5.   

    嗯,不是死循环。楼上讲 int 类型最大值+1=int 类型最小值 是正确的。
      

  6.   

    为什么要写个bug 出来??