Java: boolean in println (boolean ?“打印真”:“打印假”)
我遇到了这个语法:
System.out.println(boolean_variable ? "print true": "print false");
- 这个语法是什么,有两个点:called?
- 在哪里可以找到有关它的信息?
- 它是否仅适用于布尔值,还是以其他不同方式实现?
我遇到了这个语法:
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();
它是条件运算符,通常称为三元运算符,因为它有 3 个操作数:例如:
int foo = 10;
int bar = foo > 5 ? 1 : 2; // will be 1
int baz = foo > 15 ? 3 : 4; // will be 4
因此,如果表达式的计算结果为 ,它将返回第一个值(在冒号之前),否则返回第二个值(在冒号之后)。boolean
true
您可以阅读 Java 语言规范第 15.25 章“条件运算符”
中的详细说明?