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;
不喜勿噴,畢竟是初學者哦