while文とは
Javaで使われる繰り返し処理の一種です。Javaには他にも繰り返しの処理方法はありますが、while文がもっとも単純な記述方法だと思います。whileとは英語で「~の間」という意味の単語なので、その名の通り、条件式が該当する間処理を繰り返させる命令文です。
書式
while (条件式){ 処理1; 処理2; ... }
上記のように記述します。なお、条件式をtrueにすると無限ループの処理を記述することもできます。慣れないうちはミスが怖いので使用しないことをお勧めしますが、使えるようになってくると無限ループもwhile文の方が簡単に記述できます。
使い方
まず簡単な例で、1から10までの数字を出力していきます。
public class A {
public static void main(String[] args) {
//条件式で使う変数
int i = 1;
//10までの間
while(i <= 10) {
System.out.println(i);
//処理のたびに1足していく
i++;
}
}
}
結果 1 2 3 4 5 6 7 8 9 10
while文のループ判断には条件式(結果が必ずtrueかfalseになるもの)しか書けないので、細かな変数の設定等は処理の外で行います。今回でいうと5行目の部分です。最初に出力したい数字である1をiに代入しておき10になるまでの間、iの数字を出力していってくれます。出力した後にiに1足していかないとずっと1のままなので無限ループに陥ります。必ず、条件式を抜けるつくりにしてから実行してみましょう。とはいっても、無限ループは誰もが一度はミスするものなのでそこまで気にしなくてもいいですが、大体の場合PCが落ちるのでこまめな保存はしっかり行いましょう。だいたいctrl + sを同時に押しておけば保存してくれます。
無限ループの使い方
先ほど申し上げた無限ループについて一応使用方法を説明しておきます。
public class A {
public static void main(String[] args) {
//条件式で使う変数
int i = 1;
//10までの間
while(true) {
System.out.println(i);
//処理のたびに1足していく
i++;
if(i > 10) {
break;
}
}
}
}
結果 1 2 3 4 5 6 7 8 9 10
今回は、条件式の部分でiの数を判定してくれないので、ループ内の処理にif文を使いループを終わらせています。記述中のbreak;という文は中カッコを一つ抜けるという命令文です。これを記述すると、無限ループの中から抜け出すことができます。
まとめ
今回はwhile文に関して簡単に説明してきましたが、繰り返し処理は奥が深く、入れ子(繰り返しの中に繰り返しを入れる)構造になっていくにつれ、複雑化していきます。それを扱えるようになってくるといろんな複雑な処理も簡単な記述で済ませられるので、まずは簡単な繰り返し処理を遊びで書いてみることをお勧めします。