【发布时间】:2011-03-06 08:49:41
【问题描述】:
【问题讨论】:
标签: java ternary-operator
【问题讨论】:
标签: java ternary-operator
三元是您要查找的词。
【讨论】:
&& 和 || 上获得的页面更少。
这是条件运算符。
有些人称它为 三元 运算符,但这实际上只是说它有多少个操作数。特别是,Java 的未来版本可以(完全合理地)引入 another 三元运算符 - 而运算符的 name 是条件运算符。
见section 15.25 of the language specification:
条件运算符 ? : 使用一个表达式的布尔值 决定应该计算其他两个表达式中的哪一个。
【讨论】:
这被称为三元或条件运算符(取决于你问谁)
它允许你做单行条件语句,比如这个伪代码
print a==1 ? 'a is one' : 'a is not one'
正如 Jon Skeet 所说,它的专有名称是条件运算符,但它有 3 个操作数,因此也是三元运算符。
JLS 15.25 Conditional Operator ? :
条件运算符
? :使用一个表达式的boolean值来决定应该计算另外两个表达式中的哪一个。JLS 15.28 Constant Expression
编译时常量表达式是表示原始类型值或
String的表达式,它不会突然完成并且仅使用以下内容组成:
- 三元条件运算符
? :
因此,Java 语言规范正式将其称为(三元)条件运算符。
Java Coding Conventions - Indentation
下面是三种可接受的格式化三元表达式的方法:
alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma; alpha = (aLongBooleanExpression) ? beta : gamma;
您是指 if else 语句吗?查找单词ternery。
int x = 2;
String result = x > 1 ? "a" : "b";
等于:
int x = 2;
String result = "";
if (x > 1) {
result = "a";
} else {
result = "b" ;
}
它被称为条件运算符,但通常被称为三元运算符(这是一类运算符,都采用 3 个操作数,但在 Java 中只有一个这样的出口,即条件运算符)
有时它被称为三级运算符,这只是一种语言(英语)使用错误
Eventhouigh this 适用于 c#,同样适用于 Java