Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Логические операции





Логические операции обычно используются с Булевыми (логическими) значения; эти операции возвращают Булево значение. Однако операции && и || в действительности возвращают значение одного из специфицированных операндов, поэтому, если эти операции используются с не-Булевыми значениями, они могут вернуть не-Булево значение. Логические операции перечислены в таблице.

Таблица 3.6 Логические операции

Операция Использование Описание
&& expr1 && expr2 (Логическое И) Возвращает expr1, если может быть конвертировано в false; иначе возвращает expr2. Таким образом, при использовании с Булевыми значениями && возвращает true, если оба операнда true; иначе, возвращает false.
|| expr1 || expr2 (Логическое ИЛИ) Возвращает expr1, если может быть конвертировано в false; иначе возвращает expr2. Таким образом, при использовании с Булевыми значениями || возвращает true, если любой из операндов true; если оба false, возвращает false.
! !expr (Логическое НЕ) Возвращает false, если её единственный операнд может быть конвертирован в true; иначе возвращает true.

 

Для простоты программирования в языке С++ реализованы компактные операторы инкремента и декремента, т.е. увеличения и уменьшения значения переменной на 1 соответственно. Данные операторы могут быть записаны в виде

i + +; // операция инкремента

+ + i; // операция инкремента

i--; // операция декремента

--i; // операция декремента

Разницу между первой и второй формами записи данных операторов можно продемонстрировать на следующем примере:

int i=10,j=10;

int a = i++; //значение a = 10; i = 11;

int b = + + j; //значение b = 11; j = 11;

Из полученных результатов видно, что если оператор инкремента стоит после имени переменной, то сначала выполняется операция присваивания и только затем операция инкремента. Во втором случае наоборот, операция инкремента реализуется до присвоения результата другой переменной. Поэтому значение a = 10, а значение b = 11. В первом случае говорят о постпрефиксной форме, а во втором - о префиксной. Подобный приоритет операции инкремента остается справедливым и при использовании арифметических операций, например

int a1=4, a2=4;

double b = 2.4*++a1; //результат b = 12.0

double c = 2.4*a2++; //результат c = 9.6

Из приведенного примера видно, что операция инкремента (декремента)

обладает более высоким приоритетом, чем операция умножения (соответственно и деления). Для того чтобы изменить приоритеты используются круглые скобки.

Операция декремента действует аналогично операции инкремента с той лишь разницей, что она уменьшает значение переменной на 1.

5Операции сравнения, логические операции, побитовые операции.

Операция сравнения сравнивает операнды и возвращает значение, основанное на true/верности сравнения. Операнды могут быть числами или строками. Строки сравниваются на основе стандартного лексикографического (словарного) порядка с использованием Unicode-значений. В таблице даны операции сравнения.

Таблица 3.2 Операции сравнения

Операция Описание Примеры, возвращающие true1
Равно (==) Возвращает true, если операнды равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды в значения, подходящие для сравнения. 3 == var1 "3" == var1 3 == '3'
Не равно (!=) Возвращает true, если операнды не равны. Если два операнда имеют разные типы, JavaScript пытается конвертировать операнды в значения, подходящие для сравнения. var1!= 4 var2!= "3"
Строго равно (===) Возвращает true, если операнды равны и одного типа. 3 === var1
Строго не равно (!==) Возвращает true, если операнды не равны и/или не одного типа. var1!== "3" 3!== '3'
Больше (>) Возвращает true, если левый операнд больше правого операнда. var2 > var1
Больше или равно (>=) Возвращает true, если левый операнд больше правого операнда или равен ему. var2 >= var1 var1 >= 3
Меньше (<) Возвращает true, если левый операнд меньше правого операнда. var1 < var2
Меньше или равно (<=) Возвращает true, если левый операнд меньше правого операнда или равен ему.  

 







Дата добавления: 2015-04-19; просмотров: 401. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Расчет концентрации титрованных растворов с помощью поправочного коэффициента При выполнении серийных анализов ГОСТ или ведомственная инструкция обычно предусматривают применение раствора заданной концентрации или заданного титра...

Метод Фольгарда (роданометрия или тиоцианатометрия) Метод Фольгарда основан на применении в качестве осадителя титрованного раствора, содержащего роданид-ионы SCN...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия