我错误地在我的JAVA代码中输入了以下行,并获得了惊人的输出。任何人都可以帮助我了解它是如何发生的。
代码: System.out.printf(“值:”+ 0.40 + 010 + 0.60);
输出: 价值:0.480.6
答案 0 :(得分:3)
你看到了几件事:
010
),因为您使用0
开始字面数字,这实际上意味着小数点为8
。0.40
- > 0.4
)因此,在几个步骤中重写代码会产生:
"Value :"+0.40+010+0.60
"Value :0.4"+010+0.60
"Value :0.4"+8+0.60
"Value :0.48"+0.60
"Value :0.480.6"
答案 1 :(得分:2)
你想象的是正在加入,但事实并非如此。这些是字符串。
第一个值是0.4。
第二个值是010,表示八进制。这意味着十进制为8。
第三个值是0.6
你没有说出你期望看到的东西。如果你真的想要添加,我建议用括号括起来进行添加。您仍然需要确定该八进制值是故意的还是错误的。