2014-09-03 48 views
0

^我的問題被標記爲重複的問題與此不一樣。 這個問題是如何獲得一個浮點除以整數。爲什麼這個基本的java代碼會產生不同的輸出結果?

這是我的代碼:

public class Test { 
public static void main(String[] args) { 
    System.out.println("33/5 is " + 33/5); 
    System.out.println("33/5.0 is " + 33/5.0); 
    } 
} 

,輸出是:

33/5 is 6 
33/5.0 is 6.6 

順便說一句,如果這是一個重複的,請告訴我去哪裏,這是回答,因爲我無法找到一。

+0

這是一個有點不清楚你在問什麼 - 也許你應該在你遇到的問題編輯? – Zyerah 2014-09-03 23:45:09

+0

我在標題中詢問爲什麼代碼會產生兩個不同的輸出。 – TommyOKe 2014-09-04 00:35:47

回答

2

在第一計算33/5你實際上將一個整數除以得到的結果不帶小數點。

而第二次計算:33/5.0結果實際上被提升爲double它比int更精確並導致十進制。

記住5.0double從而推動計算的結果將翻一番原始

1

int/int(5分之33)將始終得到int所以33/5 = 6

int/double(33/5.0)會給double所以33/5.0 = 6.6

相關問題