简介一下 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类型表示的范围,所以在使用时还要注意会出现意想不到的结果;

 

 

 

posted @ 2018-08-06 23:08  NorthSea丿长安づ  阅读(613)  评论(0编辑  收藏  举报