Scala IF...ELSE 語句


Scala IF...ELSE 語句是透過一條或多條語句的執行結果(True或False)來決定執行的程式碼區塊。

可以透過下圖來簡單了解條件語句的執行過程:

if.png


#if 語句

if 語句有布林表達式及之後的語句塊組成。

語法

if 語句的語法格式如下:

if(布尔表达式)
{
   // 如果布尔表达式为 true 则执行该语句块
}

如果布林表達式為true 則執行大括號內的語句區塊,否則跳過大括號內的語句區塊,執行大括號之後的語句區塊。

實例

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

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

執行實例»

執行上述程式碼,輸出結果為:

$ scalac Test.scala 
$ scala Test
x < 20

if.. .else 語句

if 語句後可以緊接else 語句,else 內的語句區塊可以在布林表達式為false 的時候執行。

語法

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

if(布尔表达式){
   // 如果布尔表达式为 true 则执行该语句块
}else{
   // 如果布尔表达式为 false 则执行该语句块
}

實例

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

      if( x < 20 ){
         println("x 小于 20");
      }else{
         println("x 大于 20");
      }
   }
}

執行上述程式碼,輸出結果為:

$ scalac Test.scala 
$ scala Test
x 大于 20

if...else if...else 語句

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

語法

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

if(布尔表达式 1){
   // 如果布尔表达式 1 为 true 则执行该语句块
}else if(布尔表达式 2){
   // 如果布尔表达式 2 为 true 则执行该语句块
}else if(布尔表达式 3){
   // 如果布尔表达式 3 为 true 则执行该语句块
}else {
   // 如果以上条件都为 false 执行该语句块
}

實例

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 的值");
      }
   }
}

執行上述程式碼,輸出結果為:

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

if...else 巢狀語句

if...else 巢狀語句可以實作在if 語句內嵌入一個或多個if 語句。

語法

if...else 巢狀語句語法格式如下:

if(布尔表达式 1){
   // 如果布尔表达式 1 为 true 则执行该语句块
   if(布尔表达式 2){
      // 如果布尔表达式 2 为 true 则执行该语句块
   }
}

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

實例

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

         if( x == 30 ){
            if( y == 10 ){
            println("X = 30 , Y = 10");
         }
      }
   }
}

執行上述程式碼,輸出結果為:

$ scalac Test.scala 
$ scala Test
X = 30 , Y = 10