Каков результат следующего фрагмента кода? — int moon = 9, star = 2 + 2 * 3;
float sun = star>10 ? 1 : 3;
double jupiter = (sun + moon) - 1.0f;
int mars = --moon <= 8 ? 2 : 3;
System.out.println(sun+"-"+jupiter+"-"+mars); A. 1-11-2
B. 3.0-11.0-2
C. 1.0-11.0-3
D. 3.0-13.0-3
E. 3.0f-12-2
F. Код не компилируется, поскольку для одного из назначений требуется явное
числовое преобразование. — B. Изначально параметру moon присваивается значение 9, а параметру star - значение 8. Оператор умножения (*) имеет более высокий порядок приоритета, чем оператор сложения (+), поэтому он вычисляется первым. Поскольку переменная star не превышает 10, переменной sun присваивается значение 3 через тернарный оператор, которое при присвоении неявно преобразуется в double 3,0. Значение jupiter равно (3,0f + 9) - 1,0, что равно double 11,0f. В последнем присвоении значение moon было изменено с 9 на 8 при помощи инкремента. Поскольку значение 8 меньше или равно 8, для параметра mars присваивается значение 2. В