这个陈述的含义是什么(chaIntVal> = 0x10?chaIntVal:chaIntVal | 0x60)

时间:2013-11-29 08:27:40

标签: java conditional-operator

嗨请有人能解释一下这个条件陈述的含义吗?这是一个java代码。

(chaIntVal >= 0x10 ? chaIntVal  : chaIntVal | 0x60)

4 个答案:

答案 0 :(得分:2)

这意味着:

int res;
if(chaIntVal >= 0x10) {
    res = chaIntVal;
} else {
    res = chaIntVal | 0x60;   // binary or
}

答案 1 :(得分:1)

这是一个ternary operator,意思是这个。

condition ? value_if_true : value_if_false;

几乎相当于

if(condition){
    // when true do this
}else{
    // when false do this
}

答案 2 :(得分:1)

如果chaIntVal>该表达式返回chaIntVal。 16;否则它会将chaIntVal的第5位和第6位设置为1(二进制OR http://www.xcprod.com/titan/XCSB-DOC/binary_or.html)并返回它。

答案 3 :(得分:0)

如果未设置值的4个低位之后的高位(值范围为0-15),请设置位x11x xxxx。