Java言語の繰り返し制御構文 - for文

2008/10/03 21:06Update
TAGS: Java | for | 繰り返し構文

Java言語の繰り返し制御構文のfor文について学びます。

使用シーン



例えば、次のように、1から10000までの加算を求めます。
sum=1+2+3+...+10000
※sumは加算値

仮に、次のような計算方法で加算を行います。

sum=0
sum=sum+1=1
sum=sum+2=1+2=3
sum=sum+3=3+3=6
sum=sum+4=6+4=10
...
sum=sum+10000=...

つまり、加算値sumは
sum = sum + i
※i=1,2,3...10000
の繰り返しで求めた結果です。

Java言語は、このような一定の規則に沿った処理を繰り返しで行う必要がある場合、繰り返し構文を使います。

Java言語では、次のような繰り返し構文があります。
◇ for 文
◇ while 文
◇ do ... while 文


本文は for 文について学びます。

繰り返し構文 for 文の形式


■形式1
for (①初期処理; ②繰り返し条件; ④継続処理) {
    ③繰り返し処理
}


①②③④は処理順序を示します。
①は最初の一回しか実行されず、変数の初期化などの処理に用いられます。省略可能です。
②は繰り返し条件となり、条件が「真(true)」の場合のみ、「③本体処理」を行います。条件は「偽(false)」の場合、繰り返し処理を終了します。
③繰り返し処理。実際の処理をここで記述します。
④継続処理。条件変数の変更などの処理に用いられることが多い。省略可能です。

つまり、
①:

⇒ 「繰り返し処理開始」

②繰り返し条件の判定を行います。条件が「偽(false)」の場合、処理終了します。
③繰り返し
④継続処理

⇒ 「繰り返し処理終了」

例:
int sum = 0;
for (int i=1; i<10000; i++) {
    sum = sum + i;
}


■形式2
for (オブジェクト : 集合型のオブジェクト) {
    繰り返し処理
}


※この形式の for 文はJ2SE5.0から使えるようになります。即ち、J2SE5.0以前のバージョンでは、この形式を使えません。
※集合型のオブジェクトの型は、java.lang.Iterableインタフェースを実装したクラス(List、Setなど)、及びObject[]のみとなります。

例:
List <String> nameList = new ArrayList();
nameList.add("Jone");
nameList.add("Mike");

for (String name:nameList) {
    System.out.println(name);
}


サンプル


TestFor.java
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class TestFor {
    public static void main(String[] args) {
        System.out.println("***繰り返し構文***");
        int sum = 0;
        for (int i=1; i<10000; i++) {
            sum = sum + i;
        }
        System.out.println(sum);
        
        System.out.println("***繰り返し構文:List***");
        List <String> nameList = new ArrayList<String>();
        nameList.add("Jone");
        nameList.add("Mike");

        for (String name : nameList) {
            System.out.println(name);
        }

        System.out.println("***繰り返し構文:Set ***");
        Set <String>nameSet = new HashSet<String>();
        nameSet.add("Orange");
        nameSet.add("Apple");

        for (String name : nameSet) {
            System.out.println(name);
        }
        
        System.out.println("***繰り返し構文:Object[]***");
        String []names = {"Jone", "Mike"};

        for (String name : names) {
            System.out.println(name);
        }
    }

}


C:\java -c TestFor.java

C:\java TestFor
***繰り返し構文***
49995000
***繰り返し構文:List***
Jone
Mike
***繰り返し構文:Set ***
Apple
Orange
***繰り返し構文:Object[]***
Jone
Mike

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments

用户名 (required)

Email (will not be published) (required)

URL

Evaluation