public static void main(String[] args){
System.out.println(1.-5); // -4.0
}
事前に感謝します、なぜ私が上記の結果を得たのか誰かが説明できますか?
public static void main(String[] args){
System.out.println(1.-5); // -4.0
}
事前に感謝します、なぜ私が上記の結果を得たのか誰かが説明できますか?
それはと同等だからです1.0-5.0
これは、暗黙の型変換(http://en.wikipedia.org/wiki/Type_conversion)によるものです。1が存在するために5が5.0にプロモートされます(これは1.0、doubleに相当します)。
System.out.println(1.-5);
と同等ですSystem.out.println(1.0-5.0);
したがって、結果は次のようになります。-4.0
1から5を引くと、結果は-4になります。
System.out.println()は、計算を1.00〜5.0とします(ドットは引数のタイプを「double」として示します)。したがって、結果は-4.0になり、同じように出力されます。