当我得到这个问题时我正在参加考试以下问题的输出是什么
public class ClassicQuestion {
public static void main(String[] args)
{
int i = 25;
double j = 95.0;
System.out.println(j+=i);
System.out.println(i+=j);
}
}
答案选项是
我不知道正确的答案,但我认为正确的答案是一个,但给我错误的答案?如何在不转换的情况下将一个变量分配给不同类型的数据类型?
答案 0 :(得分:4)
正确答案3.
因为根据
E1 op= E2
形式的复合赋值运算符对E1 = (T) ((E1) op (E2))
的评估,其中T是E1的类型,但E1仅被评估一次
所以你的
j+=i
更改为j=(double)(j+i)
现在j
的值为120.0
下次我i+=j
改为
i=(int)(i+j)
因此145
所以OUTPUT是
120.0 145