2014-10-09 131 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