Ответ 1
Ну, это из-за спецификаций JLS для условного оператора:
В противном случае, если второй и третий операнды имеют типы, которые являются конвертируемыми (п. 5.1.8), к числовым типам, то есть несколько случаев:
- ...
- В противном случае двоичная цифровая реклама (§5.6.2) применяется к типам операндов, а тип условного выражения - это продвинутый тип второго и третьи операнды.
Числовое продвижение определяется здесь в §5.6.2. В нем говорится:
Расширение примитивного преобразования (§5.1.2) применяется для преобразования либо или оба операнда, как указано в следующих правилах:
- Если один из операндов имеет тип double, другой преобразуется в double.
- ...