Как работает несколько условий внутри оператора if - PullRequest
0 голосов
/ 25 февраля 2019

Если в одном операторе if используется несколько условий, то тестирование этих условий выполненоа) слева направоб) справа налевов) случайног) нет

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Вы не можете иметь "несколько условий" в операторе if.Оператор if должен иметь ровно одно условие.Это условие может быть комбинацией условий, но, с точки зрения оператора if, это только одно условие.

Это означает, что нет ничего особенного в том, как оценивается условие внутри оператора if.Он оценивается так же, как если бы он выполнялся где-либо еще.

Это сводится к двум различным концепциям: ассоциативность оператора и короткое замыкание.

ассоциативность

Логические операторы слева направо ассоциативны.Это означает, что cond1 && cond2 будет оценивать cond1, прежде чем он оценит cond2.

Короткое замыкание

Короткое замыкание означает, что если cond1 ложно, тоcond2 никогда не будет оцениваться в выражении cond1 && cond2.То же самое происходит, если cond1 истинно в выражении cond1 || cond2

0 голосов
/ 25 февраля 2019

Условия if-else оцениваются слева направо .Правильное условие будет оцениваться только в том случае, если первое условие равно «ложь» в случае «или».

if(false && condition) -> second condition doesn't get evaluated.
if(false || condition) -> second condition gets evaluated.

Аналогично, правильное условие будет оцениваться только в том случае, если первое условие имеет значение «истина» в случаеиз 'и'.

if(true && condition) -> second condition gets evaluated.
if(true || condition) -> second condition doesn't get evaluated.

Надеюсь, что отвечает на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...