Проблема с синтаксисом if
Подскажите, пожалуйста, почему в этой конструкции в скобках, после if только имя переменной, и, что в таком случае, происходит в коде?
if (mAnswerIsTrue) {
mAnswerTextView.setText(R.string.true_button);
}
else {
mAnswerTextView.setText(R.string.false_button);
}
Ответы (1 шт):
Автор решения: Miron
→ Ссылка
Блок после if(выражение) выполняется в том случае, если выражение == true. Если же выражение != true, т.е. выражение == false, то выполнится блок else. Запись же if(выражение == true) аналогична записи if(выражение). Это происходит потому, что если выражение == true, то if(выражение == true) при компиляции превратится в if(true == true), что аналогично if(true) - истина равна истине. Если взять выражение == false, то будет соответственно if(false == true), что аналогично if(false) - ложь не равна истине.