Следующее логическое выражение будет оцениваться по какому значению?! (false) && (5> 4) - PullRequest
0 голосов
/ 26 сентября 2019

Какое значение будет оценено следующим логическим выражением?

!(false) && (5 > 4)

Я бы подумал, что оно оценивается как ложное, может кто-нибудь объяснить, что происходит, что делает его истинным?

Ответы [ 3 ]

4 голосов
/ 26 сентября 2019

Я бы подумал, что оно оценивается как ложное, может кто-нибудь объяснить, что происходит, что делает его истинным?

&& оценивает свой левый операнд и, если это значение ложно, результаты в false;в противном случае он оценивает свой правый операнд и принимает этот результат в качестве результата.Начиная с

!(false) && (5 > 4)

!(false) равно true, так что:

true && (5 > 4)

Поскольку true не ложно, && вычисляет правый операнд:

(5 > 4)

(5 > 4) также true, поэтому результат && равен true.

1 голос
/ 26 сентября 2019
  • Вы используете оператор &&.Это означает, что ваше второе условие будет рассмотрено.

  • ! означает Отрицание .Отрицание false дает true.

  • 5 > 4 всегда true.

  • так, здесь true && true дает true

0 голосов
/ 26 сентября 2019
!(false) && (5 > 4)

!(false) = true //because of !(not) operator

(5 > 4) = true

so 

true && true = true
...