Scala IF...ELSE 語句

Scala IF...ELSE 語句是通過一條或多條語句的執(zhí)行結(jié)果(True或者False)來決定執(zhí)行的代碼塊。

可以通過下圖來簡單了解條件語句的執(zhí)行過程:


if 語句

if 語句有布爾表達(dá)式及之后的語句塊組成。

語法

if 語句的語法格式如下:

if(布爾表達(dá)式)
{
   // 如果布爾表達(dá)式為 true 則執(zhí)行該語句塊
}

如果布爾表達(dá)式為 true 則執(zhí)行大括號內(nèi)的語句塊,否則跳過大括號內(nèi)的語句塊,執(zhí)行大括號之后的語句塊。

實(shí)例

object Test {
   def main(args: Array[String]) {
      var x = 10;

      if( x < 20 ){
         println("x < 20");
      }
   }
}

運(yùn)行實(shí)例 ?

執(zhí)行以上代碼,輸出結(jié)果為:

$ scalac Test.scala 
$ scala Test
x < 20

if...else 語句

if 語句后可以緊跟 else 語句,else 內(nèi)的語句塊可以在布爾表達(dá)式為 false 的時候執(zhí)行。

語法

if...else 的語法格式如下:

if(布爾表達(dá)式){
   // 如果布爾表達(dá)式為 true 則執(zhí)行該語句塊
}else{
   // 如果布爾表達(dá)式為 false 則執(zhí)行該語句塊
}

實(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 語句

if 語句后可以緊跟 else if...else 語句,在多個條件判斷語句的情況下很有用。

語法

if...else if...else 語法格式如下:

if(布爾表達(dá)式 1){
   // 如果布爾表達(dá)式 1 為 true 則執(zhí)行該語句塊
}else if(布爾表達(dá)式 2){
   // 如果布爾表達(dá)式 2 為 true 則執(zhí)行該語句塊
}else if(布爾表達(dá)式 3){
   // 如果布爾表達(dá)式 3 為 true 則執(zhí)行該語句塊
}else {
   // 如果以上條件都為 false 執(zhí)行該語句塊
}

實(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("無法判斷 X 的值");
      }
   }
}

執(zhí)行以上代碼,輸出結(jié)果為:

$ scalac Test.scala 
$ scala Test
X 的值為 30

if...else 嵌套語句

if...else 嵌套語句可以實(shí)現(xiàn)在 if 語句內(nèi)嵌入一個或多個 if 語句。

語法

if...else 嵌套語句語法格式如下:

if(布爾表達(dá)式 1){
   // 如果布爾表達(dá)式 1 為 true 則執(zhí)行該語句塊
   if(布爾表達(dá)式 2){
      // 如果布爾表達(dá)式 2 為 true 則執(zhí)行該語句塊
   }
}

else if...else 的嵌套語句 類似 if...else 嵌套語句。

實(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