A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luoanjade 中级黑马   /  2014-2-26 19:39  /  1092 人查看  /  7 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

先看看下面这段代码:帮忙解决代码中提出的问题。
public static void main(String[] args){
      int i = 0;
      {
          在这里做什么样的操作,能下面的输出是“正确”?
      };
      if(i+1<i){
          System.out.println("正确");
      }else{
          System.out.println("错误");      
      }
}

谢谢!!!

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

7 个回复

倒序浏览
public static void main(String[] args){
              int i = 0;
              {
                 i=Integer.MAX_VALUE;
              }
              if(i+1<i){
                  System.out.println("正确");
              }else{
                  System.out.println("错误");      
              }

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报 3 0
同解1楼
回复 使用道具 举报
应该向int类型的极值去考虑
回复 使用道具 举报
令 i = 0XEFFF FFFF  -->   i+1 = 0xffff ffff ; 然后i就溢出了。 其实这个就是用到了int的最高位判断正数还是负数
回复 使用道具 举报
自由自在2014 发表于 2014-2-26 19:53
public static void main(String[] args){
              int i = 0;
              {

真要赞一个,好方法
回复 使用道具 举报
加个关注
回复 使用道具 举报
自由自在2014 发表于 2014-2-26 19:53
public static void main(String[] args){
              int i = 0;
              {

非常感谢!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马