for問題

yhm2046 2012-02-26 12:03:48
for(int i=2147483646;i<2147483647;i++){
System.out.println(Integer.toString(i)+":"+Integer.toBinaryString(i));
}
int n=2147483647;
System.out.println(Integer.toString(n)+":last"+Integer.toBinaryString(n));

//爲什麽最大數在for循環裏面就死循環,放到循環外面就正常輸出,沒想明白求高人解答

...全文
45 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Acesidonu 2012-02-26
  • 打赏
  • 举报
回复
debug一下就好了
龙四 2012-02-26
  • 打赏
  • 举报
回复
你这个不会死循环,改成i<=2147483647才会死循环,因为int溢出问题

int i = Integer.MAX_VALUE;//2147483647
i ++;此时i等于-2147483648,即Integer.MIN_VALUE

负数当然小于正数,于是就死循环了
yhm2046 2012-02-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 yhm2046 的回复:]
Java code
for(int i=2147483646;i<2147483647;i++){
System.out.println(Integer.toString(i)+":"+Integer.toBinaryString(i));
}
int n=2147483647;
System.out.println……
[/Quote]

谢谢,知道最大數加一就是最小數

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧