& и | - математические операции, применяемые к целым числам. Побитовое логическое умножение (and) и побитовое логическое сложение (or). Результат & и | - целое число.
N.B. В каких то языках программирования эти операции можно использовать для логических значений, в каких-то нет. Но даже если это разрешено, лучше использовать их только для чисел.
&& и || логические операции. Их результат - true / false. Операнды && и || вычисляются строго слева направо и если результат операции понятен после вычисления левого операнда, правый операнд не вычисляется.
a && b эквивалентно (a? b : false) - b вычисляется только если a == true
a || b эквивалентно (a? true : b) - b вычисляется только если a == false
C#
Чем отличается команда & от команды &&? Чем отличается команда | от команды ||?
Побитовые И и ИЛИ и просто логические И и ИЛИ. Отличия серьезные, побитовые операторы И, ИЛИ, НЕ имеют только косвенное сходстство с обычными булевыми И, ИЛИ, НЕ.
Я сам с побитовыми операциями решил всё же разобраться не так уж и давно. До этого спокойно жил без них, в общем-то это тема не первостепенной важности
Я сам с побитовыми операциями решил всё же разобраться не так уж и давно. До этого спокойно жил без них, в общем-то это тема не первостепенной важности
Операции && и II — ленивые. Они считают второй операнд только в том случае, если результат операции неясен из первого операнда.
true && false — первый операнд истина, поэтому результат зависит от второго.
false && true — первый операнд ложь, поэтому результат конъюнкции тоже ложь; второй операнд не имеет значения, его можно не считать.
false || true — первый операнд ложь, поэтому результат зависит от второго.
true || false — первый операнд истина, поэтому результат дизъюнкции тоже истина; второй операнд не важен, его можно не считать.
Это может быть важно, если вычисление второго операнда имеет побочные эффекты или может привести к ошибке, которой желательно избежать.
Например, у нас есть массив, и мы хотим проверить его пятый элемент, у которого индекс равен 4. Но сперва нам надо убедиться, что в массиве больше четырех элементов, и только после этого делать проверку.
if (a.Length > 4 && a[4] == "Мяу") {…}
Если длина массива больше 4, то идет обращение к a[4].
В противном случае проверка a[4] не происходит, и условие нарушается в силу недостаточной длины массива. Но без ошибки.
true && false — первый операнд истина, поэтому результат зависит от второго.
false && true — первый операнд ложь, поэтому результат конъюнкции тоже ложь; второй операнд не имеет значения, его можно не считать.
false || true — первый операнд ложь, поэтому результат зависит от второго.
true || false — первый операнд истина, поэтому результат дизъюнкции тоже истина; второй операнд не важен, его можно не считать.
Это может быть важно, если вычисление второго операнда имеет побочные эффекты или может привести к ошибке, которой желательно избежать.
Например, у нас есть массив, и мы хотим проверить его пятый элемент, у которого индекс равен 4. Но сперва нам надо убедиться, что в массиве больше четырех элементов, и только после этого делать проверку.
if (a.Length > 4 && a[4] == "Мяу") {…}
Если длина массива больше 4, то идет обращение к a[4].
В противном случае проверка a[4] не происходит, и условие нарушается в силу недостаточной длины массива. Но без ошибки.
Похожие вопросы
- Если джуниора возьмут в команду матёрых возрастных синьоров?
- За какую футбольную команду вы болеете?!!!Команду, не команды!!!!Поэтому только одну!!!!
- BAT/CMD Подскажите, какой символ или команду использовать? С командой else у меня ни чего не выходит...
- Чем отличается команда "фу" от команды "нельзя"?
- Чем отличается победа первой компанды (П1) и победа первый команды в матче?
- вопрос болельщикам команд ,не важно, какой город, какое название команды!!!!
- За кого Вы болеете после перехода ЛЮБИМОГО спортсмена из ЛЮБИМОЙ команды в команду соперника ?
- 10 месячный немец отказывается выполнять команды. Вменсто того чтоб по команде"Ко мне"
- "народная команда" а что это за команда по вашему? И кого можно так называть? важно ваше мнение
- Собакаводам. Обязательно ли команда лежать, если щенок знает команду сидеть? См...