当前位置: 首页 > 文档资料 > Dart 中文教程 >

运算符

优质
小牛编辑
139浏览
2023-12-01

表达式是一种特殊类型的语句,它计算为一个值。 每个表达都由 -

  • Operands - 表示数据

  • Operator - 定义如何处理操作数以生成值。

考虑以下表达式 - “2 + 3”。 在该表达式中,2和3是operands ,符号“+”(加号)是operator

在本章中,我们将讨论Dart中可用的运算符。

  • 算术运算符
  • 平等和关系运算符
  • 键入测试运算符
  • 按位运算符
  • 分配运算符
  • 逻辑运算符

算术运算符 (Arithmetic Operators)

下表显示了Dart支持的算术运算符。

显示示例

Sr.No经营者和意义
1+

2

减去

3-expr

一元减号,也称为否定(反转表达式的符号)

4*

5/

划分

6~/

除以,返回整数结果

7%

获取整数除法的余数(模数)

8++

增量

9--

递减

平等和关系运算符

关系运算符测试或定义两个实体之间的关系类型。 关系运算符返回一个布尔值,即true/false。

假设A的值为10,B为20。

显示示例

操作者描述
>Greater than(A> B)是假的
<Lesser than(A < B) 为真
>=大于或等于(A> = B)为假
<=小于或等于(A <= B)为真
==Equality(A == B)是真的
!=不相等(A!= B)是真的

键入测试运算符

这些运算符在运行时检查类型很方便。

显示示例

操作者含义
is如果对象具有指定的类型,则为True
is!如果对象具有指定的类型,则返回false

按位运算符 (Bitwise Operators)

下表列出了Dart中可用的按位运算符及其作用 -

显示示例

操作者描述
Bitwise ANDa&b返回每个位位置的一个,两个操作数的相应位为1。
Bitwise OR 一个| b在每个位的位置返回一个,其中一个或两个操作数的相应位是1。
Bitwise XOR a ^ b在每个位位置返回一个,其中任一个但不是两个操作数的相应位都是1。
Bitwise NOT~a反转其操作数的位。
Left shifta ≪ b将二进制表示b(<32)位向左移位,从右移零。
Signpropagating right shifta»b将二进制表示b(<32)位向右移位,丢弃移位的位。

赋值操作符 (Assignment Operators)

下表列出了Dart中可用的赋值运算符。

显示示例

Sr.No操作符和说明
1=(Simple Assignment )

将值从右侧操作数分配给左侧操作数

Ex :C = A + B将A + B的值分配给C

2??=

仅当变量为null时才分配值

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 - 相同的逻辑适用于Bitwise运算符,因此它们将变为«=,»=,»=,»=,| =和^ =。

逻辑运算符 (Logical Operators)

逻辑运算符用于组合两个或多个条件。 逻辑运算符返回一个布尔值。 假设变量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语句的表达式 -

条件? expr1:expr2

如果condition为true,则表达式计算expr1 (并返回其值); 否则,它会计算并返回expr2的值。

expr1 ?? 表达式2

如果expr1为非null,则返回其值; 否则,计算并返回expr2的值

例子 (Example)

以下示例显示如何在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

例子 (Example)

让我们再看一个例子 -

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

它将产生以下输出 -

12