次のコードの出力が 9 ではなく 9.0 になるのはなぜですか? 三項演算子が if-else 分岐の短縮形に過ぎない場合、Java コンパイラが int を double に昇格させるのはなぜですか?
public class Ternary
{
public static void main(String args[])
{
int a = 5;
System.out.println("Value is - " + ((a < 5) ? 9.9 : 9));
}
}