Программирование дротиков - Операторы

Выражение - это особый вид оператора, который возвращает значение. Каждое выражение состоит из -

  • Operands - представляет данные

  • Operator - Определяет, как операнды будут обрабатываться для получения значения.

Рассмотрим следующее выражение - «2 + 3». В этом выражении 2 и 3 являютсяoperands а символ "+" (плюс) - это operator.

В этой главе мы обсудим операторы, доступные в Dart.

  • Арифметические операторы
  • Операторы равенства и отношения
  • Операторы типовых испытаний
  • Побитовые операторы
  • Операторы присваивания
  • Логические операторы

Арифметические операторы

В следующей таблице показаны арифметические операторы, поддерживаемые Dart.

Показать примеры

Старший Нет Операторы и значение
1 +

Добавить

2

Вычесть

3 -expr

Унарный минус, также известный как отрицание (поменять знак выражения)

4 *

Умножить

5 /

Делить

6 ~/

Разделить, вернуть целочисленный результат

7 %

Получить остаток от целочисленного деления (по модулю)

8 ++

Приращение

9 --

Декремент

Операторы равенства и отношения

Операторы отношения проверяют или определяют вид отношений между двумя объектами. Операторы отношения возвращают логическое значение, т.е. истина / ложь.

Предположим, что значение A равно 10, а B равно 20.

Показать примеры

Оператор Описание пример
> Больше чем (A> B) ложно
< Меньше, чем (A <B) верно
> = Больше или равно (A> = B) ложно
<= Меньше или равно (A <= B) верно
== Равенство (A == B) ложно
знак равно Не равный (A! = B) верно

Операторы типовых испытаний

Эти операторы удобны для проверки типов во время выполнения.

Показать примеры

Оператор Имея в виду
является Истинно, если объект имеет указанный тип
является! False, если объект имеет указанный тип

Побитовые операторы

В следующей таблице перечислены побитовые операторы, доступные в Dart, и их роль.

Показать примеры

Оператор Описание пример
Побитовое И а и б Возвращает единицу в каждой битовой позиции, для которой соответствующие биты обоих операндов равны единице.
Побитовое ИЛИ а | б Возвращает единицу в каждой битовой позиции, для которой соответствующие биты одного или обоих операндов равны единице.
Побитовое исключающее ИЛИ а ^ б Возвращает единицу в каждой битовой позиции, для которой соответствующие биты одного, но не обоих операндов равны единице.
Побитовое НЕ ~ а Инвертирует биты своего операнда.
Левый "шифт а ≪ б Сдвигает a в двоичном представлении на b (<32) бит влево, сдвигая на нули справа.
Сдвиг вправо а ≫ б Сдвигает a в двоичном представлении на b (<32) бит вправо, отбрасывая сдвинутые биты.

Операторы присваивания

В следующей таблице перечислены операторы присваивания, доступные в Dart.

Показать примеры

Старший Нет Оператор и описание
1 =(Simple Assignment )

Назначает значения от правого операнда к левому операнду

Ex: C = A + B присвоит значение A + B в C

2 ??=

Назначьте значение, только если переменная пуста

3 +=(Add and Assignment)

Он добавляет правый операнд к левому операнду и присваивает результат левому операнду.

Ex: C + = A эквивалентно C = C + A

4 ─=(Subtract and Assignment)

Он вычитает правый операнд из левого операнда и присваивает результат левому операнду.

Ex: C - = A эквивалентно C = C - A

5 *=(Multiply and Assignment)

Он умножает правый операнд на левый и присваивает результат левому операнду.

Ex: C * = A эквивалентно C = C * A

6 /=(Divide and Assignment)

Он делит левый операнд с правым операндом и присваивает результат левому операнду.

Note - Та же логика применяется к побитовым операторам, поэтому они станут ≪ =, ≫ =, ≫ =, ≫ =, | = и ^ =.

Логические операторы

Логические операторы используются для объединения двух или более условий. Логические операторы возвращают логическое значение. Предположим, что значение переменной A равно 10, а B равно 20.

Показать примеры

Оператор Описание пример
&&

And - Оператор возвращает истину, только если все указанные выражения возвращают истину

(A> 10 && B> 10) ложно.
||

OR - Оператор возвращает истину, если хотя бы одно из указанных выражений возвращает истину.

(A> 10 || B> 10) верно.
!

NOT- Оператор возвращает результат, обратный выражению. Например:! (7> 5) возвращает false

! (A> 10) верно.

Условные выражения

В Dart есть два оператора, которые позволяют вам оценивать выражения, которые в противном случае могли бы потребовать операторов ifelse:

состояние ? expr1: expr2

Если условие истинно, тогда выражение оценивает expr1(и возвращает его значение); в противном случае он оценивает и возвращает значениеexpr2.

expr1 ?? expr2

Если expr1не равно нулю, возвращает свое значение; в противном случае оценивает и возвращает значениеexpr2

пример

В следующем примере показано, как вы можете использовать условное выражение в Dart -

void main() { 
   var a = 10; 
   var res = a > 12 ? "value greater than 10":"value lesser than or equal to 10"; 
   print(res); 
}

Он выдаст следующий результат -

value lesser than or equal to 10

пример

Возьмем другой пример -

void main() { 
   var a = null; 
   var b = 12; 
   var res = a ?? b; 
   print(res); 
}

Он выдаст следующий результат -

12