while文はfor文と同様に繰り返しを行いますが、
基本的には数で単純にループするような処理であればfor文の方が使いやすいと
個人的には思います。何より無限ループになりやすい性質があるので、あまり使わないのですが、特定の条件を満たすまでは繰り返し処理が必要な場合にのみ利用しています。
簡単なwhile,do-while文を掲載します。2つの差は、最初に条件判定されるか、最後に条件判定されるかにあります。ループを抜ける条件が後にあるdo-whileは、条件にかかわらず、1度は処理が必要な場合にのみ使います。
私は後ろに条件があると上からソースを見てカスタマイズする際にわかりにくいのでwhileでできるようにプログラムを作っています。
- while文(シンプル)
int iTest1 = 0;
// 数を満たすまで繰り返し処理を行う。
while(iTest1 < 100) {
// ループ内処理
iTest1++;
}
- do-while文(シンプル)
int iTest1 = 0;
// 数を満たすまで繰り返し処理を行う。
do {
// ループ内処理
iTest1++;
} while(iTest1 < 100)
- while文(map)
Map<String, String> mapTest1 = new HashMap<>();
mapTest1.put("abc", "def");
Set<String> mapKeyList = mapTest1.keySet();
int iTest1 = 0;
// mapの要素数の繰り返し処理
while(iTest1<mapTest1.size()) {
// key,value値の取得
String key = mapKeyList.toArray(new String[0])[iTest1];
System.out.println(key);
System.out.println(mapTest1.get(key));
iTest1++;
}
※流れで記載したものの、まぁこれは使いませんねw
普通にforで回した方が楽です。
- while文(無限)
int iTest = 0;
// 特定条件になるまで無限にループする。
while(true) {
// 値が10を超えたら抜ける
if (iTest>10) {
break;
}
// 特定の条件の場合は処理を飛ばす
if (iTest==5) {
iTest1=1000;
continue;
}
iTest1++;
}
※例は強引ですが難易度の高い業務処理のテーブルや画面レイアウト構成のよっては
このような処理を利用することがあります。
私はですが、無限ループを作る際はfor文は使わないです。