### 制御構文

[戻る] [前に] [次に]

#### ■ もし（if）

if 文は、「もし・・・なら」という制御を実現します。次の例では、もし a の値が 3 であれば、"a is 3." を表示します。

    int a = 3;
    if (a == 3) {
        System.out.println("a is 3.");
    }

else は、「さもなくば」を意味します。次の例では、もし a の値が 3 であれば "a is 3." を、さもなくば "a is not 3." を表示します。

    int a = 3;
    if (a == 3) {
        System.out.println("a is 3.");
    } else {
        System.out.println("a is not 3.");
    }

else if を繰り返して使用することもできます。次の例では、もし a が 3 であれば "a is 3." を、a が 4 であれば "a is 4." を、さもなくば "a is unknown." を表示します。

    int a = 3;
    if (a == 3) {
        System.out.println("a is 3.");
    } else if (a == 4) {
        System.out.println("a is 4.");
    } else {
        System.out.println("a is unknown.");
    }

#### ■ 繰り返し（for）

for 文は処理を繰り返して実行する場合に用います。下記の例は、println() を 10回繰り返す例です。最初に i に 0 を代入し、i の値を ++ でインクリメントしながら、i の値が 10 よりも小さい間、System.out.println(i) の実行を繰り返します。

    int i;
    for (i = 0; i < 10; i++) {
        System.out.println(i);
    }

#### ■ 繰り返し（while）

while 文は、条件が真である間、処理を繰り返します。下記の例では、i の値が 10 よりも小さい間、println() の実行を繰り返します。

    int i = 0;
    while (i < 10) {
        System.out.println(i);
        i++;
    }

#### ■ 繰り返し（do while）

do while 文は、while 文と似ていますが、条件が偽でも最低 1回は処理を実行する点がことなります。

    int i = 0;
    do {
        System.out.println(i);
        i++;
    } while (i < 10);

#### ■ 分岐（switch）

switch 文は、条件で指定した値に応じて処理を振り分けます。条件には数値のみを指定することができます。case 文の値には固定値を指定します。実行時に値の変わる変数を指定することはできません。default は、他のどの条件にもマッチしなかった場合に実行されます。

    int n = 3;
    switch (n) {
    case 1:
        System.out.println("n is one.");
        break;
    case 2:
        System.out.println("n is two.");
        break;
    case 3:
        System.out.println("n is tree.");
        break;
    default:
        System.out.println("unknwon");
        break;
    }

#### ■ 処理を抜ける（break）

break は、最も内側の for ループ、while ループ、do ループや、case 文の残りの処理を飛ばし、処理を抜けます。Perl言語の last文に相当します。下記の例では、i の値が 5 の時に for ループを抜け出し、finish!! を書き出します。

    for (i = 0; i < 10; i++) {
        if (i == 5) {
            break;
        }
        System.out.println(i);
    }
    System.out.println("finish!!");

ラベルを指定することにより、多重のループを一度に抜け出すこともできます。下記の例では、i == 1、j == 5 の時に、loop1 のラベルで指定した外側の for ループを抜けます。ラベルには任意の名前をつけることができます。

    loop1:  for (i = 0; i < 10; i++) {
                for (j = 0; j < 10; j++) {
                    if ((i == 1) && (j == 5)) {
                        break loop1;
                    }
                }
            }

#### ■ 処理を繰り返す（continue）

continue は、最も内側の for ループ、while ループ、do ループ文の残りの処理を飛ばし、次のループを開始します。Perl言語の next文に相当します。下記の例では、i の値が 5 の時に println() の実行をスキップし、i が 6 のループに移ります。

    for (i = 0; i < 10; i++) {
        if (i == 5) {
            continue;
        }
        System.out.println(i);
    }

break と同様に、ラベルで指定した多重ループの外側のループに作用させることも可能です。

#### ■ ジャンプ（goto）

Java では goto 文はキーワードとして定義されていますが、サポートされていません。

Copyright (C) 2004 杜甫々
http://www.tohoho-web.com/java/flow.htm
初版：2004年6月26日、最終更新：2004年6月26日
[戻る] [前に] [次に]