Flutter学习笔记(5)·Dart运算符


运算符概览

运算符 符号 说明
算术运算符 + 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 取余运算
~/ 取整运算
关系运算符 == 比较相等运算
!= 比较不等于运算
> 比较大于运算
< 比较小于运算
>= 比较大于或等于
<= 比较小于或等于
类型判断运算符 as 类型转换
is 如果对象是指定类型则返回 true
is! 如果对象是指定类型则返回 false
赋值运算符 =、*=、 %=、 >>>=、 ^=、 +=、 <<=、 &=、 |=、 -=、 ~/=、 >>= a [赋值运算符] b
逻辑运算符 ! 对表达式结果取反
|| 逻辑或
&& 逻辑与
& 按位与
| 按位或
^ 按位异或
~ 按位取反
<< 位左移
>> 位右移
>>> 无符号右移
条件表达式 条件?表达式1:表达式2 如果条件为 true,执行表达式 1并返回执行结果,否则执行表达式 2 并返回执行结果。
表达式1 ?? 表达式2 如果 表达式1 为非 null 则返回其值,否则执行 表达式2 并返回其值。
级联运算符 .. 、 ?.. 可以在同一个对象上连续调用多个对象的变量或方法。

概括介绍

对简单的运算符不再做介绍

条件表达式

条件?表达式1:表达式2 :如果条件为 true,执行表达式 1并返回执行结果,否则执行表达式 2 并返回执行结果。

void main() {
    
    
  var a = 8;
  var value1 = a == 0 ? "a等于0" : "a不等于0";
  var value2 = a == 8 ? "a等于8" : "a不等于8";
  print(value1);
  print(value2);
}

在这里插入图片描述


表达式1 ?? 表达式2 : 如果表达式 1 为非 null 则返回其值,否则执行表达式 2 并返回其值。

void main() {
    
    
  var a = null;
  var b = a ?? "hello";
  print(b);

  var c = "world";
  var d = c ?? "null";
  print(d);
}

在这里插入图片描述


级联运算符

可以在同一个对象上连续调用多个对象的变量或方法。

void main() {
    
    
  var model = FunModel()
    ..aFun()
    ..bFun()
    ..cFun()
    ..dFun();
}

class FunModel {
    
    
  aFun() {
    
    }
  bFun() {
    
    }
  cFun() {
    
    }
  dFun() {
    
    }
}

?..可以保证不为空的情况下调用

void main() {
    
    
  var model = FunModel()
    ?..aFun()
    ..bFun()
    ..cFun()
    ..dFun();
}

class FunModel {
    
    
  aFun() {
    
    }
  bFun() {
    
    }
  cFun() {
    
    }
  dFun() {
    
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40881680/article/details/129434664