Dart中的基本运算符及其分类

  1. 算术运算符
  • +:加,例如 3 + 4,结果为 7
  • -:减,例如 5 - 2,结果为 3
  • *:乘,例如 2 * 3,结果为 6
  • /:除,例如 10 / 3,结果为 3.3333333333333335
  • %:取模,例如 10 % 3,结果为 1
  • ++:自增,例如 var a = 1; a++;,此时 a 的值为 2
  • --:自减,例如 var b = 2; b--;,此时 b 的值为 1
  1. 关系运算符
  • ==:等于,例如 1 == 1,结果为 true
  • !=:不等于,例如 1 != 2,结果为 true
  • >:大于,例如 3 > 2,结果为 true
  • <:小于,例如 2 < 3,结果为 true
  • >=:大于等于,例如 3 >= 3,结果为 true
  • <=:小于等于,例如 2 <= 3,结果为 true
  1. 逻辑运算符
  • &&:逻辑与,例如 true && false,结果为 false
  • ||:逻辑或,例如 true || false,结果为 true
  • !:逻辑非,例如 !true,结果为 false
  1. 位运算符
  • &:按位与,例如 3 & 5,结果为 1
  • |:按位或,例如 3 | 5,结果为 7
  • ^:按位异或,例如 3 ^ 5,结果为 6
  • ~:按位取反,例如 ~3,结果为 -4
  • <<:左移,例如 3 << 2,结果为 12
  • >>:右移,例如 10 >> 1,结果为 5
  1. 赋值运算符
  • =:简单赋值,例如 var a = 1;
  • +=:加后赋值,例如 var a = 1; a += 2;,此时 a 的值为 3
  • -=:减后赋值,例如 var b = 2; b -= 1;,此时 b 的值为 1
  • *=:乘后赋值,例如 var c = 3; c *= 2;,此时 c 的值为 6
  • /=:除后赋值,例如 var d = 10; d /= 3;,此时 d 的值为 3.3333333333333335
  1. 条件运算符
  • expr1 ? expr2 : expr3:三目运算符,例如 var x = 3; var y = x < 5 ? "x 小于 5" : "x 大于等于 5";,此时 y 的值为 "x 小于 5"
  1. 位移运算符

Dart 提供了两个对应类型的位移运算符,如下:

  • >> 右移运算符
  • << 左移运算符

下面是例子:

void main() {
  int a = 9;
  int b = -9;
  int c = 2;

  print(a >> c);//2
  print(b >> c);//-3
  print(a << c);//36
  print(b << c);//-36
}
  1. 闭合运算符

Dart 提供了一些闭合运算符,例如:

  • (expr):括号运算符,用于改变运算优先级。
  1. 其他运算符
  • is:类型判断运算符,例如 if (obj is String) { }
  • as:类型转换运算符,例如 var str = obj as String;

10.补充知识点:
在Dart中,整数相除使用的是普通的除号/,即使两个操作数都是整数类型,对两个整数相除也会得到一个double类型的结果。如果你想在两个整数相除后只保留整数部分,可以使用除法运算符结合取整函数来实现。比如可以使用以下代码来实现两个整数相除后自动取整的效果:

int result = 5 ~/ 2; // 输出2,相当于执行整除操作

其中~/是Dart中的整除运算符,它会将结果取整为整数。

需要注意的是:
如果被除数或除数是浮点数,使用整数相除运算符 ~/ 会先将浮点数转换为整数再进行整数相除运算,此时会截断浮点数的小数部分,因此结果可能与预期不符。在这种情况下,可以使用 Dart 中的取整函数 toInt() 来实现正确的效果。例如:

double a = 10.0;
double b = 3.0;
int c = (a / b).toInt(); // 取整
print(c); // 输出结果为 3

在上述例子中,变量 a 和 b 分别被赋值为 10.0 和 3.0,先使用除法运算符 / 进行浮点数相除运算,然后使用取整函数 toInt() 将结果转换为整数并赋值给变量 c,最后输出变量 c 的值为 3,保留了除法运算的整数部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值