public class TTest {
public static void main(String[] args) {
int a = 1;
int b = a++;//1,加号在后面,先赋值再自增,此时b=1,结束后a=2.减号规则也一样
int c = ++a;//3,在前面,先自增再赋值,此时c=3,结束后a=3(上一步a已经是2了).减号规则也一样
a+=b;//4,把a+b的值赋给左边新a,上一步a=3,b=1,这步结束后a=4,b=1
System.out.println(b);
System.out.println(c);
System.out.println(a);
a-=b;//3,把a-b的值赋给左边新a,上一步a=4,b=1,这步结束后a=3,b=1
//也可以写成a=a-b,其中有个强制转换,可以写成a=int(a-b),默认强制转换
//short f = 1 ,f+=1 ,首先short会变成int就行运算,本来结果f为int的值1,
//但是实际运算的时候应该是f=(short)(f+1),所以最终结果f的值应该为short的值1,
//所有的赋值运算符都有个默认的强制转换,强制转换的类型为等号左边原来的类型
System.out.println(a);
//同理a*=b,a/=b,a%=b
}
}