wataruの部屋

20代駆け出しシステムエンジニア 低学歴な人生を歩んで来たため仕事させてくれる社会に感謝しています。 ブログの内容は映画やプログラミングに関することなど...

4章<繰り返し文と繰り返し制御文>

まずはポイントから

 

・while文とdo whileの違いを身に着ける。

・while文 do while文の条件は必ずboolean値ではないとエラーになる

・繰り返し文の処理が一行なら{}は省略できる

・while文の条件にいきなりtrueを指定できる。falseを入れた場合エラーになる

・for文の式1,式2は省略できるが可読性が下がるため基本は避ける

・拡張for文 for(変数宣言 : 参照変数){処理文};  データ型を合わせる

・繰り返し処理をスキップするものとして continue文がある

・ネストした繰り返し文にはラベルを使えます

 

◆while文とdo whileの違いを身に着ける。

 

while文は指定された式がtrueである間処理を続ける。

構文 while(式){  //処理 }

 

do while文はwhile文同様で式がtrueである間処理を続ける。do{}で一度処理を行ってから条件判定をする。

構文 do{ //処理 

        }while(式) 

 

◆while文 do while文の条件は必ずboolean値ではないとエラーになる

 条件式は必ずboolean値にしましょう。

while(i = 1){  //コンパイルエラー
//処理
}

 ◆繰り返し文の処理が一行なら{}は省略できる

while(i = 1) System.out.print("a");
}

do while文の場合は中括弧{}を省略した時、処理を複数行書くとエラーになります。

 

while文の条件にいきなりtrueを指定できる。falseを入れた場合エラーになる

while(true){ System.out.print("a"); //問題なし
}

while(false){ System.out.print("a"); //エラー
}

 

ただ、①の場合無限ループになるので実装する際は、breakできるように条件を書く必要がある。

 

for文の式1,式2は省略できるが可読性が下がるため基本は避ける

①基本的な構文

for(int i = 1; i < x; i++){ //基本 }

②式1と式3を省略した場合

for(; i < x; ;){ }

 

②は省略した形 省略した際はかならずセミコロン[;]は必要です。

 

拡張for文 for(変数宣言 : 参照変数){処理文};  データ型を合わせる

便利なfor文、拡張for文です。

String array[] = {"aaa","bbb","ccc"}

for(String s : array){
//配列の値をすべて変数に入れるまで処理を進めてくれる。
}

拡張for文は()内で指定した参照変数から順に要素を取り出して、変数宣言した変数へ取り出した要素を代入します。このため宣言した変数と参照する変数のデータ型は合わせる必要があります。

 

◆繰り返し処理をスキップするものとして continue文がある

//処理1 for(int i = 1; i < 3; i++){
//処理2 for(int i = 1; i < 3; i++){
if(i = 2){
continue; //次の出力処理をスキップして処理3に移動する。
}
System.out.print("aaa");
}
}

 

continue文は繰り返し処理の中のみ有効なので、繰り返し処理外で記入するとエラーになります

 

ネストした繰り返し文にはラベルを使えます

繰り返し処理がネストしている場合。breakは内側の繰り返しに適用されます。

ラベルを指定することでどの繰り返しから抜けるか指定できます。

loop1:
//処理1 for(int i = 1; i < 3; i++){
loop2:
//処理2 for(int i = 1; i < 3; i++){
if(i = 2){
break loop1; //loop1のfor文をbreakします。
}
System.out.print("aaa");
}
}

 

以上。