Java 此语句的含义是什么(chaIntVal>;=0x10?chaIntVal:chaIntVal | 0x60)

Java 此语句的含义是什么(chaIntVal>;=0x10?chaIntVal:chaIntVal | 0x60),java,conditional-operator,Java,Conditional Operator,嗨,有人能给我解释一下这个条件语句的意思吗?这是一个java代码 (chaIntVal >= 0x10 ? chaIntVal : chaIntVal | 0x60) 这是一个很好的例子,也就是说 condition ? value_if_true : value_if_false; 这几乎相当于 if(condition){ // when true do this }else{ // when false do this } 这是一个很好的例子,也就是说 con

嗨,有人能给我解释一下这个条件语句的意思吗?这是一个java代码

(chaIntVal >= 0x10 ? chaIntVal  : chaIntVal | 0x60)
这是一个很好的例子,也就是说

condition ? value_if_true : value_if_false;
这几乎相当于

if(condition){
    // when true do this
}else{
    // when false do this
}
这是一个很好的例子,也就是说

condition ? value_if_true : value_if_false;
这几乎相当于

if(condition){
    // when true do this
}else{
    // when false do this
}
这意味着:

int res;
if(chaIntVal >= 0x10) {
    res = chaIntVal;
} else {
    res = chaIntVal | 0x60;   // binary or
}
这意味着:

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

如果CHAINETVAL>16,此表达式返回CHAINETVAL;否则,它将chaIntVal的第5位和第6位设置为1(二进制或),并返回它

如果chaIntVal>16,则此表达式返回chaIntVal;否则,它将chaIntVal的第5位和第6位设置为1(二进制或),并返回它

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

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

这只是一个条件运算符表达式。它本身不是一个声明。哪一部分你觉得很难理解?是按位
还是
?可能是@JonSkeet的重复,是的,我不理解中间的|门。@user3022123:那么我不理解接受的答案是如何帮助你的,因为这只是解释了条件运算符部分…@JonSkeet,很难找到准确的答案帮助了我。但是这个被接受的答案帮助我理解,也帮助我理解你的答案。那么,我如何标记你的答案呢?这只是一个条件运算符表达式。它本身不是一个声明。哪一部分你觉得很难理解?是按位
还是
?可能是@JonSkeet的重复,是的,我不理解中间的|门。@user3022123:那么我不理解接受的答案是如何帮助你的,因为这只是解释了条件运算符部分…@JonSkeet,很难找到准确的答案帮助了我。但是这个被接受的答案帮助我理解,也帮助我理解你的答案。那么,我怎样才能在你的答案上加上记号呢?