Skip to content

运算符

Dart 提供了多种运算符来执行不同的操作,包括算术、关系、逻辑、赋值、条件运算符等。

算术运算符

用于执行基本的数学运算。

运算符描述示例
+加法a + b
-减法a - b
*乘法a * b
/除法(结果为浮点数)a / b
~/整除(取商的整数部分)a ~/ b
%取模(余数)a % b
++自增(前置/后置)a++++a
--自减(前置/后置)a----a

示例代码:

dart
void main() {
  int a = 10, b = 3;
  print(a + b);   // 13
  print(a - b);   // 7
  print(a * b);   // 30
  print(a / b);   // 3.333...
  print(a ~/ b);  // 3
  print(a % b);   // 1
  a++;
  print(a);       // 11
  b--;
  print(b);       // 2
}

系运算符

用于比较两个值,结果为布尔类型。

运算符描述示例
==等于a == b
!=不等于a != b
>大于a > b
<小于a < b
>=大于等于a >= b
<=小于等于a <= b

示例代码:

dart
void main() {
  int a = 10, b = 20;
  print(a == b);  // false
  print(a != b);  // true
  print(a > b);   // false
  print(a < b);   // true
  print(a >= 10); // true
  print(b <= 15); // false
}

逻辑运算符

用于处理布尔逻辑操作。

运算符描述示例
&&逻辑与(AND)a && b
||逻辑或(OR)a || b
!逻辑非(NOT)!a

示例代码:

dart
void main() {
  bool a = true, b = false;
  print(a && b);  // false
  print(a || b);  // true
  print(!a);      // false
}

赋值运算符

用于给变量赋值,支持多种复合操作。

运算符描述示例
=简单赋值a = b
+=加法赋值a += b
-=减法赋值a -= b
*=乘法赋值a *= b
/=除法赋值a /= b
%=取模赋值a %= b
??=如果变量为 null,则赋值a ??= b

示例代码:

dart
void main() {
  int a = 5, b = 10;
  a += b;   // 等价于 a = a + b
  print(a); // 15
  a ??= 20; // 如果 a 为 null 则赋值为 20,否则不变
  print(a); // 15
}

条件运算符

用于根据条件返回不同的值。

  1. 三目运算符

    condition ? expr1 : expr2,根据条件返回 expr1expr2

    dart
    void main() {
      int a = 10, b = 20;
      String result = (a > b) ? 'A is greater' : 'B is greater';
      print(result); // B is greater
    }
  2. 级联运算符

    用于检查一个变量是否为 null。

    • ??:如果左侧为 null,返回右侧值。
    • ?.:仅当对象不为 null 时访问其成员。
    dart
    void main() {
      String? name;
      print(name ?? 'Default'); // 输出: Default
    }

综合示例

dart
void main() {
  int x = 5, y = 10;

  // 算术运算符
  print('Sum: ${x + y}');       // 15
  print('Division: ${y ~/ x}'); // 2

  // 关系运算符
  print('x > y: ${x > y}');     // false

  // 逻辑运算符
  bool a = true, b = false;
  print('a && b: ${a && b}');   // false

  // 赋值运算符
  x += 2;
  print('x: $x');               // 7

  // 条件运算符
  String result = (x > y) ? 'x is greater' : 'y is greater';
  print(result);                // y is greater
}
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!