Dart 运算符
算数运算符
Arithmetic Operators
| 运算符 | 说明 | 例子 |
|---|---|---|
+ | 左右都是数值类型时:加法运算 左右都是字符串类型时:字符串拼接 | 10 + 2"xxx" + "10" + " " |
- | 减法运算 | 10 - 2 |
* | 乘法运算 | 10 * 2 |
/ | 除法运算 | 10 / 2 |
% | 取余运算 | 10 % 2 |
赋值运算符
Assignment Operators
| 运算符 | 说明 | 例子 |
|---|---|---|
= | 赋值操作 将右侧值直接赋值给左侧变量 | a = b |
+= | 加等于操作 将左侧变量当前值加上右侧值再后赋值给左侧变量 | a += b ( a = a + b ) |
-= | 减等于操作 将左侧变量当前值减去右侧值再后赋值给左侧变量 | a -= b ( a = a - b ) |
*= | 乘等于操作 将左侧变量当前值乘以右侧值再后赋值给左侧变量 | a *= b ( a = a * b ) |
/= | 除等于操作 将左侧变量当前值除以右侧值再后赋值给左侧变量 | a /= b ( a = a / b ) |
??= | 空值赋值操作 左侧变量若为空值 null则将右侧值赋值给左侧变量 | a ??= b |
比较运算符
Comparison Operators
比较运算的结果是一个布尔值 ( true或false )
| 运算符 | 说明 | 例子 |
|---|---|---|
> | 左侧大于右侧 | a > b |
< | 左侧小于右侧 | a < b |
>= | 左侧大于等于右侧 | a >= b |
<= | 左侧小于等于右侧 | a <= b |
== | 左侧等于右侧 | a == b |
!= | 左侧不等于右侧 | a != b |
逻辑运算符
Logical Operators
| 运算符 | 说明 | 例子 |
|---|---|---|
&& | 与运算 | a = b && c |
|| | 或运算 | a = b || c |
! | 非运算 | a = !b |
dart
void main() {
print(true && true); // true
print(true && false); // false
print(false && true); // false
print(true || true); // true
print(true || false); // true
print(false || true); // true
print(!true); // false
print(!false); // true
}三目运算符
Ternary Operator / Conditional Operator
| 运算符 | 说明 | 例子 |
|---|---|---|
? : | 用于基于判断条件返回一个对应的值 | 条件 ? value1 : value2 |
空值合并运算符
Nullish Coalescing Operator
| 运算符 | 说明 |
|---|---|
?? | 当左侧数据为空值 ( null ) 时返回右侧数据,否则直接返回左侧数据 |
dart
void main() {
int? a;
int b = 100;
print(a ?? "xxx"); // null
print(b ?? "xxx"); // "xxx"
}