制御構文

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

もし(if)

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

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

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

Java
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." を表示します。

Java
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) の実行を繰り返します。

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

繰り返し(while)

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

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

繰り返し(do while)

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

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

分岐(switch)

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

Java
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!! を書き出します。

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

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

Java
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 のループに移ります。

Java
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日
[戻る] [前に] [次に]