一尘不染

如何理解java三元运算符 : ? ?

java 三元运算符 :?

如何理解java三元运算符 : ? ?


阅读 643

收藏
2020-01-10

共1个答案

一尘不染

是的,它是的简写形式

int count;
if (isHere)
    count = getHereCount(index);
else
    count = getAwayCount(index);

它称为条件运算符。许多人(错误地)将其称为三元运算符,因为它是Java,C,C ++以及可能还有许多其他语言中唯一的三元运算符。但是理论上可以有另一个三元运算符,而只能有一个条件运算符。

官方名称在Java语言规范中给出:

条件运算符 ?:使用一个表达式的布尔值来确定应评估另外两个表达式中的哪一个。

请注意,两个分支都必须导致带有返回值的方法:

第二个操作数表达式或第三个操作数表达式调用void方法都是编译时错误。

因此,如果doSomething()doSomethingElse()是无效方法,则无法压缩此方法:

if (someBool)
    doSomething();
else
    doSomethingElse();

到这个:

someBool ? doSomething() : doSomethingElse();

简单的话:

booleanCondition ? executeThisPartIfBooleanConditionIsTrue : executeThisPartIfBooleanConditionIsFalse
2020-01-10