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

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

自加自減問題

int a=5;
int b=++a;

System.out.println("a":+a);
System.out.println("b":+b);

結果a:6,b:6

怎么得來的???
a不是等于5嗎?怎么輸出后成6了?
求解答

正在回答

2 回答

++在前先運算再賦值,++在后先賦值在運算。

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

(暫且先不討論a++和++a的區別問題)你應該知道a++是什么意思。實際上a++的意思是a=a+1;所以說在第二行之中 int b = ++a;我們為b賦值了(++a)的結果。就是6。同時也讓a的值從5變成了6;

實際上。如果你在第二行寫成 int b = a++;那么輸出的結果,應該是 a:6 b:5。

其實簡單的理解?int b = a++;和?int b = ++a;可以認為第一種是先將a=5這個值賦值給b。然后在做a++的自增運算。而第二種是先做完a的自增運算在將自增完成的結果值6賦值給b。

不知道我說的你能不能理解。

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

幕布斯3089060 提問者

恕我愚鈍,不明白,反而更加迷糊了。 我試著再次理解下哈 int a=5;//定義一個整數變量a,值為5 int b=++a;//定義一個整數變量b,值為++a; ++a就是1+5,得出6,6賦值給int b,所以打印輸出 b的值是6。 而a的值為何等于6呢?是因為輸出的結果,是在第二個變量計算過程中得出的值。
2018-05-20 回復 有任何疑惑可以回復我~
#2

幕布斯3089060 提問者

額。終于搞明白了。
2018-05-20 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167472    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

自加自減問題

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

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

幫助反饋 APP下載

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

公眾號

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