English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala の IF…ELSE 文

ScalaのIF...ELSEステートメントは、一条または複数のステートメントの実行結果(TrueまたはFalse)に基づいて実行されるコードブロックを決定します。

以下の図を参照して条件ステートメントの実行プロセスを簡単に理解できます:


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 文内に 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