【发布时间】:2014-11-06 11:58:20
【问题描述】:
我不知道这是什么意思:
this.x = x < 0 ? 0 : x;
this.y = y < 0 ? 0 : y;
我找不到这些运算符的含义,任何帮助将不胜感激!
【问题讨论】:
-
寻找三元运算....
标签: java
我不知道这是什么意思:
this.x = x < 0 ? 0 : x;
this.y = y < 0 ? 0 : y;
我找不到这些运算符的含义,任何帮助将不胜感激!
【问题讨论】:
标签: java
是的。 java中的Terinary (or Conditional) Operator。 if 和 else 条件的简写。
代码this.x = x < 0? 0 : x;相当于
if (x<0) {
this.x = 0
} else{
this.x =x
}
【讨论】:
在这种情况下:
this.x = x < 0? 0 : x;
这意味着x的值取决于条件(问号x < 0之前的那个),x的值是第一个( : 之前的值,即0)如果条件评估为真,否则为第二个值(: 之后的值,即x 本身)。
此外,如果 x 的值为负数,则其值等于 0,除此之外,该值是 x 本身.
【讨论】:
条件运算符 (?:) 根据布尔表达式的值返回两个值之一。
语法:condition ? first_expression : second_expression;
this.x = x < 0? 0 : x;
this.y = y < 0? 0 : y;
表示如果 x
所以x的取值取决于条件。
参考?: Operator 。
希望对您有所帮助!
【讨论】:
它是简写的条件运算符。
声明
int n = x > 0 ? x : 0
如果x > 0 返回真,则将n 设置为x。否则,n 将设置为 0。
【讨论】:
称为三元运算符。
(condition) ? [if true]
: [if false]
在你的情况下:
this.x = x < 0? 0 : x;
this.y = y < 0? 0 : y;
【讨论】:
意思是:
if (x < 0) {
this.x = 0;
} else {
this.x = x;
}
y; 也一样
【讨论】:
您的班级有一个名为x 的字段。 this.x 用于明确引用该字段:如果您的范围内有本地 x,则需要这样做。
x < 0 ? 0 : x; 是一个利用三元运算符的习语。它的计算结果不小于零。
【讨论】:
这是三元 if 运算符,基本上等于:
if(x < 0){
this.x = 0;
else
this.x = x;
y 也是如此
它的语法是condition ? if_part : else_part;
【讨论】:
意思是
if (x < 0) {
this.x = 0;
} else {
this.x = x;
}
这基本上意味着this.x = Math.max(0,x)。
【讨论】: