Javaループ構造


シーケンシャル構造のプログラムステートメントは 1 回のみ実行できます。同じ操作を複数回実行したい場合は、ループ構造を使用する必要があります。

Java には 3 つの主要なループ構造があります:

  • while ループ

  • do…while ループ

  • for ループ

拡張された for ループは、主に配列のために Java5 で導入されました。


while ループ

while は最も基本的なループであり、その構造は次のとおりです:

while( 布尔表达式 ) {
	//循环内容
}

ブール式が true である限り、ループ本体は実行を続けます。

public class Test {
   public static void main(String args[]) {
      int x = 10;
      while( x < 20 ) {
         System.out.print("value of x : " + x );
         x++;
         System.out.print("\n");
      }
   }
}

上記例のコンパイル結果と実行結果は以下の通りです:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

do...whileループ

while文は、条件が満たされないとループに入ることができません。ただし、条件が満たされない場合でも、少なくとも 1 回は実行する必要がある場合があります。

do…while ループは while ループに似ていますが、異なる点は do…while ループが少なくとも 1 回実行されることです。

do {
       //代码语句
}while(布尔表达式);

注: ブール式はループ本体の後にあるため、ブール式を検出する前にステートメント ブロックが実行されています。 ブール式が true と評価される場合、ステートメント ブロックはブール式が false と評価されるまで実行されます。

public class Test {

   public static void main(String args[]){
      int x = 10;

      do{
         System.out.print("value of x : " + x );
         x++;
         System.out.print("\n");
      }while( x < 20 );
   }
}

上記の例のコンパイルと実行結果は次のとおりです:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

forループ

すべてのループ構造はwhileまたはdo...whileで表現できますが、Javaは別のステートメント、forループを提供します。 , 一部のループ構造を簡素化しました。

forループの実行回数は実行前に決定されます。構文形式は次のとおりです:

for(初始化; 布尔表达式; 更新) {
    //代码语句
}

for ループについては次の指示があります:

  • 最初に初期化ステップが実行されます。型は宣言できますが、1 つ以上のループ制御変数を初期化することも、空のステートメントにすることもできます。

  • 次に、ブール式の値をテストします。 true の場合、ループ本体が実行されます。 false の場合、ループは終了し、ループ本体に続くステートメントの実行が開始されます。

  • ループを 1 回実行した後、ループ制御変数を更新します。

  • ブール式をもう一度確認してください。以上の処理をループで実行します。

public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x+1) {
         System.out.print("value of x : " + x );
         System.out.print("\n");
      }
   }
}

上記の例のコンパイルと実行結果は次のとおりです:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

Javaの拡張forループ

Java5では、主に配列に使用される拡張forループが導入されています。

Java の拡張 for ループ構文形式は次のとおりです:

for(声明语句 : 表达式)
{
   //代码句子
}

宣言ステートメント: 新しいローカル変数を宣言します。変数の型は配列要素の型と一致する必要があります。その範囲はループ文ブロックに限定されており、その値はこの時点の配列要素の値と等しくなります。

Expression: Expression は、アクセスされる配列、または配列を返すメソッドの名前です。

public class Test {

   public static void main(String args[]){
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ){
         System.out.print( x );
         System.out.print(",");
      }
      System.out.print("\n");
      String [] names ={"James", "Larry", "Tom", "Lacy"};
      for( String name : names ) {
         System.out.print( name );
         System.out.print(",");
      }
   }
}

上記の例のコンパイル結果と実行結果は次のとおりです:

10,20,30,40,50,
James,Larry,Tom,Lacy,

breakキーワード

breakは、主にループ文やswitch文で文ブロック全体から飛び出すために使用されます。

break は、最も内側のループから飛び出し、ループの下のステートメントの実行を続けます。

文法

break の使用法は非常に簡単で、ループ構造内のステートメントです:

break;

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      break;
         }
         System.out.print( x );
         System.out.print("\n");
      }
   }
}

上記の例のコンパイルと実行結果は次のとおりです:

10
20

continue キーワード

continue は、あらゆるループ制御構造に適用できます。この機能は、プログラムがループの次の反復にすぐにジャンプできるようにすることです。

for ループでは、 continue ステートメントにより、プログラムはすぐに update ステートメントにジャンプします。

while または do...while ループでは、プログラムはすぐにブール式の判定文にジャンプします。

文法

continue はループ本体内の単純なステートメントです:

continue;

Example

public class Test {

   public static void main(String args[]) {
      int [] numbers = {10, 20, 30, 40, 50};

      for(int x : numbers ) {
         if( x == 30 ) {
	      continue;
         }
         System.out.print( x );
         System.out.print("\n");
      }
   }
}

上記の例のコンパイル結果と実行結果は次のとおりです:

10
20
40
50