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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 廖理 于 2012-5-9 19:38 编辑

不运行你知道结果吗?运行后知道原因吗?反正我是有点晕了
为什么结果会是这样呢?
class FileDemo1{
        public static void main(String[] args)throws IOException{
               
        int i = 0;
        int j = 0;
        
        int k = 0;
        int h = 0;
        
        i = i++ + ++i;
        
        j = ++j + j++ + j+ j++;
        
        k = k++ + k++ + k++ + ++k;
               
        h = ++h + + ++h;        
        
        System .out.println("i =" + i);
        System .out.println("j =" + j);
        System .out.println("k =" + k);
        System .out.println("h =" + h);
        }
}

运行结果:i =2               
                j =6
                k =7
                h =3




5 个回复

倒序浏览
i = i++ + ++i;
i++=0;但是之后i=1; ++i=2
所以等于2
j = ++j + j++ + j+ j++;
++j=1 j=1,j++=0,j=2, j++=3
最后一个看不懂了

k = k++ + k++ + k++ + ++k;
k++=0,k=1,k++=1,k=2,k++=2,k=3,++k=4
k=0+1+2+4=7
j=1+1+2+2=6
回复 使用道具 举报
最后一个  经测试,, 中间一个加  两个加  三个加。。。N个加都不影响结果  也就是说实质是一样的
  h = ++h + + ++h;   
h++=0,h=1
++h=2,
h=0+ +2=3
回复 使用道具 举报
i = i++ + ++i;
i++=0;但是之后i=1; ++i=2
所以等于2
j = ++j + j++ + j+ j++;
++j=1 j=1,j++=0,j=2, j++=3
j=1+1+2+2=6
k = k++ + k++ + k++ + ++k;
k++=0,k=1,k++=1,k=2,k++=2,k=3,++k=4
k=0+1+2+4=7
最后一个  经测试,, 中间一个加  两个加  三个加。。。N个加都不影响结果  也就是说实质是一样的
  h = ++h + + ++h;   
h++=0,h=1
++h=2,
h=0+ +2=3
回复 使用道具 举报
我要的是飞翔 而不是失根的飘
回复 使用道具 举报
我觉得吧,楼主可以去用Eclipse搞个断点调试一下!!看看每一步的结果值~~~这样就明白了!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马