Выражение — это особый вид оператора, который оценивает значение. Каждое выражение состоит из —
-
Операнды — представляет данные
-
Оператор — определяет, как будут обрабатываться операнды для получения значения.
Операнды — представляет данные
Оператор — определяет, как будут обрабатываться операнды для получения значения.
Рассмотрим следующее выражение — «2 + 3». В этом выражении 2 и 3 являются операндами, а символ «+» (плюс) является оператором .
В этой главе мы обсудим операторы, доступные в Dart.
- Арифметические Операторы
- Равенство и реляционные операторы
- Тип теста Операторы
- Битовые операторы
- Операторы присваивания
- Логические Операторы
Арифметические Операторы
В следующей таблице приведены арифметические операторы, поддерживаемые Dart.
Sr.No | Операторы и смысл |
---|---|
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, и их роль.
оператор | Описание | пример |
---|---|---|
Побитовое И | а & б | Возвращает единицу в каждой битовой позиции, для которой соответствующие биты обоих операндов равны единице. |
Побитовое ИЛИ | а | б | Возвращает единицу в каждой битовой позиции, для которой соответствующие биты одного или обоих операндов являются единицами. |
Побитовый XOR | а ^ б | Возвращает единицу в каждой битовой позиции, для которой соответствующие биты одного, но не обоих операндов являются единицами. |
Побитовое НЕ | ~ a | Инвертирует биты своего операнда. |
Сдвиг влево | a ≪ b | Сдвиг a в двоичном представлении b (<32) битов влево, смещение нуля справа. |
Смещение вправо вправо | a ≫ b | Сдвиг a в двоичном представлении b (<32) битов вправо, отбрасывание битов смещено. |
Операторы присваивания
В следующей таблице перечислены операторы присваивания, доступные в Dart.
Sr.No | Оператор и описание |
---|---|
1 | = (Простое назначение)
Назначает значения от правого операнда к левому операнду Пример : C = A + B назначит значение A + B в C |
2 | знак равно
Назначайте значение только в том случае, если переменная равна нулю |
3 | + = (Добавить и присвоить)
Он добавляет правый операнд к левому операнду и присваивает результат левому операнду. Пример : C + = A эквивалентно C = C + A |
4 | ─ = (Вычитание и назначение)
Он вычитает правый операнд из левого операнда и присваивает результат левому операнду. Пример : C — = A эквивалентно C = C — A |
5 | * = (Умножение и назначение)
Он умножает правый операнд на левый операнд и присваивает результат левому операнду. Пример : C * = A эквивалентно C = C * A |
6 | / = (Разделить и Назначение)
Он делит левый операнд на правый операнд и присваивает результат левому операнду. |
Назначает значения от правого операнда к левому операнду
Пример : C = A + B назначит значение A + B в C
Назначайте значение только в том случае, если переменная равна нулю
Он добавляет правый операнд к левому операнду и присваивает результат левому операнду.
Пример : C + = A эквивалентно C = C + A
Он вычитает правый операнд из левого операнда и присваивает результат левому операнду.
Пример : C — = A эквивалентно C = C — A
Он умножает правый операнд на левый операнд и присваивает результат левому операнду.
Пример : C * = A эквивалентно C = C * A
Он делит левый операнд на правый операнд и присваивает результат левому операнду.
Примечание. Та же логика применима к побитовым операторам, поэтому они станут ≪ =, ≫ =, ≫ =, ≫ =, | = и ^ =.
Логические Операторы
Логические операторы используются для объединения двух или более условий. Логические операторы возвращают логическое значение. Предположим, что значение переменной A равно 10, а B равно 20.
оператор | Описание | пример |
---|---|---|
&& |
И — Оператор возвращает true, только если все указанные выражения возвращают true |
(A> 10 && B> 10) — Ложь. |
|| |
ИЛИ — оператор возвращает true, если хотя бы одно из указанных выражений возвращает true |
(A> 10 || B> 10) верно. |
! |
NOT — оператор возвращает результат, обратный выражению. Например,! (7> 5) возвращает false |
! (A> 10) верно. |
И — Оператор возвращает true, только если все указанные выражения возвращают true
ИЛИ — оператор возвращает true, если хотя бы одно из указанных выражений возвращает true
NOT — оператор возвращает результат, обратный выражению. Например,! (7> 5) возвращает false
Условные выражения
В Dart есть два оператора, которые позволяют вам вычислять выражения, которые в противном случае могли бы требовать операторов ifelse —
состояние ? expr1: expr2
Если условие истинно, выражение вычисляет expr1 (и возвращает его значение); в противном случае он вычисляет и возвращает значение expr2 .
expr1 ?? expr2
Если expr1 не равен NULL, возвращает его значение; в противном случае вычисляет и возвращает значение 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); }
Это даст следующий результат —