符号是什么?和':'在return语句中是什么意思?
public boolean isItBigger(BigInteger num1, Long num2) {
return num1 == BigInteger.ONE || num2.intValue() > 0 ? true : false;
}
我也认为我在 if 语句中看到过它们。
符号是什么?和':'在return语句中是什么意思?
public boolean isItBigger(BigInteger num1, Long num2) {
return num1 == BigInteger.ONE || num2.intValue() > 0 ? true : false;
}
我也认为我在 if 语句中看到过它们。
使用?
and:
是 Java 的三元条件运算符(JLS 15.25)。表达式的结果
aBoolean ? expr1 : expr2
是expr1
如果aBoolean
是true
,否则是expr2
。
在这种情况下,它可以被忽略,因为它是不必要的:
return num1 == BigInteger.ONE || num2.intValue() > 0;
它是一个三元运算符。以下是等价的
if (x == y)
x = 2;
else
x = 3;
和
x = (x == y) ? 2 : 3;
您的示例代码虽然很愚蠢。首先,他们检查表达式的计算结果是否为真。然后,如果确实如此,它们将返回 true。他们也可以返回表达式本身的结果,如下所示:
return num1 == BigInteger.ONE || num2.intValue() > 0;
这称为条件/三元运算符
boolean-expression ? do-this-if-true : else-do-this
它是的缩写形式
if (boolean-expression) {
do-this
} else{
do-this
}