第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

a++、++a、a+=1和a=a+1?

a++、++a、a+=1和a=a+1?

fafagagag 2016-07-22 02:31:47
Java中,a++、++a、a+=1這3個和a=a+1有區(qū)別嗎(a++和++a區(qū)別不用說了)?如果這3個和a=a+1有區(qū)別,那么,什么情況下分別使用效果會不一樣?最好可以附上例子,謝謝!
查看完整描述

4 回答

?
mtexiy_Sss

TA貢獻5條經(jīng)驗 獲得超3個贊

a=a+1,是先取a的值,在進行加加操作。它等同于a++;
a+=1,是先對a進行加1操作,在返回a的值。它等同于++a;

另外

a++ 直接對內存中的值進行加1并且將結果寫入內存,更效率
a=a+1 ?先申請一塊內存空間,分別把變量a 和常量1 放入累加器中計算后,再把結果放到內存中.

最后,這三類指令在編譯成匯編指令的時候也會有一定的差異,導致運行效率的變化,有興趣可以去嘗試一下。

查看完整回答
2 反對 回復 2016-07-22
?
最終幻想ssd

TA貢獻4條經(jīng)驗 獲得超2個贊

a+=1和a=a+1基本沒區(qū)別,a++ 和 ++a和a=a+1的區(qū)別是a++是先參加程序的運行再+1,而++a則是先+1再參加程序的運行。

舉個例子來說:

?a=2; ?b = a++; ? ?運行后: b = 2,a?=3?

?a=2; ?b = ++a; ? ?運行后: b = 3,a?=3;?


查看完整回答
2 反對 回復 2016-07-22
  • 看風景非凡
    看風景非凡
    說的很正確,補充一點,a+=1和a=a+1就像幻想說的基本沒區(qū)別,唯一的一點區(qū)別就是a+=1帶有隱含的強制類型轉換,而a=a+1卻沒有,因為1是int型,如果a也是int行好,但如果它是short類型的,a=a+1就無法編譯,而a+=1卻可以正確編譯,它相當于a = (short)(a+1)。
?
Dp_Dp

TA貢獻1條經(jīng)驗 獲得超1個贊

a += 1; 這個和 a = a +1 ; 這兩個是一樣的 只不過一個是簡寫

++a ?和 ? a++ ?這兩個區(qū)別在于運算的先后 ?比如 ? b = ++a; ? 這個是a先自增 然后才賦值 ? ?

b = a++; 這個是先賦值 后自增

查看完整回答
1 反對 回復 2016-07-22
?
KXFT

TA貢獻113條經(jīng)驗 獲得超58個贊

++a和a=a+1的關系就相當于a++和++a的關系,其他的沒有什么區(qū)別,都是更加簡潔的寫法

查看完整回答
反對 回復 2016-07-22
  • 4 回答
  • 1 關注
  • 5427 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號