美文网首页
Flutter 学习从零开始-Dart运算符

Flutter 学习从零开始-Dart运算符

作者: 風清雲少 | 来源:发表于2020-07-28 14:49 被阅读0次
    描述 运算符
    一元后缀 expr++ expr-- () [] . ?.
    一元前缀 -expr !expr ~expr ++expr --expr
    乘除 * / % ~/
    加减 + -
    位移 << >> >>>
    按位与 &
    按位或 |
    按位异或 ^
    关系和类型测试 >= > <= < as is is!
    等于 == !=
    逻辑与 &&
    逻辑或 ||
    如果空 ??
    条件 expr1 ? expr2 : expr3
    级联 ..
    赋值 = *= /= ~/= %= += -= <<= >>= &= ^= ??=
    • 从上到下,同级从左到右

    除法和取整

    var a= 3/2; // 1.5 java c =1 除法运算
    var b= 3~/2; // 1 取整
    

    算数运算符

    ++ a // a= a+1 表达式的值 a+1
    var a = 1;
    var b = ++a; //b= a =a+1 先计算后赋值给b
    print(b);  // 2
    b = a++;   // 先赋值给b
    print(b);  // 2
    print(a);  // 3
    

    类型判断运算符

    Operation
    as 类型转化(也用指定类型前缀)
    is 如果对象是指定类型则返回 true
    is! 如果是指定类型则返回 false

    ?? 如果空 ?.如果不为空

    var b;
    b??=4; //如果b ==null 那么把4赋值给b 
    
    var s;
    print(s?.toString()); // null
    s = "123"
    print(s?.toString()); // 123
    

    逻辑表达式 (短路操作)

    && 逻辑与   || 逻辑或   
    var a;
    if( a!=null && a.toString()){
    }else{
      // a.toString() 不执行
    }
    

    条件表达式

    condition ? expr1 : expr2 // 条件 ? 表达式1 :表达式2 如果true,执行表达式1,并返回结果。如果false 执行表达式2 并返回
    expr1 ?? expr2 // 表达式1 ?? 表达式2 如果表达式1 为非null 则返回其值,否则执行表达式2 并返回其值
    

    (..)级联运算符

    • 级联运算符 (..)可以让你在同一个对象上连续调用多个对象的变量或方法
    class User {
        String name;
        int age;
        int sex;
    }
    
    User user = User();
    user.name = "lilei";
    user.age = 18;
    user.sex = 0;
    
    user..name="lilei" // 级联运算符
    ..age = 18
    ..sex = 0;
    

    ?. 条件访问成员

    print(user?.name); // 如果user ==null 则返回null 如果user!=null 则返回 user.name
    

    相关文章

      网友评论

          本文标题:Flutter 学习从零开始-Dart运算符

          本文链接:https://www.haomeiwen.com/subject/hhpzlktx.html