課程
/后端開發(fā)
/Java
/Java入門第一季(IDEA工具)升級版
{
A=5;
S=++A;
}
在這個程序段是不是先運行S這一行,然后再運行A這一行?
2016-12-09
源自:Java入門第一季(IDEA工具)升級版 3-2
正在回答
不是的,運行順序不變。先賦值a=5,然后,++a是先自加1后賦值給a,a=6,再賦值給s。輸出結(jié)果為s=6,a=6;
幕_后 提問者
首先這個括號的程序里我們可以看成有兩個小段程序(因為有兩個分號),一個是A=5,另外一個是S=++A;
再執(zhí)行這個括號里的程序時,按照從上向下的順序執(zhí)行,先執(zhí)行 A=5 這個程序;再執(zhí)行S=++A;這個程序;但是再執(zhí)行 S=++A 這個程序的時候++A這個算法是優(yōu)先于S=++A這個程序執(zhí)行的,也就是(++A)這個整體先執(zhí)行是6;然后這個整體再賦值給S。
如果是S=A++的話,由于A++是后于這個程序段執(zhí)行的也就是S=A這個先執(zhí)行,然后再執(zhí)行(A++);
S=++A
此時S的結(jié)果是6
此時S的結(jié)果是5
語句的執(zhí)行順序是不會變得,這里是++a和a++的區(qū)別,
a++是先執(zhí)行完本條語句的運算,然后a自增
++a是先自增,然后執(zhí)行本條語句的運算
S=++A,是先對A進(jìn)行自加1的操作后,再將值賦給S,最后A=6,S=6 如果S=A++,則是先將A的值賦給S,然后A再自加1,最后S=5,A=6。
舉報
0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語法開始
4 回答優(yōu)先級順序
2 回答方法的順序
2 回答運算符順序
1 回答可否顛倒順序
2 回答編寫程序中的順序問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-12-09
不是的,運行順序不變。先賦值a=5,然后,++a是先自加1后賦值給a,a=6,再賦值給s。輸出結(jié)果為s=6,a=6;
2016-12-09
首先這個括號的程序里我們可以看成有兩個小段程序(因為有兩個分號),一個是A=5,另外一個是S=++A;
再執(zhí)行這個括號里的程序時,按照從上向下的順序執(zhí)行,先執(zhí)行 A=5 這個程序;再執(zhí)行S=++A;這個程序;但是再執(zhí)行 S=++A 這個程序的時候++A這個算法是優(yōu)先于S=++A這個程序執(zhí)行的,也就是(++A)這個整體先執(zhí)行是6;然后這個整體再賦值給S。
如果是S=A++的話,由于A++是后于這個程序段執(zhí)行的也就是S=A這個先執(zhí)行,然后再執(zhí)行(A++);
2016-12-09
A=5;
S=++A
此時S的結(jié)果是6
A=5;
S=++A
此時S的結(jié)果是5
語句的執(zhí)行順序是不會變得,這里是++a和a++的區(qū)別,
a++是先執(zhí)行完本條語句的運算,然后a自增
++a是先自增,然后執(zhí)行本條語句的運算
2016-12-09