Javaで処理を繰り返ししたい場合、for文、もしくは、while文を使います。
まず、初心者が入門で繰り返し文を書くときは、for文から勉強するのが一般的な気がします。(個人的な意見です・・)
基本的なfor文の書き方
for文は、以下のように書きます。
1 2 3 | for(最初に動く処理 ; 繰り返す条件 ; 繰り返す毎に、動かす処理){ //繰り返し処理 } |
最初に動く処理 | for文内で何回目の繰り返しか覚えておく変数(カウンタ)を用意するところです。 |
繰り返す条件 | この条件を満たしている限り、for文内の処理を繰り返します。 |
繰り返す毎に、動かす処理 | 最初に動く処理で用意した、カウンタをカウントアップします。 |
※上記はよく使う例です。上記以外の使い方をする人もいます。
処理を10回繰り返すサンプル
それでは、サンプルです。ここでは、10回処理を繰り返します。
都度、繰り返す中で、現在の繰り返した数を出力します。
1 2 3 4 5 6 7 | public class ForTest { public static void main(String[] args) { for(int i=0 ; i<10 ; i++) { System.out.println("繰り返し出力中~~:今は、" + (i+1) + "回目"); } } } |
実行結果
1 2 3 4 5 6 7 8 9 10 | 繰り返し出力中~~:今は、1回目 繰り返し出力中~~:今は、2回目 繰り返し出力中~~:今は、3回目 繰り返し出力中~~:今は、4回目 繰り返し出力中~~:今は、5回目 繰り返し出力中~~:今は、6回目 繰り返し出力中~~:今は、7回目 繰り返し出力中~~:今は、8回目 繰り返し出力中~~:今は、9回目 繰り返し出力中~~:今は、10回目 |
なんで0~9を繰り返したの? 1~10で良いじゃん??
はい。1~10でも構いません。for(int i=1 ; i<=10 ; i++) でもOKです。 ただし、Javaでは、0始まりだといろいろ都合が良いのです。 ちなみに、0から始めることを「ゼロオリジン」なんて言います。 (この段階では、あまり気にしなくても大丈夫です)
もう少し、実践的なfor文(コレクション・配列)
コレクション・配列を繰り返し処理したい場合、少し楽に書くことができます。
書き換える前のふつうのfor文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.util.ArrayList; public class ForTest2 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("メロン"); list.add("オレンジ"); list.add("すいか"); list.add("バナナ"); list.add("りんご"); for(int i=0 ; i<list.size() ; i++) { String str = list.get(i); System.out.println(str); } } } |
書き換えた後の実践的なfor文
必ずしもこの書き方をする必要はありません。
ただし、慣れてしまえば、見易いので、おすすめです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import java.util.ArrayList; public class ForTest2 { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("メロン"); list.add("オレンジ"); list.add("すいか"); list.add("バナナ"); list.add("りんご"); for(String str : list) { System.out.println(str); } } } |
配列、コレクションを繰り返すのであれば、要素の変数宣言と、元になるコレクションを書くだけで、繰り返してくれます。
while文を使って繰り返し処理を行うには・・・?
while文を使って繰り返し処理を行う方法は、こちらを見てください。