Java | 浮動小数点リテラル(小数の書き方)

Java Java
スポンサーリンク

浮動小数点リテラル 練習問題(10問)

プログラミング初心者向けに Javaの浮動小数点リテラル を理解するための練習問題10問を作り、回答と解説付きで紹介します。


問1

次のうち、Javaで正しい浮動小数点リテラルはどれ?
A: "3.14"
B: 3.14
C: 3,14
D: 3.14f

答え: B, D
解説:

  • "3.14" は文字列(String)で、数値ではない。
  • 3,14 は Java ではカンマ区切りは使えない。
  • 3.14 は double 型のリテラル。
  • 3.14f は float 型のリテラル。

問2

次の出力は何になる?

System.out.println(5.23e3);
Java

答え: 5230.0
解説: 5.23e3 = 5.23 × 10³ = 5230。Java の println は小数点以下を表示するので 5230.0 になる。


問3

次のコードはコンパイルされるか?

float f = 3.14;
Java

答え: コンパイルエラー
解説: 3.14 は double リテラルなので、float に代入するには末尾に f が必要。

float f = 3.14f; // 修正例
Java

問4

次の値を正しく表す浮動小数点リテラルはどれ?
「0.0012」

A: 12e-3
B: 1.2e-3
C: 1.2e3
D: 0.12e-2

答え: B
解説: 1.2 × 10^-3 = 0.0012。


問5

次のコードの出力は?

double x = -2.5;
double y = 3.0;
System.out.println(x + y);
Java

答え: 0.5
解説: -2.5 + 3.0 = 0.5。符号も含めて普通に計算できる。


問6

次のコードの出力は?

System.out.println(0.1 + 0.2);
Java

答え: 0.30000000000000004(近似値)
解説: 浮動小数点は二進数で内部表現されるため、0.1や0.2は正確に表現できず、計算誤差が出る。


問7

次のうち、float 型に代入できるリテラルはどれ?
A: 3.5
B: 3.5f
C: 3.5F
D: 3.5d

答え: B, C
解説: float 型リテラルには末尾に f または F を付ける。3.5d は double 型リテラル。


問8

次のコードの出力は?

double a = 1_000_000.123_456;
System.out.println(a);
Java

答え: 1000000.123456
解説: アンダースコア _ は桁を読みやすくするための記号で、数値の値には影響しない(Java7以降)。


問9

次のコードの出力は?

double d1 = 2.5e2;
double d2 = 3.1E-3;
System.out.println(d1);
System.out.println(d2);
Java

答え:

250.0
0.0031

解説:

  • 2.5e2 = 2.5 × 10² = 250.0
  • 3.1E-3 = 3.1 × 10^-3 = 0.0031

問10

浮動小数点の誤差を考慮して 0.1 + 0.2 が 0.3 と等しいか判定する方法は?

A: 0.1 + 0.2 == 0.3
B: Math.abs((0.1 + 0.2) - 0.3) < 1e-9

答え: B
解説: 浮動小数点は丸め誤差があるため == で比較すると正しく判定できない場合がある。絶対値の差で比較するのが安全。

タイトルとURLをコピーしました