Scala基礎チュートリアル(4):if文、ループ文、while文

11434 ワード

次は典型的な決定のIFです...ELSE構造の一般的な形式は、ほとんどのプログラミング言語で使用されています.
if文:
if文には、1つのブール式の後に1つ以上の文が含まれます.
構文:
if文の構文:
if(Boolean_expression)
{
   // Statements will execute if the Boolean expression is true
}

ブール式の値がtrueの場合、if文のコードモジュールが実行されます.そうでない場合、第1のコードif文のセットが終了すると(右括弧の後)、実行されます.
例:
object Test {
   def main(args: Array[String]) {
      var x = 10;
 
      if( x < 20 ){
         println("This is if statement");
      }
   }
}

これにより、次の出力結果が得られます.
C:/>scalac Test.scala
C:/>scala Test
This is if statement
 
C:/>

if...else文:
if文はオプションのelse文に従うことができ、elseブロックが実行されると、ブール式の条件は偽である.
構文:
if...elseの構文は次のとおりです.
if(Boolean_expression){
   //Executes when the Boolean expression is true
}else{
   //Executes when the Boolean expression is false
}

例:
object Test {
   def main(args: Array[String]) {
      var x = 30;
 
      if( x < 20 ){
         println("This is if statement");
      }else{
         println("This is else statement");
      }
   }
}

これにより、次の結果が得られます.
C:/>scalac Test.scala
C:/>scala Test
This is else statement
 
C:/>

if...else if...else文:
if文はオプションのelse ifに従うことができます...else文、これはifを使用するのに非常に役立ちます...else if各種条件宣言をテストした場合.
if,else ifを使用すると,else文にはいくつかの点を覚えておく必要がある.
・ifは、else ifの後ろに付いていなければならないゼロまたはelseを有することができる.
・1つのifは、0〜複数のelse ifを有し、elseの前になければならない.
・1つのelse ifマッチングが成功すると、残りのelse ifまたはelseはマッチングをテストしない.
構文:
if...else if...elseの構文は次のとおりです.
if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
}else if(Boolean_expression 2){
   //Executes when the Boolean expression 2 is true
}else if(Boolean_expression 3){
   //Executes when the Boolean expression 3 is true
}else {
   //Executes when the none of the above condition is true.
}

例:
object Test {
   def main(args: Array[String]) {
      var x = 30;
 
      if( x == 10 ){
         println("Value of X is 10");
      }else if( x == 20 ){
         println("Value of X is 20");
      }else if( x == 30 ){
         println("Value of X is 30");
      }else{
         println("This is else statement");
      }
   }
}

これにより、次の結果が得られます.
C:/>scalac Test.scala
C:/>scala Test
Value of X is 30
 
C:/>

if ... else文のネスト:
それは常に合法的なネストif-else文であり、これは1つのifまたはelse ifを別のifまたはelse if文で使用できることを意味する.
構文:
構文ネストif...elseは次のとおりです.
if(Boolean_expression 1){
   //Executes when the Boolean expression 1 is true
   if(Boolean_expression 2){
      //Executes when the Boolean expression 2 is true
   }
}

else ifをネストできます...elseはif文にあり、逆でもよい.
例:
object Test {
   def main(args: Array[String]) {
        var x = 30;
        var y = 10;
 
         if( x == 30 ){
            if( y == 10 ){
            println("X = 30 and Y = 10");
         }
      }
   }
}

これにより、次の結果が得られます.
C:/>scalac Test.scala
C:/>scala Test
X = 30 and Y = 10
 
C:/>

 
 
コードのいくつかのブロックを複数回実行する必要がある場合があります.一般的に、文は順番に実行されます.1つの関数の最初の文では、まず実行され、次に2番目などです.
プログラミング言語は、より複雑な実行パスを可能にする様々な制御構造を提供します.
ループ文は、複数の文または複数のグループを実行できます.次に、ほとんどのプログラミング言語およびループ文は、一般的に次のようになります.
Scalaプログラミング言語は、次のサイクルタイプの処理サイクル要件を提供します.次のリンクをクリックして詳細を表示します.
ループタイプ
説明
whileサイクル
指定された条件が真である場合、文またはグループを繰り返し宣言します.条件が循環体を実行する前にテストします.
do...whileサイクル
while文のように、ループの最後に条件をテストする点が異なります.
forサイクル
文の複数回のシーケンスを実行し、ループ変数を管理するコードを簡潔に書きます.
ループ制御文:
ループ制御文は、通常の順序で実行されます.実行が範囲から離れると、その範囲内で作成されたすべてのオブジェクトが自動的に破棄されます.しかし、Scalaはbreakやcontinue文をサポートせず、Javaのようにしたいが、Scala 2から.8バージョンから、ループを終了する方法があります.次のリンクをクリックして詳細を表示します.
せいぎょぶん
説明
break文
ループ文を終了し、すぐにループする次の文を実行します.
無限ループ:
1つのサイクルは無限のサイクルになり、条件が永遠に偽ではない場合.Scalaを使用する場合、whileサイクルは無限ループを実現するための最良の方法であり、以下の通りである.
object Test {
   def main(args: Array[String]) {
      var a = 10;
      // An infinite loop.
      while( true ){
         println( "Value of a: " + a );
      }
   }
}

上記のコードを実行すると、無限ループでCtrl+Cキーを押すことで終了します.
 
 
whileループ文は、指定された条件が真の実行対象文である限り、複数回実行されます.
構文:
Scala whileループの構文は次のとおりです.
while(condition){
   statement(s);
}

ここで、宣言は単一の文または文ブロックであってもよい.条件は、任意の式であってもよく、真の値はゼロ以外の値であってもよい.条件がtrueの場合、ループ反復.条件がfaklseである場合、プログラムはループの直後の行に制御される.
フローチャート:
ここでwhileループのキーは、ループが永遠に実行されない可能性があることです.条件テストの結果がfalseの場合、ループはwhileループ後の最初の文をスキップして実行されます.
例:
object Test {
   def main(args: Array[String]) {
      // Local variable declaration:
      var a = 10;
 
      // while loop execution
      while( a < 20 ){
         println( "Value of a: " + a );
         a = a + 1;
      }
   }
}

上記のコードがコンパイルおよび実行されると、次の結果が得られます.
C:/>scalac Test.scala
C:/>scala Test
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
 
C:/>

from: http://www.yiibai.com/scala/scala_basic_syntax.html