Java ループ構造 - for、while、および do...while
順次構造のプログラム文は一度しか実行できません。
同じ操作を複数回実行したい場合は、ループ構造を使用する必要があります。
Java には主に3つのループ構造があります:
- whileループ
- do…whileループ
- forループ
Java5 では、主に配列に使用される拡張 for ループが導入されました。
while ループ
while は最も基本的なループで、その構造は次のとおりです:
ブール式が true である限り、ループは実行され続けます。
例
Test.java ファイルのコード:
上記の例をコンパイルして実行した結果は次のとおりです:
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
do...while ループ
while 文の場合、条件を満たさないとループに入ることができません。しかし、条件を満たさなくても少なくとも1回は実行したい場合があります。
do...while ループは while ループに似ていますが、do...while ループは少なくとも1回は実行される点が異なります。
do {
//代码语句
}while(布尔表达式);
注意:ブール式はループ本体の後ろにあるため、文ブロックはブール式をチェックする前に実行されます。ブール式の値が true の間、文ブロックは実行され続け、ブール式の値が false になると終了します。
例
Test.java ファイルのコード:
上記の例をコンパイルして実行した結果は次のとおりです:
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
for ループ
すべてのループ構造は while または do...while で表すことができますが、Java には別の文――for ループがあり、一部のループ構造をより簡単にします。
for ループの実行回数は実行前に決定されています。構文形式は次のとおりです:
for ループに関する説明は次のとおりです:
- 最初に初期化ステップが実行されます。型を宣言でき、1つ以上のループ制御変数を初期化できます。また、空文にすることもできます。
- 次に、ブール式の値をチェックします。true の場合、ループ本体が実行されます。false の場合、ループは終了し、ループ本体の後の文を実行し始めます。
- ループを1回実行した後、ループ制御変数を更新します。
- 再びブール式をチェックします。ループは上記のプロセスを繰り返し実行します。
例
Test.java ファイルのコード:
上記の例をコンパイルして実行した結果は次のとおりです:
value of x : 10 value of x : 11 value of x : 12 value of x : 13 value of x : 14 value of x : 15 value of x : 16 value of x : 17 value of x : 18 value of x : 19
Java 拡張 for ループ
Java5 では、主に配列に使用される拡張 for ループが導入されました。
Java 拡張 for ループの構文形式は次のとおりです:
宣言文:新しいローカル変数を宣言します。この変数の型は配列要素の型と一致する必要があります。そのスコープはループ文ブロック内に限定され、その値はその時点の配列要素の値と等しくなります。
式:式はアクセスする配列名、または戻り値が配列であるメソッドです。
例
Test.java ファイルのコード:
上記の例をコンパイルして実行した結果は次のとおりです:
10,20,30,40,50, James,Larry,Tom,Lacy,
break キーワード
break は主にループ文または switch 文で使用され、文ブロック全体から抜け出します。
break は最も内側のループを抜け出し、そのループの後にある文を続けて実行します。
構文
break の使い方は非常に簡単で、ループ構造内の1つの文です:
break;
例
Test.java ファイルのコード:
上記の例をコンパイルして実行した結果は次のとおりです:
10 20
continue キーワード
continue は任意のループ制御構造で使用できます。プログラムを直ちに次のループ反復にジャンプさせる働きをします。
for ループでは、continue 文によってプログラムは直ちに更新文にジャンプします。
while または do...while ループでは、プログラムは直ちにブール式の判定文にジャンプします。
構文
continue はループ本体の単純な1つの文です:
continue;
例
Test.java ファイルのコード:
上記の例をコンパイルして実行した結果は次のとおりです:
10 20 40 50その他の拡張