0
double frac = (double) 3/2
私はこれがintディビジョンの結果をdoubleにキャストするだけだと考えましたが、fracの値は1.5になります。なぜこれは機能しますか?なぜこのタイプは、Javaで小数の作業でキャストされますか?
double frac = (double) 3/2
私はこれがintディビジョンの結果をdoubleにキャストするだけだと考えましたが、fracの値は1.5になります。なぜこれは機能しますか?なぜこのタイプは、Javaで小数の作業でキャストされますか?
double frac = (double) 3/2;
double frac = ((double) 3)/2;
最初の3に相当するdouble
にキャスト(及び3.0
なり)、その後、浮動小数点除算は1.5
を返し、実行されます。
分割を
double frac = (double) (3/2);
のように鋳造前に実行された場合、整数除算を鋳造前に行われていたので、結果は、1.0
であろう。