2014-10-09 89 views
0
int x = 20; 


double d = 3.1416; 


String s ="H"; 

这些是我的变量,我必须给下一行评估的类型。评估变量int /字符串

d/x + ""; 

正在计算双变量类型(0.15708),这是正确的吗?

+0

都能跟得上........... – MadProgrammer 2014-10-09 02:37:25

+0

@Monica Pertrusio,我最好的建议是你要测试这些事情自己 - 它会让你省下很多时间......例如:打印出'double = d/x;'的值并看看会发生什么。 – Centril 2014-10-09 02:39:12

+0

那么它一定是一个字符串吧? – 2014-10-09 02:39:47

回答

0

如果我们在最后没有那个讨厌的"",你会是对的!

添加""到这样的事情结束时,它会变成String。它实际上可以是一个方便的快捷方式 - 而不必使用类似String.valueOf()的东西,您可以只执行4/2 + "",这会使其成为一个字符串。

要重申,

d/x将是一个double,因为你要添加一个浮点。

但是一个double + "" = String

我希望有帮助。祝你好运:)

+0

ohhh我现在明白了!非常感谢 – 2014-10-09 02:45:06

0

你错了。 d/x + "";String

发生这种情况是因为当您使用+运算符时,如果任何一边是String,则会发生字符串连接,当然结果为String

顺便说一下,您可以使用getClass()方法检查确实是String。请注意,如果您删除了""并使用getClass(),则会发生错误。发生这种情况是因为d/xdouble,即原始类型,所以它不能使用方法getClass()

在您的例子:

System.out.println((d/x + "").getClass());将返回java.lang.String