Java語(yǔ)言中常用的條件語(yǔ)句有if和switch。if語(yǔ)句用于判斷一個(gè)條件是否成立,成立則執(zhí)行某些代碼,不成立則執(zhí)行另外一些代碼。switch語(yǔ)句也是一種條件語(yǔ)句,但它適用于多個(gè)條件之間的選擇,將滿足不同條件的代碼分別執(zhí)行。
if (條件表達(dá)式) { 執(zhí)行語(yǔ)句1; } else { 執(zhí)行語(yǔ)句2; }
在if語(yǔ)句中,如果條件表達(dá)式的值為true,則執(zhí)行“執(zhí)行語(yǔ)句1”。如果條件表達(dá)式的值為false,則執(zhí)行“執(zhí)行語(yǔ)句2”。else部分是可選的,可以省略。
switch (表達(dá)式) { case 常量1: 執(zhí)行語(yǔ)句1; break; case 常量2: 執(zhí)行語(yǔ)句2; break; default: 執(zhí)行語(yǔ)句3; break; }
在switch語(yǔ)句中,首先計(jì)算表達(dá)式的值。然后將表達(dá)式的值與各個(gè)case后的常量值進(jìn)行比較,直到找到一個(gè)匹配的常量值,執(zhí)行該常量對(duì)應(yīng)的代碼塊。如果沒(méi)有匹配的常量值,則執(zhí)行default對(duì)應(yīng)的代碼塊。
if語(yǔ)句適用于針對(duì)一個(gè)條件進(jìn)行判斷時(shí),而switch語(yǔ)句適用于多個(gè)條件之間的選擇。在if語(yǔ)句中,可以使用任意布爾表達(dá)式作為條件,而switch語(yǔ)句中只能使用固定常量值作為條件。if語(yǔ)句用于判斷條件的結(jié)果,而switch語(yǔ)句用于判斷變量的值。
在實(shí)際開(kāi)發(fā)中,對(duì)于簡(jiǎn)單的條件判斷,應(yīng)該使用if語(yǔ)句;對(duì)于多分支選擇的場(chǎng)景,應(yīng)該使用switch語(yǔ)句。但是,在Java 7之后,對(duì)于switch語(yǔ)句也進(jìn)行了一定的升級(jí),允許使用字符串和枚舉類型作為條件,方便開(kāi)發(fā)者的使用。