首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

很简单的一个题,但是搞不懂解决办法

2013-01-23 
很简单的一个题,但是搞不懂int i0ii++System.out.println(i)上面这段代码,为什么结果会是0?[解决办法

很简单的一个题,但是搞不懂
int i=0;
i=i++;
System.out.println(i);

上面这段代码,为什么结果会是0?
[解决办法]
i=i++;

解释成:
tmp = i ;  //tmp = 0
i++;  // i = 1
i = tmp ;  // i = 0
结果为0

如果 你改成 i = ++i ;
就解释成:
++i ;   // i = 1 
tmp = i ; // tmp = 1
i = tmp ; // i = 1
结果为1
[解决办法]
i=i++ 意思是先是右边的i赋值到左边,然后再加1。所以i的值不会变,还是0。
你如果把i++换成++i,答案就不同了。++i是先加1在赋值,所以答案是1。

热点排行