ScalaのIF ... ELSEステートメント
ScalaのIFが...コードのELSE文ブロックは、(TrueまたはFalse)の1つ以上の文の結果によって決定されます。
次の図は、条件文の実行の単純な理解することができます:
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
場合... else文
if文は、else文を続けることができた後、文はときにブール式がfalseに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
...他の場合... else文の場合
場合... 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
... else文が入れ子になっている場合
場合は入れ子になった... else文は、if文の中でif文の一つ以上に埋め込むことができます。
文法
次のように場合は入れ子になった... else文の構文は次のとおりです。
if(布尔表达式 1){ // 如果布尔表达式 1 为 true 则执行该语句块 if(布尔表达式 2){ // 如果布尔表达式 2 为 true 则执行该语句块 } }
それ以外の場合... else文は、同じような、ネストされた場合... 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