この記事の目次
1. for文とは
for文は同じ処理を指定した回数だけ繰り返し実行する構文です。
for文は次のように記述します:
for(初期化 ; 繰り返し条件 ; 更新処理){ ブロック//ここに、条件が成り立つ時に繰り返したい処理 }例題 : for文を利用して、「こんにちは」の表示を10回繰り返す
例
package helloworld; public class HelloWorld { public static void main(String[] args) { int i; for (i=0;i<10;i++){ System.out.println("こんにちは"); } } }
2. for文の各部の意味
for文に続く括弧の中は、上の例題のように、セミコロンによって、区切られた3つの部分(①初期値、②繰り返し条件、③更新処理)から構成されています。これからそれぞれの部分について詳しく見てみましょう。
● 初期値
例:
for(int i = 0 ; ... ; ...){
:上の例題は変数iをfor文の外に宣言してしまったので、ここで宣言しなくてもいいですが、普通はループ変数はループだけに使いたいため、int i = 0
新しく宣言しましょう。for( i = 0 ; ... ; ...){
:もし、変数を無駄に増やしたくない、計算量を節約したければ、for文外の変数を使用し続けてもいいですが、プログラムの全体に影響を及ぼさないようにしましょう。● 繰り返し条件
for(... ; i<10 ; ...){
は i<10
がtrueの間に、{}ブロック内の命令を繰り返し実行します。● 更新処理
}
まで到着した直後に自動的に実行される文です。例:
for(... ;...;i++){
:ループ変数iを1だけ増やして、繰り返し条件がどう判定するかの段階に進みます。for(... ;...;i += 2){
:ループ変数iを2だけ増やして、繰り返し条件がどう判定するかの段階に進みます。3. ループを制御する方法
● BREAK文でループを抜ける方法
for文の中でbreak文が実行されると、for文の残りの処理を終了し、ループから抜けます。
記事の先頭の例題から改造された次のプログラムで確認しましょう。
例
package helloworld; public class HelloWorld { public static void main(String[] args) { int i; for (i=0;i<10;i++){ if(i == 3){ break; } System.out.println("こんにちは"); } } }
i =3
の時にbreak文
を実行するという文を追加したことで、i = 0,1,2の時だけにSystem.out.println("こんにちは")
を実行して、結局、「こんにちは」は3回しか表示していませんでした。● continue文で処理をスキップする方法
「continue」文を実行すると、ループ内のそれ以降の処理は行わずに,ループの最初の処理から再び実行されます。(1つのループをスキップする)
記事の先頭の例題から改造された次のプログラムで確認しましょう。
例
package helloworld; public class HelloWorld { public static void main(String[] args) { int i; for (i=0;i<10;i++){ if(i >= 3 && i<=8){ continue; } System.out.println("こんにちは"); } } }
i >= 3 && i<=8
の時にcontinue文
を実行するという文を追加したことで、i = 0,1,2,9の時だけにSystem.out.println("こんにちは")
を実行して、結局、「こんにちは」は4回しか表示していませんでした。注意 : continue文は最も内側の1つのループをスキップするので、多重ループの場合は注意してください。● continue文(ベル付き)で多重ループをスキップする方法
ラベル: for (初期化1 ; 繰り返し条件1 ; 更新処理1) { for (初期化2 ; 繰り返し条件2 ; 更新処理2) { 処理 continue ラベル; } }説明 : continue文は最も内側の1つのループをスキップしますが、ラベル付きcontinue文は、処理をスキップした後にラベルを設定したループの処理を続けます。
4. まとめ
今回は繰り返しfor文の構造と使い方や、break文とcontinue文によるループ制御などを説明しました。
for文はJAVAの基本ですので、覚えておいてくださいね。演習問題もやり忘れずに!
5. 演習問題
JAVAの繰り返し構文 forの演習問題
- JAVA - P = 1.3.5...(2n+1)を計算する(n>0)
- JAVA - S = 1 - 2 + 3 - 4 + 5 + ... + ((-1)^(n+1)) * nを計算する。 (n >= 0)
- JAVA - S = 1 + 1.2 + 1.2.3 + ... + 1.2.3.nを計算する(n > 0)。
- JAVA - T = 12 + 22 + 32 + ... + n2を計算する(n > 0)。
- JAVA - Q = 1 + 1/2 + 1/3 + ... + 1/nを計算する(n>0)。
- JAVA - R = 1 + 22 + 33 + ... + nnを計算する(n > 0)。
- JAVA - M = 1 + (1+2)/2! + (1+2+3)/3! + ... + (1+2+3+...+n)/n!を計算する(n > 0)。
広告