双变量实现和不同的输出

时间:2016-04-21 10:46:23

标签: java

我想知道为什么有两种不同的输出:

double a = 88.0;
System.out.println(a + 10); // 98.0
double result = 88.0;
System.out.println("The result is " + result + 10); // The result is 88.010

2 个答案:

答案 0 :(得分:5)

评估"the result is " + result + 10时 您正在评估String + double + int

执行此操作时,首先将double添加到字符串中,创建另一个字符串,然后将int添加到该字符串,并给出另一个字符串。

所以你得到:

"the result is " + result + 10
"the result is 88.0" + 10
"the result is 88.010"

这与

不同
"the result is " + (result+10)

会给出

"the result is 98.0"

答案 1 :(得分:-2)

如果您使用System.out.println(),您输入的内容会自动投放到String。加号用于将单独的字符串添加到一起。

如果要进行数学运算,请使用括号内的变量。

所以你的代码看起来像这样:

System.out.println("the result is " + (result + 10));