English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
ScalaのIF...ELSEステートメントは、一条または複数のステートメントの実行結果(TrueまたはFalse)に基づいて実行されるコードブロックを決定します。
以下の図を参照して条件ステートメントの実行プロセスを簡単に理解できます:
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ステートメントが続くことができます。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(布尔表达式 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 文内に 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