java中a++与++a区别
a++与++a的区别,如果单独使用没有任何区别,如果在运算中就有区别了,a++是先运算在赋值,而++a是先赋值在运算!!
先看a++的代码哦
class demo1 { public static void main(String[] args) { int a=20; int b=19; /* 先运算在赋值; 1. b先和a作比较,b比a小为假,所以a还是20; 2. b在自增加1,所以b为20; 3. 因为三元判断为假,所以c等于自增后的b加a为40; */ int c= b++>=a ? a++:a+b; System.out.println(a);//结果是:20 System.out.println(b);//结果是:20 System.out.println(c);//结果是:40 } }
上面的代码中的b就是指a++中的a哦
b++先运算在赋值;
1. b先和a作比较,b比a小为假,所以a还是20;
2. b在自增加1,所以b为20;
3. 因为三元判断为假,所以c等于自增后的b加a为40;
下面是++a的代码
class demo1 { public static void main(String[] args) { int A=20; int B=19; /* 先赋值在运算; 1.B先自增为20; 2.三元运算自增后的B等于A,所以c等于20; 3.因为三元运算为真,所以A自增1为21; */ int C= ++B>=A ? A++:A+B; System.out.println(A);//结果是:21 System.out.println(B);//结果是:20 System.out.println(C);//结果是:20 } }
同样的,上面的代码中的B就是指++a中的a哦
++B先赋值在运算;
1.B先自增为20;
2.三元运算自增后的B等于A,所以c等于20;
3.因为三元运算为真,所以A自增1为21;
不喜勿喷,毕竟是初学者哦