1、a += 1 和 a = a + 1 区别
a类型不是int
byte a = 1;
a += 1;//1默认是int型,a为byte型,a+1有算术运算符,所以a会发生隐式转换变为int型,a+1的结果为int型,运行正常
a = a + 1;//a本身为byte型,不能直接赋值,该行会报错
a = (byte)(a+1);//需要强转,改为a=(byte)(a+1);就不会报错了
a类型是int
int a = 1;
a += 1; //1默认是int型,a为byte型,a+1有算术运算符,所以a会发生隐式转换变为int型,a+1的结果为int型,运行正常
a = a + 1; //a本身为int型,不用转型,不会保存,此时2种情况没有区别。
2、a++ 和 a = a + 1 区别
2种情况完全一样,a++是a = a + 1的缩写
3、a++ 和 ++a 区别
a++,a先执行表达式后再自增
++a ,a先自增再执行表达式
737

被折叠的 条评论
为什么被折叠?



