- Dart 编程教程
- Dart 编程 - 主页
- Dart 编程 - 概述
- Dart 编程 - 环境
- Dart 编程 - 语法
- Dart 编程 - 数据类型
- Dart 编程 - 变量
- Dart 编程 - 运算符
- Dart 编程 - 循环
- Dart 编程 - 决策
- Dart 编程 - 数字
- Dart 编程 - 字符串
- Dart 编程 - 布尔值
- Dart 编程 - 列表
- Dart 编程 - 列表
- Dart 编程 - 地图
- Dart 编程 - 符号
- Dart 编程 - 符文
- Dart 编程 - 枚举
- Dart 编程 - 函数
- Dart 编程 - 接口
- Dart 编程 - 类
- Dart 编程 - 对象
- Dart 编程 - 集合
- Dart 编程 - 泛型
- Dart 编程 - 包
- Dart 编程 - 异常
- Dart 编程 - 调试
- Dart 编程 - Typedef
- Dart 编程 - 库
- Dart 编程 - 异步
- Dart 编程 - 并发
- Dart 编程 - 单元测试
- Dart 编程 - HTML DOM
- Dart 编程有用的资源
- Dart 编程 - 快速指南
- Dart 编程 - 资源
- Dart 编程 - 讨论
Dart 编程 - 运算符
表达式是一种计算结果为值的特殊语句。每个表达式都由以下部分组成 -
操作数- 代表数据
运算符- 定义如何处理操作数以产生值。
考虑以下表达式——“2 + 3”。在此表达式中,2 和 3 是操作数,符号“+”(加号)是运算符。
在本章中,我们将讨论 Dart 中可用的运算符。
- 算术运算符
- 等式和关系运算符
- 型式试验操作员
- 按位运算符
- 赋值运算符
- 逻辑运算符
算术运算符
下表显示了 Dart 支持的算术运算符。
先生编号 | 运算符及含义 |
---|---|
1 | +
添加 |
2 | -
减去 |
3 | -表达式
一元减号,也称为否定(反转表达式的符号) |
4 | *
乘 |
5 | /
划分 |
6 | 〜/
除法,返回整数结果 |
7 | %
获取整数除法的余数(模) |
8 | ++
增量 |
9 | --
递减 |
等式和关系运算符
关系运算符测试或定义两个实体之间的关系类型。关系运算符返回一个布尔值,即真/假。
假设A的值为10,B的值为20。
操作员 | 描述 | 例子 |
---|---|---|
> | 比...更棒 | (A > B) 为假 |
< | 小于 | (A < B) 为真 |
>= | 大于或等于 | (A >= B) 为假 |
<= | 小于或等于 | (A <= B) 为真 |
== | 平等 | (A==B) 为假 |
!= | 不等于 | (A!=B) 为真 |
型式试验操作员
这些运算符可以方便地在运行时检查类型。
操作员 | 意义 |
---|---|
是 | 如果对象具有指定类型,则为 True |
是! | 如果对象具有指定类型,则为 False |
按位运算符
下表列出了 Dart 中可用的按位运算符及其作用 -
操作员 | 描述 | 例子 |
---|---|---|
按位与 | 甲和乙 | 在两个操作数的对应位均为 1 的每个位位置返回 1。 |
按位或 | 一个 | 乙 | 在其中一个或两个操作数的对应位为 1 的每个位位置返回 1。 |
按位异或 | ^b | 在每个位位置返回 1,其中任一操作数(但不是两个操作数)的对应位均为 1。 |
按位非 | 〜一个 | 反转其操作数的位。 |
左移 | a≪b | 将二进制表示形式的 a 向左移动 b (< 32) 位,从右侧移入零。 |
符号传播右移 | a ≫ b | 将二进制表示形式的 a 右移 b (< 32) 位,并丢弃移出的位。 |
赋值运算符
下表列出了 Dart 中可用的赋值运算符。
先生编号 | 运算符及描述 |
---|---|
1 | =(简单赋值)
将右侧操作数中的值分配给左侧操作数 Ex :C = A + B 将把 A + B 的值赋给 C |
2 | ??=
仅当变量为 null 时才赋值 |
3 | +=(添加并赋值)
它将右操作数添加到左操作数,并将结果分配给左操作数。 例如:C += A 相当于 C = C + A |
4 | ─=(减法和赋值)
它从左操作数中减去右操作数,并将结果赋给左操作数。 例如:C -= A 相当于 C = C – A |
5 | *=(乘法和赋值)
它将右操作数与左操作数相乘,并将结果赋给左操作数。 例如:C *= A 相当于 C = C * A |
6 | /=(除法和赋值)
它将左操作数与右操作数相除,并将结果赋给左操作数。 |
注意- 相同的逻辑适用于按位运算符,因此它们将变为 ≪=、≫=、≫=、≫=、|= 和 ^=。
逻辑运算符
逻辑运算符用于组合两个或多个条件。逻辑运算符返回一个布尔值。假设变量 A 的值为 10,B 的值为 20。
操作员 | 描述 | 例子 |
---|---|---|
&& | And - 仅当指定的所有表达式都返回 true 时,该运算符才返回 true |
(A > 10 && B > 10) 为假。 |
|| | OR - 如果指定的至少一个表达式返回 true,则运算符返回 true |
(A > 10 || B > 10) 为真。 |
! | NOT - 运算符返回表达式结果的倒数。例如:!(7>5) 返回 false |
!(A > 10) 为真。 |
条件表达式
Dart 有两个运算符,可让您计算可能需要 ifelse 语句的表达式 -
健康)状况 ?表达式 1 : 表达式 2
如果条件为 true,则表达式计算expr1(并返回其值);否则,它计算并返回expr2的值。
表达式1 ?? 表达式2
如果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