oracleJavaSilverの勉強日記(ループ構造の使用)

while文

条件式がtrueを戻す間、処理を繰り返すための構文。条件式は、必ず真偽値を戻さなければいけない。

構文

while(条件式){繰り返しの中で実行される処理}

do-while文

While文と意味は同じだが、条件に合致するかどうかにかかわらず、1回は処理を実行したい場合に使う。

構文

do{

//繰り返し処理

} while(条件式);

中かっこ省略

while文やdo-while文もif文などと同じように中かっこ「{}」を省略することができる。中かっこを省略した場合、1つの文だけが繰り返し処理として実行される。

do-while文で中かっこを省略した場合は、doの後ろには1つの文しか記述することはできない。もし、中かっこを省略したのに文を複数記述するとコンパイルエラーになる。

for文

構文

for(初期化文; 条件文; 更新文){繰り返し処理}

初期化文は、繰り返し処理内で使用する一時変数の宣言とその初期化を行う。

同時に複数の変数をカンマ,」を使って宣言、初期化できる。複数の変数を宣言する場合は、変数が同じ型でなければいけない。

初期化文で宣言した一時変数はfor文のブロック内(中かっこの範囲)でしか使えない。

もし、for文の外で使った場合は、コンパイルエラーになる。

条件文は、繰り返し処理を実行するかfor文を抜けるかを判定し、真偽値を戻す式。

trueを戻すと繰り返し処理が実行され、falseを戻すとfor文を抜ける。

条件文を複数記述する場合は論理演算子を使う。

更新文は、繰り返し処理が終わってから一時変数の値を変更する式。

更新文を複数記述したい場合はカンマ「,」を使う。

二重ループ

外側のループが回る間に、内側のループが回る。たとえば、内側のループが3回まわるという条件を持っていた場合、外側のループ1回に付き、内側のループが3回まわる。そのため、外側のループが3回という条件だった場合は、外側3回×内側3回の合計9回まわることになる。例えば、次のコードだと、「hello」が合計9回表示される。

for(int i=0; i<3; i++){

    for(int j=0; i<3; j++){

           System.out.println("hello");

}

}

拡張for文

集合から1つずつ要素を取り出し、それを変数に代入してから繰り返し処理を実行する。拡張for文で扱える集合は、java.util.ArryaListなどがある。

構文

for (型 変数名 : 集合){繰り返し処理}

拡張for文では、変数の参照をコピーしているので、変数の参照を変更しても、集合には影響しない。

無限ループ

ループ文で条件式を省略したりなどによってずっと同じループが繰り返されること。

break

繰り返し処理を中断するには、breakを使う。二重ループの中で使われるbreakによって中断されるのは、直近にあるループのみ。

continue

繰り返し処理をスキップする。以降の処理をスキップしてループの条件判定に戻る。

ラベル

breakやcontinueの時に制御を移す箇所を自由に指定できる。

ラベルはあらゆる箇所に付けることができる。