Scala IF...ELSE 語(yǔ)句
Scala IF...ELSE 語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定執(zhí)行的代碼塊。
可以通過(guò)下圖來(lái)簡(jiǎn)單了解條件語(yǔ)句的執(zhí)行過(guò)程:
if 語(yǔ)句
if 語(yǔ)句有布爾表達(dá)式及之后的語(yǔ)句塊組成。
語(yǔ)法
if 語(yǔ)句的語(yǔ)法格式如下:
if(布爾表達(dá)式) { // 如果布爾表達(dá)式為 true 則執(zhí)行該語(yǔ)句塊 }
如果布爾表達(dá)式為 true 則執(zhí)行大括號(hào)內(nèi)的語(yǔ)句塊,否則跳過(guò)大括號(hào)內(nèi)的語(yǔ)句塊,執(zhí)行大括號(hào)之后的語(yǔ)句塊。
實(shí)例
object Test { def main(args: Array[String]) { var x = 10; if( x < 20 ){ println("x < 20"); } } }
執(zhí)行以上代碼,輸出結(jié)果為:
$ scalac Test.scala $ scala Test x < 20
if...else 語(yǔ)句
if 語(yǔ)句后可以緊跟 else 語(yǔ)句,else 內(nèi)的語(yǔ)句塊可以在布爾表達(dá)式為 false 的時(shí)候執(zhí)行。
語(yǔ)法
if...else 的語(yǔ)法格式如下:
if(布爾表達(dá)式){ // 如果布爾表達(dá)式為 true 則執(zhí)行該語(yǔ)句塊 }else{ // 如果布爾表達(dá)式為 false 則執(zhí)行該語(yǔ)句塊 }
實(shí)例
object Test { def main(args: Array[String]) { var x = 30; if( x < 20 ){ println("x 小于 20"); }else{ println("x 大于 20"); } } }
執(zhí)行以上代碼,輸出結(jié)果為:
$ scalac Test.scala $ scala Test x 大于 20
if...else if...else 語(yǔ)句
if 語(yǔ)句后可以緊跟 else if...else 語(yǔ)句,在多個(gè)條件判斷語(yǔ)句的情況下很有用。
語(yǔ)法
if...else if...else 語(yǔ)法格式如下:
if(布爾表達(dá)式 1){ // 如果布爾表達(dá)式 1 為 true 則執(zhí)行該語(yǔ)句塊 }else if(布爾表達(dá)式 2){ // 如果布爾表達(dá)式 2 為 true 則執(zhí)行該語(yǔ)句塊 }else if(布爾表達(dá)式 3){ // 如果布爾表達(dá)式 3 為 true 則執(zhí)行該語(yǔ)句塊 }else { // 如果以上條件都為 false 執(zhí)行該語(yǔ)句塊 }
實(shí)例
object Test { def main(args: Array[String]) { var x = 30; if( x == 10 ){ println("X 的值為 10"); }else if( x == 20 ){ println("X 的值為 20"); }else if( x == 30 ){ println("X 的值為 30"); }else{ println("無(wú)法判斷 X 的值"); } } }
執(zhí)行以上代碼,輸出結(jié)果為:
$ scalac Test.scala $ scala Test X 的值為 30
if...else 嵌套語(yǔ)句
if...else 嵌套語(yǔ)句可以實(shí)現(xiàn)在 if 語(yǔ)句內(nèi)嵌入一個(gè)或多個(gè) if 語(yǔ)句。
語(yǔ)法
if...else 嵌套語(yǔ)句語(yǔ)法格式如下:
if(布爾表達(dá)式 1){ // 如果布爾表達(dá)式 1 為 true 則執(zhí)行該語(yǔ)句塊 if(布爾表達(dá)式 2){ // 如果布爾表達(dá)式 2 為 true 則執(zhí)行該語(yǔ)句塊 } }
else if...else 的嵌套語(yǔ)句 類似 if...else 嵌套語(yǔ)句。
實(shí)例
object Test { def main(args: Array[String]) { var x = 30; var y = 10; if( x == 30 ){ if( y == 10 ){ println("X = 30 , Y = 10"); } } } }
執(zhí)行以上代碼,輸出結(jié)果為:
$ scalac Test.scala $ scala Test X = 30 , Y = 10