三目运算符

来源:互联网 发布:淘宝直播里的东西好吗 编辑:程序博客网 时间:2024/06/05 05:24

对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式从不会既计算x,又计算y。


例子

        int i=1;int m=2;int k=3;r=i<m?(m<k?(i+m>k?(k>m):(k>i)):(i+m>k?(k<m):(k<i))):(m<k?(i+m>k?(k>m):(k>i)):(i+m>k?(k<m):(k<i)));如果当i<m成立为true,那么将执行表达式1,当m<k成立为true,那么将执行:左边表达式,当i+m>k成立为true,那么将执行k>m,不成立反之;如果当i<m不成立为false,那么将执行表达式2,当m<k不成立为false,那么将执行:右边表达式,当i+m>k不成立为false,那么将执行k<i,成立反之;

总的来说就是?前面的条件成立执行左面,不成立执行右面,如果里面还有条件,继续如此循环执行得出最后结果!

原创粉丝点击