zoukankan      html  css  js  c++  java
  • 一个关于三木运算符的问题

    原型:

     Test t = new Test();
                if (t.str == "1")
                    p = "11";
                else if (t.str == "2")
                    p = "22";
                else if (t.str == "3")
                    p = "33";

    switch (t.str)
    {
      case "1":
        p = 11;
        break;
      case "2":
        p = 22;
        break;
      case "3":
        p = 33;
        break;
      default:
        break;
    }

    三元需要返回值,p 放前面

    p = t.str == "1" ? "11" : (t.str == "2" ? "22" : "33");              

    or  p=t.str == "1"?"11":t.str == "2"?"22":"33";  三木运算符的优先级是从右到左

     

    三目运算符,前边 ?前边条件成立则返回 :前的值,不成立则返回后边的值,,,,有许多程序都用了这个特性,比如下边:js  和 c# 

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------

    ?运算符(null合并运算符)和三木运算符

     

    ?运算符:?运算符也成为null合并运算符.?运算符的左操作数如果不为null,则返回左操作数。反之,则返回右操作数。

    三木运算符(js):

     

     var a=2;
     var b="";
     a=(a?a:b); 
    当a为false、undefined、null或空字符串时,返回b;否则返回a;
    三木运算符(C#):
    int a=10;
    int b;
    b=(a==10)?a++:a--; 

     ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • 相关阅读:
    Object-C中
    实例变量可见度修饰符
    Object-C 类和对象
    C语言中线程和进程的区别
    动态内存分配
    C语言中union关键字
    C语言结构体
    const define static extern 关键词详解
    基于TensorFlow Object Detection API进行迁移学习训练自己的人脸检测模型(一)
    Ubuntu18.04+CUDA9.0+cuDNN7.1.3+TensorFlow1.8 安装总结
  • 原文地址:https://www.cnblogs.com/the-tops/p/5691318.html
Copyright © 2011-2022 走看看