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先自增再执行表达式