我不知道这是什么意思:
this.x = x < 0 ? 0 : x;
this.y = y < 0 ? 0 : y;
我找不到这些操作符的含义,非常感谢任何帮助!
答案 0 :(得分:7)
是。 java中的Terinary (or Conditional) Operator。 if和else条件的简写。
代码this.x = x < 0? 0 : x;
等同于
if (x<0) {
this.x = 0
} else{
this.x =x
}
答案 1 :(得分:2)
您的班级有一个名为x
的字段。 this.x
用于明确指代该字段:如果您的范围中有本地x
,则需要执行此操作。
x < 0 ? 0 : x;
是一个利用三元运算符的习语。评估结果不低于零。
答案 2 :(得分:2)
在这种情况下:
this.x = x < 0? 0 : x;
这意味着 x 的值取决于条件(问号x < 0
之前的那个), x 的值是第一个(如果条件的计算结果为:
,则为0
之前的值),否则为第二个值(:
之后的值x
本身)。
此外, x 的值等于 0 如果是负数,除此之外,值 x 本身
答案 3 :(得分:1)
这意味着
if (x < 0) {
this.x = 0;
} else {
this.x = x;
}
这基本上意味着this.x = Math.max(0,x)
。
答案 4 :(得分:1)
这是三元if运算符,基本上等于:
if(x < 0){
this.x = 0;
else
this.x = x;
y
,其语法为condition ? if_part : else_part;
答案 5 :(得分:1)
意味着:
if (x < 0) {
this.x = 0;
} else {
this.x = x;
}
y;
答案 6 :(得分:1)
条件运算符(?:)会返回两个值中的一个,具体取决于布尔表达式的值。
语法:condition ? first_expression : second_expression;
this.x = x < 0? 0 : x;
this.y = y < 0? 0 : y;
表示如果x <0,如果为真,那么它将返回0,否则返回x
因此x
的值取决于条件。
参考?: Operator 。
希望这可以帮到你!
答案 7 :(得分:1)
它被称为三元运营商。
(condition) ? [if true]
: [if false]
在你的情况下:
this.x = x < 0? 0 : x;
this.y = y < 0? 0 : y;
答案 8 :(得分:1)
这是速记条件运算符。
声明
int n = x > 0 ? x : 0
如果n
返回true,则会将x
设置为x > 0
。否则,n
设置为0
。