新手請教,以下代碼如何解釋?
? int a=10;
??int b=a--;
??int c=--a;
??int d=a++;
??int e=++a;
??System.out.println("A的值為:"+a);
??System.out.println("B的值為:"+b);
??System.out.println("C的值為:"+c);
??System.out.println("D的值為:"+d);
??System.out.println("E的值為:"+e);
運(yùn)行結(jié)果:
A的值為:10
B的值為:10
C的值為:8
D的值為:8
E的值為:10
2016-04-23
關(guān)于自增自減運(yùn)算,我們要知道這些增減位置不管在哪都是要自增一或者自減一。如果++或--在變量前,那么該變量就先自增一或自減一,(即取加一后結(jié)果實(shí)現(xiàn)自增自減)然后進(jìn)行運(yùn)算。如果++或--在變量后,那么該變量(即取遞增前的結(jié)果先不自增自減)直接進(jìn)行運(yùn)算,自增自減用在后面用到變量的運(yùn)算上。比如說b=a--,a=10那么b就等于a(即b=a先不自減),然后c=--a(這里的a就是b=a--的自減后的a)a就等于9,然后--a在自減1就變成了8。
2016-04-23
大家們真好,講的淺顯易懂,點(diǎn)贊
2016-04-23
a--是先賦值再自減 ? 因此int b=a--; 之后 ? ?b=10 a=9
--a是先自減再賦值 ? 因此int c=--a; 之后 ? ?a=8 c=8
同理 在int d=a++;后 ? d=8 a=9
同理 在int e=--a;后 ? ? ?a=10 e=10
所以 b=10 c=8 d=8 e=10 ?a的值由10變?yōu)?9、8、9、10最終為10
2016-04-23
public class HelloWorld {
? public static void main(String[] args) {
?int a=10;
?int b=a--;
?int c=--a;
?int d=a++;
?int e=++a;
?System.out.println("A的值為:"+a);
?System.out.println("B的值為:"+b);//a-- ?--在后面所以不做操作還是10
?System.out.println("C的值為:"+c);//前面的-- 加自身的-- 得到8
?System.out.println("D的值為:"+d);//++是在變量后面 所以也不加 得到8
?System.out.println("E的值為:"+e);//根據(jù)前面的++ 再加上自身的++得到10
?
?//-- ++ ?放在變量前面的先++或者-- ? 放在變量后面的運(yùn)行后再++或者--
}
}
ps:縮進(jìn)全沒了,全沒了,全沒了