3

次の行を使用して double 定数を指定しようとしています。実行時にこの定数の値0.0

private static final double CONSTANT = 1/2;
4

2 に答える 2

10

1 と 2 は整数として解釈され、整数の除算結果が生成されます。最後に D を追加して、double として解釈されるようにします。

private static final double CONSTANT = 1D/2D;
于 2012-08-05T00:04:17.933 に答える
7

0.0整数除算の結果は切り捨てられた整数であるため、定数は の値になります。したがって、初期化の値は0ではなく0.5です。結果を強制するdoubleには、オペランドの 1 つまたは両方を a にしますdouble

private static final double CONSTANT = 1/2.0;  // or 1/2D, or even 1D/2D 
于 2012-08-05T00:04:28.337 に答える