简介一下 i++和++i&&i=i+i,i+=1;的区别

首先:

int i=2;

i++=2;

++i=3;

前者先显示当前的值,而后者则是先自增在显示值;

second

i=i+1和i+=1;

输出结果虽然一样,但是

1.byte i=2;
i+=2;
2.byte i=2;
i=i+2;
第一种编译可以通过,第二种却不能通过,因为当使用第一种复合赋值的时候,系统会将右边的int类型的值自动转成左边的byte,
而第二种则不会。
特别注意的是:byte i=120;
i+=20;输出的值不是140;而是-116;
这是因为结果超出了byte类型表示的范围,所以在使用时还要注意会出现意想不到的结果;
 

猜你喜欢

转载自www.cnblogs.com/xqhv587/p/9434144.html