ゆるゆるプログラミング

・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と合計値を表示しています。

■関連コンテンツ

while文   繰り返し処理に使用するwhile文について解説
do~while文   繰り返し処理に使用するdo~while文について解説
変数について(7)   Javaで扱う変数について解説
if文   条件による処理の分岐に使用するif文について解説

■新着情報

2017.11.17 N値化 カラー画像をN値化する方法について解説
2017.11.16 最も近い値の取得 指定値に最も近い配列の値を取得する方法を解説
2017.10.02 アルファ値(透過) アルファ値(透過)について

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ