public class Container { private int value; public Container(int value){ this.value=value; } public int getValue(){ return this.value; } public int sum(Container c){ return this.value+c.getValue(); } public void main(){ Container c1=new Container(1); Container c2=new Container(2); System.out.println("sum: " + c1.getValue()+c2.getValue()); System.out.println("sum: " + c1.sum(c2)); }}當(dāng)我運(yùn)行此代碼時(shí),我得到以下結(jié)果:sum: 12sum: 3預(yù)期是:sum: 3sum: 3有誰(shuí)知道我為什么會(huì)得到這些結(jié)果?
1 回答

墨色風(fēng)雨
TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
當(dāng)您將+運(yùn)算符與 a一起使用時(shí)String,它會(huì)將其視為連接,而不是加法,并且 Java 從左到右計(jì)算運(yùn)算,因此"sum: " + c1.getValue()+c2.getValue()計(jì)算結(jié)果為
"sum: " + 1 + 2
"sum: 1" + 2
"sum: 12"
如果您希望先進(jìn)行整數(shù)加法,則需要添加括號(hào):
System.out.println("sum: " + (c1.getValue() + c2.getValue()));
添加回答
舉報(bào)
0/150
提交
取消