我遇到了这种语法:
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中的使用方式。它归结为:评估布尔运算(或只是一个变量)。如果计算结果为真,则运算符返回值 / 执行 之前的代码:
,否则执行它之后的代码。
这是三元运算符(http://en.wikipedia.org/wiki/? :)。if
当您需要一个小表达式时,它可以在任何地方使用。
对于您的问题:
?:
两个字符一起)称为条件运算符(或三元运算符)。只有两者一起工作。原则上,三元运算符是缩短的if
/ else
。将boolean
是 if 的条件,and 之间的部分?
是:
分支if
,之后的部分是else
分支。
请注意,条件运算符的返回类型由第一个分支决定。
那是一个if语句。
左边是什么?是条件,两者之间是什么?和 : 是条件为真时的结果, : 右侧是条件为假时的结果。
它是三元运算符,适用于布尔值。在某些情况下,它可以用作 if-else 的简写,但不应该用于太复杂的事情,因为它可能难以阅读。
一个例子是根据条件为变量赋值:
String message = doOperation() ? "Success" : "Error occurred";
System.out.println(message);
在这种情况下,如果 doOperation 返回一个布尔值来告诉它是否成功,那么要显示的消息可以分配在一行上。
请注意,此示例并不代表良好的编程习惯。
它的三元运算符。
三元运算符或 ? 是 if else 语句的简写。它可用于计算表达式并根据表达式的结果返回两个操作数之一。
boolean b = true;
String s = ( b == true ? "True" : "False" );
这将根据布尔值 b 的值设置 String s 的值。这可以使用这样的 if else 语句来编写:
boolean b = true;
String s;
if(b == true){
s = "True";
}else{
s = "False";
}
它是 if-else 语句的一种简短形式。
它以这种方式工作
(yourCondition ? STATEMENT1 : STATEMENT2)
IF
它返回TRUE
然后STATEMENT1
将被执行。ELSE
STATEMENT2
将被执行。问号后跟一个冒号(两个点)是一个三元运算符,通常称为内联 if。
在这种情况下,它会根据 boolean_variable 的值返回一个字符串。
见这里。三元运算符类似于 if 表达式,但不同之处在于它是一个表达式——它有一个返回值,而 if 表达式没有。有时你想用它来让你的代码不那么混乱。