lesson6 繰り返し文

①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度は処理が実行される。