Управляющие операторы в Java

Условный оператор If

1/5
boolean flag = false;
if (flag = true) { }

Что верно для этого выражения?

Comments
TTereshchenko
May 20, 2021
Объясните почему в вопросе5 ответ а, а не с.
sysadmin
May 20, 2021
Переменной flag присвоится значение true. А потом выражение if вернет это значение true.
TTereshchenko
May 20, 2021
не согласна, каким образом компилятор пропустит if (flag = true) это? Разве в условие не пропущен знак =? если бы было отражение if (flag == true) { }, тогда ответ "a". Но в текущей формулировке ответ "с" верный
sysadmin
May 20, 2021
Нет, не пропущен - это именно присваивание. Попробуйте запустить этот кусочек кода - увидите что он откомпилируется.