2014-07-02 71 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