①for(){}
()内で定義された回数分、繰り返し{}内の処理を行う。
for( int i = 0; i <=5; i++){
System.out.println("hello,world")
};
上記コードは、hello,worldを5回出力する為のコード。
ⅰ 繰り返す回数
上記のコードでは、「iを0で初期化した後、iが5になるまで、プラス1づつ増やした時、何回ループする」いう表現で繰り返しの回数を指定する(iをループ変数と呼ぶ)。カッコ内では、宣言をしている。この宣言は、for構文のブロック内のみで有効なので、iを「繰り返す式」に組み込む事もできる。※-復習-if()は宣言は出来ない。
ⅱ 繰り返す処理
繰り返す処理内では、宣言も代入もできる。
② while(){}
カッコ内の条件の式に達するまで、while以下の「繰り返す式」を処理し続ける。
int i = 0;
while(i < 5){
System.out.println(i + "番目処理です。");
i++
}
上記コード場合、繰り返す式は「System〜」と「変数 i のインクリメント」になる。trueの時に繰り返し処理を行う。falseの時は行わない。
i ループ変数
コード上のループ変数はiで指定している。
while文の場合for文と違いループ変数を指定する時、while()のブロックの外で宣言を行い、ブロック内にインクリメントを組み込む。インクリメントをつけ忘れた場合、ループ変数iが増加しない。何度繰り返しても、while()のカッコ内の繰り返し終了条件式に該当しないので、無限の繰り返しループを起こしてしまう。
ⅱ for文との違い
繰り返す回数が決まっている場合は、for文を使う。繰り返す回数が決まっていなく、条件を満たしている場合に常に繰り返したい場合は、whileを使う。
回数が決まっていない時とは、コマンドラインからBufferedReaderクラスで、fileReaderメゾットを使い、長さが決まっていない文字列を読み込む時はwhile文を使用する。
参照教科書p468
ⅲ 順序
上から順に処理される。
1ループ変数iの宣言と初期化
2ループ変数iの条件判断
3処理(画面への出力)
4ループ変数iのインクリメント
→2に戻る
③ do{}while();
int i = 0;
do{
System.out.println(i + "回目の処理です");
i++;
}
while(i < 5);
whileの前にdoを使い、「繰り返す式」を前に持っていく事によりwhile()の条件に該当するまで、繰り返し処理をする事ができる。
whileよりも前に繰り返す式が前にあるので処理が先にされる。trueの時は処理を行う。falseの時は処理を行わない。※while()が最後に来るので「;」をつけ忘れない。
ⅰ 順序
上から順に処理される。
1.ループ変数iの宣言と初期化
2.処理(画面への出力)
3.インクリメント
4.ループ変数iの条件判断
→2に戻る
順序を見てみると理解できるが、条件がfalseの場合であっても1度は処理が実行される。