2014-07-02 72 views
-6

我有这个小公式:JAVA:这个符号是什么意思:'> =','?'和':'?

this.size = size >= MIN_SIZE ? size : MIN_SIZE; 

的值是不是我的问题,但问题是我不明白什么是符号>=是做在那里,也是?:

任何人都可以解释一下那些符号在那里做什么吗? 这不是一个IF语句,它只是一个方法的开始。

+1

这就是所谓的一个三元运算符。 –

+1

可能重复[什么是Java?:操作符被调用,它有什么作用?](http://stackoverflow.com/questions/798545/what-is-the-java-operator-called-and-what-does -it-do) – geoffspear

回答

2
this.size = size >= MIN_SIZE ? size : MIN_SIZE; 

if (size >= MIN_SIZE){ 
     this.size = size; //i.e. keep it. 
}else{ 
    this.size = MIN_SIZE; 
} 

还是在普通的语音快捷键:

value = (condition)? optionA : optionB; 

等于

if (condition){ 
    value = optionA; 
}else{ 
    value = optionB; 
} 
+0

虽然接近,但还不完全。三元条件('?...:')是一个表达式,而如果将它扩展到if-else,它看起来就变成了两条语句。例如,你不能做'someCondition? foo():bar()'作为独立。我只提到它,因为它之前引起了混淆(我不记得我已经看到的与它有关的问题)。 – yshavit

+0

好吧,伙计们,感谢您的时间和你的期望! –

+0

@yshavit hmm ...适合我吗? http://jdoodle.com/a/7M – dognose