if (condition_1)
do_1;
else if (condition_2)
do_2;
else
do_default;
我明白這一點。如果多個條件返回true,會發生什麼? java在第一個真實條件之後停止還是需要休息?你是否需要在if語句中斷?
if (condition_1)
do_1;
else if (condition_2)
do_2;
else
do_default;
我明白這一點。如果多個條件返回true,會發生什麼? java在第一個真實條件之後停止還是需要休息?你是否需要在if語句中斷?
你不需要多次休息。如果第一種情況爲真,則執行該代碼並跳過其他部分。對於其他情況也是如此。所以else被執行的唯一時間是在if和else條件評估爲false之後。
它將按順序評估布爾值,並且只運行第一個爲真的塊。這就是爲什麼語法使用「else」這個詞。
如果使用switch/case語法的語法if/else,的需要中斷,您可能會感到困惑。
是的,如果你在第二個'if'之前排除了'else'語句,那麼你將得到一個完全不同的控制流 - 你會做第二個'if'測試,不管第一個結果如何。但是在這種情況下通常不允許使用「break」 - 使用「else」。 –
在Java中,使用if-then-else它會在它碰到true語句時立即停止。如果沒有返回true,則執行else語句。
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html
然而,一旦條件滿足,則適當的語句被執行,剩餘的條件沒有進行評價。
Java將執行滿足條件並會退出塊的第一個if條件(在if-else if塊中)。如果沒有條件滿足要求,最後的else語句將被執行。如果沒有else語句,則不會執行任何語句。
break
僅用於switch
語句和循環。如果發現條件,則不會觸發一串if-else
語句。如果你想檢查所有條件,只是不要把else
。
請看看如果否則,如果流程圖
您應該明確注意「假」腿是「其他」腿。否則,優秀的圖形! –
好吧,我看着它。怎麼辦? –
你可以有多個條件返回true,如果你有「水貨」 IFS:
if (cond) {
...
}
if (cond) {
...
}
這是合適的時候,他們不是相互獨家。
關於你的問題,爲什麼不直接執行代碼並自己看看?
它只會執行一個或沒有這些塊。順便說一句,爲什麼你不能執行它並看到結果? –
請使用大括號,即'if(condition_1){0} {0} {0} } else if(condition_2){ do_2; } else { do_default; }' –
@如果語句只有1件雜事,則不需要帽子括號的Guy。 (1個方法調用,1個變量初始化等) –