什么是"this.x = x <0?0:x; this.y = y <0?0:y;" 意思?

Viv*_* Xu -2 java

我不知道这意味着什么:

this.x = x < 0 ? 0 : x;
this.y = y < 0 ? 0 : y;
Run Code Online (Sandbox Code Playgroud)

我找不到这些运营商的意思,任何帮助都将不胜感激!

Sur*_*tta 7

是.这Terinary(或条件)运算符在java中.if和else条件的简写.

代码this.x = x < 0? 0 : x;相当于

if (x<0) {
    this.x = 0
} else{
    this.x =x
}
Run Code Online (Sandbox Code Playgroud)

  • +1 ..虽然*Jon Skeet*更喜欢*条件运算符*而不是*ternery*.:P (2认同)
  • @SlodgeMonster然而,[JLS](http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.25)将其称为*条件运算符*,所以我我说它是Java中的官方名称. (2认同)