Scala IF...ELSE ステートメント


Scala IF...ELSE ステートメントは、1 つ以上のステートメントの実行結果 (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 の場合に Boolean Executed にすることができます。

文法

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 执行该语句块
}

Example

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 ステートメント内に 1 つ以上の 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