ループ文について学んだことのメモです。
#for文
ループカウンターなどを使用して 定められた回数だけ同じ処理を繰り返したいときに使う。
fizz buzzのような**「1〜100まで出力せよ!」**みたいな命令に使われることが多い。
また添字による配列要素のアクセスと相性がよろしく、配列の中身を1つずつ参照することにも向いている。
##【書式】
for (初期化式; 条件式;変化式){
実行する文;
実行する文;
...
}
##【for文を使った例】
(String配列の宣言と初期化)
String[] fighter = {零戦, スピットファイア, メッサーシュミット, ラヴォーチキン};
(配列arrの中身を全て表示する)
for (int i = 0; i < fighter.length; i++) {
System.out.println("fighter[" + i + "] … " + arr[i]);
}
##【実行結果】
fighter[0] …零戦
fighter[1] …スピットファイア
fighter[2] …メッサーシュミット
fighter[3] …ラヴォーチキン
#while文
条件式のみで制御されている繰り返し構文。
for文との使い分けは、「ユーザーが何かを入力するまで」 と言った繰り返す回数が定まらない場合に使用する。
最初に判定を行うために場合によっては一度も動くことなく終わることもある。
##【書式】
while(条件式){
実行する文
}
##【for文を使った例】
// 変数の初期化
int i = 1;
//1から10までの数字を出力
while (i <= 10){
System.out.println( i );
i++; //ここを忘れると無限ループ発生するので注意!
}
##【実行結果】
1
2
3
4
5
6
7
8
9
10
#breakについて
break文を記述すると、その時点でループ処理から抜けることができます。
##【書式】
if文などで**「条件に当てはまったときだbreak文を実行してループから抜ける」**というように記述します。
for (初期化式; 条件式;変化式) {
if (ループを抜ける条件式) {
break; // 条件に一致したらループから抜ける
}
}
##【for文を使った例】
1から10までの数を出力する繰り返し文を、break によって 7に達したら処理をやめる
for (int i = 0; i < 10; i++) {
System.out.println(i);
if (i == 7) {
break;
}
}
##【実行結果】
1
2
3
4
5
6
7
#continue文
continue文は、その時点で後の処理をスキップします。
##【書式】
while (条件式) {
[処理1]
if (スキップ条件) {
continue; //条件に一致したら処理2はスキップ
}
[処理2]
}
##【continue文を使った例】
1~10の数を出力し、4の倍数(4と8)の場合処理をスキップする。
for (int i = 1; i <= 10; i++) {
if (i % 4 == 0) {
System.out.println("4の倍数です。");
continue;
}
System.out.println(i);
}
##【実行結果】
1
2
3
4の倍数です。
5
6
7
4の倍数です。
9
10
使いこなせばかなり複雑な表現ができるようになると思います。
無限ループについてはまた後日アウトプットします。