Scala IF...ELSE ステートメント
Scala IF...ELSE ステートメントは、1 つ以上のステートメントの実行結果 (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 の場合に 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