2012-05-13 63 views
-3

是否有安卓/ Java編程類似的結構,因爲在PHP:Android的邏輯,如果別的..運營商

Condition ? [if true, do this] : [else do this] 

有時代碼更易於閱讀的方式比與無盡的if..else條款, 所以如果Java/Android不會提供類似的東西,我會感到驚訝嗎?

+0

發表評論:對不起,我通過在線文檔的許多頁面挖掘,但沒有找到。如果我能找到它,我當然不會在這裏問過,但當然你們​​不可能知道這一點。希望這篇文章能夠用於其他人,因爲答案是針對我的。謝謝你的提議(這樣做可能會阻止我以更低的價格來懲罰我)。 – richey

回答

2

是的,語法是完全一樣的:Condition ? [if true, do this] : [else do this]

+0

哦..酷8-)我沒有想到,認爲它以前沒有工作。現在再試一次,謝謝! – richey

+0

請注意,''做這個'''可以例如* not *是對void方法的調用。三元運算符*不是*語法糖,用於「if ... else ...」。 – aioobe

2

首先,一些重要術語:

  • 聲明是如何做的指令,如System.out.println("hello");Thread.sleep(1000);

  • 表達式,例如x + yfoo() - bar()評估值。

您需要了解這些條款並將它們區分開來。

條件控制結構if (a) { b } else { c }陳述

三元運算符a ? b : c表達(其,正如在PHP的計算結果爲b如果a評估爲真,並且c其它)。

1

在Java中,還存在對if-then-else聲明的簡寫:請參閱Conditional Operators一章以更好地理解。

更清晰,爲@aioobe建議:雖然它是在特定情況下被認爲是速記的if-then-else的結構,? :沒有一個說法,但三元條件運算三元操作

+2

*在Java中,還存在if-then-else語句的簡寫形式* - 您是否指三元a? b:c'算符? – aioobe

+0

是的,因爲發佈的鏈接顯示它。 – rekaszeru

+0

* [...] if-then-else語句的簡寫[...] *,'? :'構造不是一個聲明,所以你可能想修改你的措辭。 – aioobe