我遇到了这种语法:
System.out.println(boolean_variable ? "print true": "print false");
? :
是条件运算符。(不只是:
一部分,整个方法参数是示例中条件运算符的一种用法。)
它通常被称为三元运算符,但这只是其本质的一个方面-具有三个操作数-而不是其名称。如果Java中引入了另一个三元运算符,则该术语将变得模棱两可。之所以称为条件运算符,是因为它具有一个条件(第一个操作数),该条件然后确定要评估其他两个操作数中的哪个。
第一操作数进行评估,然后要么在第二或第三操作数基于所述第一操作数是真还是假评价...,这最终成为操作者的结果。
所以像这样:
int x = condition() ? result1() : result2();
大致相当于:
int x;
if (condition()) {
x = result1();
} else {
x = result2();
}
重要的是不要评估另一个操作数。因此,例如,这很好:
String text = getSomeStringReferenceWhichMightBeNull();
int usefulCharacters = text == null ? 0 : text.length();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句