int x = 20;
double d = 3.1416;
String s ="H";
这些是我的变量,我必须给下一行评估的类型。评估变量int /字符串
d/x + "";
正在计算双变量类型(0.15708),这是正确的吗?
int x = 20;
double d = 3.1416;
String s ="H";
这些是我的变量,我必须给下一行评估的类型。评估变量int /字符串
d/x + "";
正在计算双变量类型(0.15708),这是正确的吗?
如果我们在最后没有那个讨厌的""
,你会是对的!
添加""
到这样的事情结束时,它会变成String
。它实际上可以是一个方便的快捷方式 - 而不必使用类似String.valueOf()
的东西,您可以只执行4/2 + ""
,这会使其成为一个字符串。
要重申,
d/x
将是一个double
,因为你要添加一个浮点。
但是一个double + "" = String
。
我希望有帮助。祝你好运:)
ohhh我现在明白了!非常感谢 – 2014-10-09 02:45:06
你错了。 d/x + "";
是String
。
发生这种情况是因为当您使用+
运算符时,如果任何一边是String
,则会发生字符串连接,当然结果为String
。
顺便说一下,您可以使用getClass()
方法检查确实是String
。请注意,如果您删除了""
并使用getClass()
,则会发生错误。发生这种情况是因为d/x
是double
,即原始类型,所以它不能使用方法getClass()
。
在您的例子:
System.out.println((d/x + "").getClass());
将返回java.lang.String
都能跟得上........... – MadProgrammer 2014-10-09 02:37:25
@Monica Pertrusio,我最好的建议是你要测试这些事情自己 - 它会让你省下很多时间......例如:打印出'double = d/x;'的值并看看会发生什么。 – Centril 2014-10-09 02:39:12
那么它一定是一个字符串吧? – 2014-10-09 02:39:47