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