运算符
Dart支持各种运算符(有些语言翻译为运算符,有些叫操作符,都指的是Operator。),并且其中的一些操作符还能进行重载。完整的运算符(操作符)如下表:
描述 | 运算符(操作符) |
---|---|
一元后缀 | expr++ expr-- () [] . ?. |
一元前缀 | -expr !expr ~expr ++expr --expr |
乘法级别 | * / % ~/ |
加法级别 | + - |
进位(移动位运算) | << >> |
按位与 | & |
按位异或 | ^ |
按位或 | | |
大小关系和类型判断 | >= > <= < as is is! |
相等 | == != |
逻辑与 | && |
逻辑或 | || |
if null | ?? |
三元运算 | expr1 ? expr2 : expr3 |
级联 | .. |
赋值 | = *= /= ~/= %= += -= <<= >>= &= ^= |= ??= |
当你使用操作符时,你就是在创建表达式:
a++
a--
a + b
a = b
a == b
c ? a : b
a is T
注:
上面的操作符列表中,每一行都比下一行的优先级要高。
对于二元运算符,其左边的操作数将会界定使用的操作符种类。例如:当你使用一个Vector对象以及一个Point对象时。aVector+aPoint使用的+是由Vector所定义的。