java什么是“this.x=x<0?0:x;this.y=y<0?0:y;”意思是 3 月,2 周 Questions & Answers 10817 我不知道这意味着什么: this.x = x < 0 ? 0 : x; this.y = y < 0 ? 0 : y; 我找不到这些操作员的意思,任何帮助都将不胜感激
# 1 楼答案 在这种情况下: this.x = x < 0? 0 : x; 这意味着x的值取决于条件(问号x < 0之前的值),如果条件计算为真,x的值是第一个值(条件:之前的值是0),否则是第二个值(条件:之后的值是x) 此外,如果是负数,x的值等于0,除了这种情况,该值本身就是x
# 4 楼答案 这是三元if运算符,基本上等于: if(x < 0){ this.x = 0; else this.x = x; 对y来说也是一样 它的语法是condition ? if_part : else_part;
# 5 楼答案 对。那是爪哇的Terinary (or Conditional) Operator。if和else条件的简写 代码this.x = x < 0? 0 : x;相当于 if (x<0) { this.x = 0 } else{ this.x =x }
# 1 楼答案
在这种情况下:
这意味着x的值取决于条件(问号
x < 0
之前的值),如果条件计算为真,x的值是第一个值(条件:
之前的值是0
),否则是第二个值(条件:
之后的值是x
)此外,如果是负数,x的值等于0,除了这种情况,该值本身就是x
# 2 楼答案
您的类有一个名为
x
的字段this.x
用于明确地引用该字段:如果作用域中有一个本地x
,则需要这样做x < 0 ? 0 : x;
是一个利用三元运算符的习惯用法。它的计算结果不小于零# 3 楼答案
这意味着
这基本上意味着
this.x = Math.max(0,x)
# 4 楼答案
这是三元if运算符,基本上等于:
对
y
来说也是一样它的语法是
condition ? if_part : else_part;
# 5 楼答案
对。那是爪哇的Terinary (or Conditional) Operator。if和else条件的简写
代码
this.x = x < 0? 0 : x;
相当于# 6 楼答案
这意味着:
对
y;
也一样