Java boolean返回if语句

时间:2016-07-06 11:24:55

标签: java android boolean logic

有人可以用简单的英语解释这句话背后的逻辑吗?

return mContainsLoadingRow ? (getContentDataSize() + 1) : getContentDataSize();

假设mContainsLoadingRow是布尔值,如果mContainsLoadingRowtrue

然后返回getContentDataSize() + 1

如果没有,请返回getContentDataSize()

这是看这个的正确方法吗?

2 个答案:

答案 0 :(得分:3)

这个完整的表达式在Java中被称为 Ternary Operator

代码声明

mContainsLoadingRow ? (getContentDataSize() + 1) : getContentDataSize();
        ||                       ||                         ||
 //boolean expression      //return if true          //return if false

此处为此代码

mContainsLoadingRow是一个布尔变量,包含truefalse。您也可以使用任何布尔表达式更改mContainsLoadingRow,例如(a> b或b == a或b< = a等)

? (question mark): - 使我们能够判断它是真还是假。

如果true表达式(getContentDataSize() + 1)将返回。

如果false,则表示getContentDataSize()值将返回。

答案 1 :(得分:0)

int x = 0;
if (0 < 1){
  x = 2;
}else{
  x = 42;
}
// in short:
x = (0<1) ? 2 : 42;

是的,你是对的