Javaプログラミング学習サイト ゆるゆるプログラミング

2020/03/23 公開

・for文

for文は、処理を繰り返すために使用します。繰り返す回数は、初期化式継続条件式変化式で決まり、その一般的な書き方は、以下のとおりです。

以下は、{ ~ }の波括弧で囲まれている範囲の全ての処理文を繰り返し実行する書き方です。

    for ( 初期化式; 継続条件式; 変化式 ) {
        処理文1
        処理文2
           :
    }

以下は、波括弧を使わないで1行の処理文を繰り返し実行する書き方です。

    for ( 初期化式; 継続条件式; 変化式 ) 
        処理文

ここからは、for文を使用したサンプルのJavaソースコードで使い方を解説していきます。以下がそのソースコードで、処理を10回繰り返すようにしたものです。

ForSample1.java ← クリックしてダウンロードページに移動
001:    public class ForSample1 {
002:    	public static void main( String[] args ) {
003:    		// 10回の繰り返し
004:    		for ( int i = 1; i <= 10; ++ i ) {
005:    			// 処理文
006:    			System.out.println( "繰り返し回数:" + i );
007:    		}
008:    	}
009:    }

出力結果

繰り返し回数:1
繰り返し回数:2
繰り返し回数:3
繰り返し回数:4
繰り返し回数:5
繰り返し回数:6
繰り返し回数:7
繰り返し回数:8
繰り返し回数:9
繰り返し回数:10

003:    		// 10回の繰り返し
004:    		for ( int i = 1; i <= 10; ++ i ) {

int i=1は、初期化式で、整数型の変数iに1を代入しています。i<=10は、継続条件式で、変数iが10以下であれば繰り返し処理を継続することを表しています。++iは、変化式で、変数iに1を足しています。これをi++ i=i+1と書いても同じ動作をします。

005:    			// 処理文
006:    			System.out.println( "繰り返し回数:" + i );

System.out.println( "繰り返し回数:" + i );処理文で、繰り返し処理される文です。この例では、処理文は1行だけですが、{ ~ }の波括弧で囲まれている範囲に複数行の処理文を書くことができます。波括弧が無いfor文は、1行の処理文を繰り返す処理になります。

次にfor文の継続条件式が決められない場合について、解説します。

以下のサンプルソースコードは、1+2+3+・・・+nと足した合計値を求め、その値が5000以上になったときのnと、その合計値を表示するものです。

ForSample2.java ← クリックしてダウンロードページに移動
001:    public class ForSample2 {
002:    	public static void main( String[] args ) {
003:    		// 使用する変数を宣言
004:    		int n, total;
005:    
006:    		// 合計値totalに0を代入
007:    		total = 0;
008:    
009:    		// 繰り返し処理
010:    		for ( n = 1; ; ++ n ) {
011:    			// 処理文
012:    			// 変数totalにnを足していく
013:    			total = total + n;
014:    			// 変数totalが5000以上になったらforを終了
015:    			if ( 5000 <= total ) break;
016:    		}
017:    		// 結果の表示
018:    		System.out.println( "n   :" + n );
019:    		System.out.println( "合計:" + total );
020:    	}
021:    }

出力結果

n   :100
合計:5050

003:    		// 使用する変数を宣言
004:    		int n, total;

使用する変数を宣言しています。

006:    		// 合計値totalに0を代入
007:    		total = 0;

合計値を格納する変数totalに0を代入しています。

009:    		// 繰り返し処理
010:    		for ( n = 1; ; ++ n ) {

n=1は、初期化式で、整数型の変数nに1を代入しています。継続条件式には何も書いていません。++nは、変化式で、変数nに1を足しています。このように継続条件式が省略されたfor文は終了することが出来ないので、無限ループと呼ばれます。

012:    			// 変数totalにnを足していく
013:    			total = total + n;

合計値totalにnを足しています。

014:    			// 変数totalが5000以上になったらforを終了
015:    			if ( 5000 <= total ) break;

if文で、合計値totalが5000以上かどうかを判定し、5000以上であればbreak文for文を抜けます。

017:    		// 結果の表示
018:    		System.out.println( "n   :" + n );
019:    		System.out.println( "合計:" + total );

nと合計値を表示しています。

■関連コンテンツ

Javaの変数 Javaで扱う変数について解説
break文 ループから処理から抜け出る
continue文 ループの先頭に戻る
for文の中にfor文-画像

多重ループ

for文などのループの中にループをいれたプログラムの構造、多重ループについて説明しています。

条件による処理の分岐に使用するif文について解説-画像

if文

条件による処理の分岐に使用するif文について解説

繰り返し処理に使用するwhile文について解説-画像

while文

繰り返し処理に使用するwhile文について解説

繰り返し処理に使用するdo~while文について解説-画像

do~while文

繰り返し処理に使用するdo~while文について解説

九九(くく)の表を作る方法を解説-画像

九九(くく)の表を作る

九九(くく)の表を作る方法を解説

掛け算なしで九九(くく)の表を作成-画像

九九(くく)の表を作る2

掛け算を使わないで九九(くく)の表をコンソール出力する方法を説明

2次元配列で九九(くく)の表-画像

九九(くく)の表を作る3

九九の計算結果を2次元配列に入れて、その値をコンソール出力する方法を説明

三角形を描く(テキスト版) その1-画像

三角形を描く(テキスト版) その1

for文を使ってテキストの直角三角形を表現する方法を解説しています。底辺が下になる直角三角形です。

■新着情報

2021.03.31 神経衰弱 1人で神経衰弱
2021.03.10 最も近い座標を探す 1番近い座標は?
2021.03.09 フィボナッチ数列(配列) フィボナッチ数列(配列)

■広告

 

 

 

 

 

 

 

 

Topへ