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