7 回答

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個(gè)贊
main=20;
add=20;
score++是執(zhí)行完后面語(yǔ)句后才加1;

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個(gè)贊
本題考查的是Java的方法參數(shù)傳遞。在Java中方法參數(shù)傳遞只有值傳遞,其特點(diǎn)如下: 1)基本數(shù)據(jù)類型傳遞的是值本身。 2)引用數(shù)據(jù)類型傳遞也是引用的值,是對(duì)象的地址,而不是對(duì)象本身。 本題中,首先要明白main方法中的局部變量score,和add方法的形參score在棧內(nèi)存中是兩個(gè)變量,當(dāng)調(diào)用add方法時(shí),是把main方法中局部變量score的值20賦值給add方法的形式參數(shù)score,所以當(dāng)形參score在add方法中發(fā)生變化時(shí)不會(huì)影響到main方法中局部變量score的值。 本題運(yùn)行過程如下: 1.從main方法的第一行開始,定義并初始化局部變量score。 2.實(shí)例化Answer類的對(duì)象ans,調(diào)用add方法,將main方法中的score的值賦值給形參score,此時(shí),形參score的值為20。 3.計(jì)算表達(dá)式score++的值。計(jì)算后,score++表達(dá)式的值為20,score的值變?yōu)?1。此處輸出的是score++表達(dá)式的值,該值為20。 4.由于形式參數(shù)score的改變不會(huì)影響main方法中score的值,故main方法中輸出score仍然為20。
添加回答
舉報(bào)