JAVA循環構造を分析する


シーケンス構造のプログラム文は一回だけ実行されます。同じ操作を複数回実行するには、ループ構造が必要です。
Javaには三つの主要な循環構造がある。
  • whileサイクル
  • do…whileサイクル
  • forサイクル
  • Java 5には、行列のための主な拡張型forサイクルが導入されている。
    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("
    "); } } }
    上記の例をコンパイルして実行した結果は以下の通りです。
    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
    ド…whileサイクル
    while文では条件を満たさないとループに入れません。しかし、時には条件を満たさなくても、少なくとも一回実行する必要があります。
    ド…whileサイクルはwhileサイクルと似ていますが、違っています。do…whileサイクルは少なくとも一回実行します。
    
    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("
    "); }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の場合は、ループが終了し、循環体の後のステートメントが実行されます。
  • は一回のループを実行した後、循環制御変数を更新します。
  • は、ブール表現を再検出する。上記のプロセスを繰り返し実行します。
  • 
    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("
    "); } } }
    上記の例をコンパイルして実行した結果は以下の通りです。
    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サイクル
    Java 5は配列の拡張型forサイクルを主に導入した。
    Java拡張for循環文法フォーマットは以下の通りです。
    
    for(     :    )
    {
      //    
    }
    宣言文:新しい局所変数を宣言します。この変数のタイプは配列要素のタイプと一致しなければなりません。その作用領域は、この時点の配列要素の値に等しい循環ステートメントブロックに限定される。
    表式:表式は、アクセスする配列名、または行列の値を返す方法です。
    
    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("
    "); 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 ) {
         // x    30      
         if( x == 30 ) {
          break;
         }
         System.out.print( x );
         System.out.print("
    "); } } }
    上記の例をコンパイルして実行した結果は以下の通りです。
    10
    20
    continueキーワード
    continueは任意の循環制御構造に適用される。は、プログラムを次のループにすぐに移動させる反復です。
    forループで、continue文はプログラムを更新文にすぐにジャンプさせます。
    whileまたはdo…whileループでは、プログラムはすぐにブール式の判定文にジャンプします。
    構文
    continueは循環体の中の簡単な語句です。
    
    continue;
    
    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("
    "); } } }
    前の例をコンパイルして実行した結果は以下の通りです。
    10
    20
    40
    50
    以上はJAVA循環構造の詳しい内容を分析しました。JAVA循環構造に関する資料は他の関連記事に注目してください。