我遇到了这个语法:
System.out.println(boolean_variable ? "print true": "print false");
- 这个带有两个点 : 的语法是什么?
- 我在哪里可以找到相关信息?
- 它只适用于布尔值还是以其他不同的方式实现?
? :
is the 条件运算符 http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.25。 (这不仅仅是:
部分 - 整个方法参数是示例中条件运算符的一种用法。)
它通常被称为三元运算符,但这只是其性质的一个方面 - 具有三个操作数 - 而不是它的名称。如果 Java 中引入另一个三元运算符,该术语将变得含糊不清。它被称为条件运算符,因为它有一个状况(第一个操作数)然后确定评估其他两个操作数中的哪一个。
计算第一个操作数,然后either第二or第三个操作数根据第一个操作数是 true 还是 false 进行评估......最终作为运算符的结果。
所以像这样:
int x = condition() ? result1() : result2();
大致相当于:
int x;
if (condition()) {
x = result1();
} else {
x = result2();
}
重要的是它doesn't评估另一个操作数。例如,这很好:
String text = getSomeStringReferenceWhichMightBeNull();
int usefulCharacters = text == null ? 0 : text.length();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)