Оператор равенства возвращает логическое значение

Четный = число% 2 == 0;

Это допустимое назначение Ja va, которое было приведено на веб-сайте в качестве примера.

Так возвращает ли оператор равенства логическое значение после оценки?

Как и в этом случае, число% 2 == 0, если true, оно присваивает четное = true?

3 ответа

Да. Операторы сравнения оценивают boolean ценности.

Да. Из спецификации языка Java, раздел 15.21:

Операторы равенства синтаксически левоассоциативны (они группируются слева направо), но этот факт по сути никогда не полезен; например, a == b == c анализируется как (a==b)==c. Тип результата a==b всегда boolean и, следовательно, c должен иметь тип boolean, иначе произойдет ошибка времени компиляции. Таким образом, a == b == c не проверяет, равны ли все a, b и c.

(Акцент мой - остальная часть абзаца несколько неактуальна, но это контекст, в котором появляется важная фраза.)

Да, сравнения, сделанные с логическими операторами, оценивают как boolean значение

Другие вопросы по тегам