亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

新手請教,以下代碼如何解釋?

? 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);

運行結果:

A的值為:10
B的值為:10
C的值為:8
D的值為:8
E的值為:10

正在回答

4 回答

關于自增自減運算,我們要知道這些增減位置不管在哪都是要自增一或者自減一。如果++或--在變量前,那么該變量就先自增一或自減一,(即取加一后結果實現自增自減)然后進行運算。如果++或--在變量后,那么該變量(即取遞增前的結果先不自增自減)直接進行運算,自增自減用在后面用到變量的運算上。比如說b=a--,a=10那么b就等于a(即b=a先不自減),然后c=--a(這里的a就是b=a--的自減后的a)a就等于9,然后--a在自減1就變成了8。

0 回復 有任何疑惑可以回復我~
#1

時間改變了我們 提問者

非常感謝!
2016-04-23 回復 有任何疑惑可以回復我~
#2

觸角碼工

非常感謝這個提問和您的回答。
2016-04-26 回復 有任何疑惑可以回復我~

大家們真好,講的淺顯易懂,點贊

0 回復 有任何疑惑可以回復我~
  1. a--是先賦值再自減 ? 因此int b=a--; 之后 ? ?b=10 a=9

  2. --a是先自減再賦值 ? 因此int c=--a; 之后 ? ?a=8 c=8

  3. 同理 在int d=a++;后 ? d=8 a=9

  4. 同理 在int e=--a;后 ? ? ?a=10 e=10

  5. 所以 b=10 c=8 d=8 e=10 ?a的值由10變為 9、8、9、10最終為10

0 回復 有任何疑惑可以回復我~

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);//根據前面的++ 再加上自身的++得到10

?

?//-- ++ ?放在變量前面的先++或者-- ? 放在變量后面的運行后再++或者--

}

}

ps:縮進全沒了,全沒了,全沒了

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

新手請教,以下代碼如何解釋?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號