演算子と制御構文応用問題
次のJavaコードで `value` の最終的な値はいくつですか? ```java int value = 5; value = (value > 3) ? value * 2 : value + 10; if (value >= 8) { value -= 3; } System.out.println(value); ```
A.12
✗ 12 は誤りです。条件演算子で value * 2 = 10 になり、その後 if 文で 10 - 3 = 7 となります。
B.7← 正解
✓ 正解です。value > 3 は true なので value = value * 2 = 10。続いて 10 >= 8 は true なので value -= 3 が実行され、value = 10 - 3 = 7 となります。
C.15
✗ 15 は誤りです。条件演算子により value = 10 となり、さらに if 文で -3 されて 7 になります。
D.17
✗ 17 は誤りです。条件演算子と if 文を正しく評価すると最終的に value = 7 となります。