Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2022-10-05 | 32 |
5.00
из
|
Заказать работу |
|
|
Логические операторы && (и), || (или),! (не) используются для выполнения операций булевой алгебры и часто применяются в сочетании с операторами отношений для объединения двух выражений отношений в одно более сложное выражение.
Логическое И (&&)
Свою работу оператор начинает с вычисления первого операнда – выражения слева.
Если выражение слева возвращает ложное значение, значением всего выражения также должно быть ложное значение, поэтому оператор && просто возвращает значение слева и не вычисляет выражение справа. В противном случае, если значение слева является истинным, тогда результат всего выражения определяется значением справа.
Если значение справа является истинным, значением всего выражения также должно быть истинное, а если значение справа является ложным, значением всего выражения ложное значение. Поэтому, когда значение слева является истинным, оператор && вычисляет и возвращает значение справа:
leti = NaN;
i = i&& 5; // в переменную возвращается значение NaN, потому что NaN в логическом типе это — false
Так же оператор && часто используется для объединения двух выражений отношений:
x == 0 && y == 0 // true тогда и только тогда, когда x и y равны 0
Когда в операции участвуют логические операнды, оператор && выполняет операцию «логическое И» над двумя значениями: он возвращает true тогда и только тогда, когда оба операнда имеют значение true. Если один или оба операнда имеют значение false, оператор возвращает false.
Операторы отношений имеют более высокий приоритет, чем оператор && (и ||), поэтому такие выражения можно записывать без использования скобок.
Важно понимать, что оператор && может не вычислять выражение правого операнда.
|
Иногда можно встретить программный код, в котором поведение оператора && используется специально для выполнения инструкций по условию. Например, следующие две строки дают одинаковый результат:
if (a == b) stop(); // Функция stop() вызывается, только если a == b
(a == b) && stop(); // То же самое
В целом следует с осторожностью использовать выражения с побочными эффектами (присваивания, инкременты, декременты или вызовы функций) справа от оператора &&, потому что эти побочные эффекты будут проявляться в зависимости от значения слева.
Несмотря на довольно запутанный алгоритм работы этого оператора, проще всего и абсолютно безопасно рассматривать его как оператор булевой алгебры, который манипулирует истинными и ложными значениями.
Логическое ИЛИ (||)
Оператор || выполняет операцию «логическое ИЛИ» над двумя операндами. Если один или оба операнда имеют истинное значение, он возвращает истинное значение. Если оба операнда имеют ложные значения, он возвращает ложное значение.
Хотя оператор || чаще всего применяется просто как оператор «логическое ИЛИ», он, как и оператор &&, ведет себя более сложным образом.
Его работа начинается с вычисления первого операнда, выражения слева. Если значение этого операнда является истинным, возвращается истинное значение. В противном случае оператор вычисляет второй операнд, выражение справа, и возвращает значение этого выражения.
Как и при использовании оператора &&, следует избегать правых операндов, имеющих побочные эффекты, если только вы умышленно не хотите воспользоваться тем обстоятельством, что выражение справа может не вычисляться.
Характерное использование этого оператора заключается в том, что он выбирает первое истинное значение из предложенного множества альтернатив:
// Если переменная max_width определена, используется ее значение. В противном случае значение извлекается из объекта preferences. Если объект (или его свойство max_with) не определен, используется значение константы, жестко определенной в тексте программы.
|
var max = max_width || preferences.max_width || 500;
Логическое НЕ (!)
Оператор! является унарным оператором, помещаемым перед одним операндом.
Он используется для инверсии логического значения своего операнда.
Например, если переменная x == true, то выражение !x возвращает значение false, и наоборот.
В отличие от операторов && и ||, оператор! преобразует свой операнд в логическое значение перед тем, как инвертировать его. Это означает, что оператор! всегда возвращает true или false, и это означает, что всегда можно преобразовать любое значение в его логический эквивалент, дважды применив этот оператор:!!.
|
|
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!