我想知道为什么有两种不同的输出:
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
答案 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));