Java for文のサンプル(拡張for文/break/continue/ラベル)

Javaのfor文のサンプルです。

目次

for文

for(初期化式  ; 条件式  ;  増減式){
  繰り返される箇所
}
  • 処理を繰り返す時に使用します。最初にforを書くのでfor文と呼ばれます。
  • 初期化式は、最初に1回だけ実行されます。
  • 条件式がtrueの間、処理を繰り返します。
  • 条件式がfalseの場合、ループ処理を終了します。
  • 増減式でカウンター変数/ループ変数の値が変わります。
  • 初期化式にあるループで使用する変数をカウンター変数またはループ変数といいます。

コード

for文のサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    
        for (int i = 0; i < 3; i++) {
            System.out.println(i); // 0 1 2
        }
    }
}

6行目のカウンター変数のiは、0から始まります。増減式(i++)によりiの値は、1ずつ増えていきます。条件式(i <3)がtrueの間は処理を繰り返し、3になるとループ処理を終了します。
7行目は、0,1,2が出力されます。

 

拡張for文

for( データ型 変数1 : 配列やコレクションの変数2 ){
  繰り返される箇所
}
  • 上記for文との違いは、変数の値を加算する処理がありません。
  • 配列やコレクションの要素を順番にアクセスします。
  • for文より記述量が少なくわかりやすいので可能な場面ではこちらを使用しましょう。
  • 拡張for文と呼ばれます。
  • Java 1.5で追加されました。

コード

拡張for文のサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {

		int array[] = {1, 2, 3};

		for (int a: array){
		  System.out.println(a); //1 2 3
		}
 	}
}

6行目は、配列です。
8行目は、拡張for文で配列の全ての要素にアクセスします。

 

for文でbreakを使用する

  • for文でbreakを使用するとループ処理から抜けます。(そのブロックから抜けます)
  • 「{」(波括弧) から「}」までをブロックといいます。

コード

for文でbreakを使用するサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    
        for (int i = 0; i < 3; i++) {

            if (i == 1) {
                break; 
            }
            System.out.println("i=" + i); //i=0
        }
    }
}

9行目のbreakでfor文を抜けます。
11行目は、i=0のみ出力されます。

 

for文が入れ子のときにbreakを使用する

for文が入れ子のときのbreakのサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    
        for (int i = 0; i < 2; i++) { 
  
            for (int j = 0; j < 2; j++) {
                
                if (j == 0) {
                    break; 
                }
                System.out.println("j=" + j); //出力なし
            }
            System.out.println("i=" + i); // i=0 i=1
        }
    }
} 

6,8行目にfor文があり入れ子になっています。
11行目のbreakは、内側のfor文のみ抜けます。

 

for文のbreakでラベルを使用する

ラベル: for(初期化式  ; 条件式  ;  増減式){
  break ラベル;
}

for文のbreakでラベルを使用するサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    
        label1:for(int i = 0; i < 2; i++) { 
  
            for (int j = 0; j < 2; j++) {
                
                if (j == 0) {
                    break label1; 
                }
                System.out.println("j=" + j); //出力なし
            }
            System.out.println("i=" + i); // 出力なし
        }
    }
} 

上記「for文が入れ子のときのbreak文のサンプル」の6,11行目にラベル「label1」を追加しています。
11行目のラベルから6行目のラベルに飛びループを抜けるので出力なしになります。

 

for文でcontinueを使用する

  • for文でcontinueを使用すると、ループ処理の先頭に戻ります。(ブロックの先頭位置に戻ります)
  • 「{」(波括弧) から「}」までをブロックといいます。

コード

for文でcontinueを使用するサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    
        for (int i = 0; i < 3; i++) {

            if (i == 1) {
                continue; 
            }
            System.out.println("i=" + i); // i=0 i=2
        }
    }
}

9行目のcontinueでループ処理の先頭の6行目に戻ります。
11行目は、i=0とi=2が出力されます。

 

for文が入れ子のときにcontinueを使用する

for文が入れ子のときのcontinueのサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    
        for (int i = 0; i < 2; i++) { 
  
            for (int j = 0; j < 2; j++) {
                
                if (j == 0) {
                    continue; 
                }
                System.out.println("j=" + j); //j=1 j=1
            }
            System.out.println("i=" + i); // i=0 i=1
        }
    }
} 

6,8行目にfor文があり入れ子になっています。
11行目のcontinueは、内側のfor文の先頭の8行目に戻ります。

 

for文のcontinueでラベルを使用する

ラベル: for(初期化式  ; 条件式  ;  増減式){
  continue ラベル;
}

for文のcontinueでラベルを使用するサンプルです。

package test1;

public class Test1 {
    public static void main(String[] args) {
    
        label1:for (int i = 0; i < 2; i++) { 
  
            for (int j = 0; j < 2; j++) {
                
                if (j == 0) {
                    continue label1; 
                }
                System.out.println("j=" + j); //出力なし
            }
            System.out.println("i=" + i); // 出力なし
        }
    }
} 

上記「for文が入れ子のときのcontinue文のサンプル」の6,11行目にラベル「label1」を追加しています。
11行目のラベルから6行目のラベルに戻るので出力なしになります。

比較演算子

上記コードの<は比較演算子です。
以下は、Javaの比較演算子の一覧です。

比較演算子 説明
a == b aとbの値は等しい
a != b aとbの値は等しくない
a > b aはbより大きい
a >= b aはbより大きい または 等しい
a < b aはbより小さい
a <= b aはbより小さい または 等しい

無限ループの止め方(Eclipse使用時)

Eclipse使用時に無限ループになった時は、「コンソール」タブにある四角の赤いアイコンを押します。(Eclipse 4.8)

関連の記事

Java if文のサンプル
Java switch文のサンプル
Java while文とdo...while文のサンプル
Java 拡張for文のサンプル

△上に戻る