符号是什么?'并且':'表示在退货声明中?
public boolean isItBigger(BigInteger num1, Long num2) {
return num1 == BigInteger.ONE || num2.intValue() > 0 ? true : false;
}
此外,我认为我已经在if语句中看到了它们。
答案 0 :(得分:4)
使用?
和:
是Java的ternary conditional operator(JLS 15.25)。表达式的结果
aBoolean ? expr1 : expr2
如果expr1
为aBoolean
,则为true
,否则为expr2
。
在这种情况下,它可以不用,因为它是不必要的:
return num1 == BigInteger.ONE || num2.intValue() > 0;
答案 1 :(得分:1)
这是一个ternary operator。以下是等效的
if (x == y)
x = 2;
else
x = 3;
和
x = (x == y) ? 2 : 3;
你的示例代码很愚蠢。首先,他们检查表达式是否评估为真。然后,如果确实如此,则返回true。他们也可以返回表达式本身的结果,如下所示:
return num1 == BigInteger.ONE || num2.intValue() > 0;
答案 2 :(得分:0)
这称为条件/三元运算符
boolean-expression ? do-this-if-true : else-do-this
是
的缩写形式if (boolean-expression) {
do-this
} else{
do-this
}