繰り返しを行うfor分
前回繰り返しについて日常の例をあげて分類しました。
実際に繰り返しを行うコードを書いてみます。今回は繰り返す回数が決まっているケースで10回繰り返すプログラムにします。
ここに書いたサンプルを実際に実行したい場合はmainメソッドにコピーして実行してください。
for([初期状態の指定] ; [継続条件] ; [毎回末尾で行う処理]){ [繰り返す処理] }
forの次のカッコに3つの設定を書くことで繰り返しをコントロールします。では10回繰り返すための設定を決めます。
項目 | 設定内容 | コード |
---|---|---|
初期状態の指定 | 変数iを宣言し0を代入する | int i = 0 |
継続条件 | 変数iが10より小さいこと | i < 10 |
毎回末尾で行う処理 | 変数iに1を足す | i++ |
繰り返す処理は標準出力に”Copy”と出力するようにします。
for(int i = 0; i < 10; i++){ System.out.println("Copy"); }
HelloWorld.javaというファイルのmainメソッドにこのコードを書いてコンパイルして実行します。
javac HelloWorld.java java HelloWorld
以下が出力内容です。
Copy Copy Copy Copy Copy Copy Copy Copy Copy Copy
実際に変数iがどのような値か見たいので出力内容に追加します。
System.out.println("Copy:" + i);
これは文字列”Copy:”の後ろに変数iの値を連結して出力しなさいという意味になります。文字列と数字を連結するには足し算のように+を挟んで二つの値を並べます。文字列と数字が連結されるとその結果も文字列になります。ではコンパイルして実行します。
Copy:0 Copy:1 Copy:2 Copy:3 Copy:4 Copy:5 Copy:6 Copy:7 Copy:8 Copy:9
ソースコードに手を入れたときには必ずコンパイルをするようにしてください。そうしないと以前の実行ファイルが呼ばれてしまい修正が反映された動作にはなりません。
for文の処理は大体こんなかんじで実行されます。
- 初期状態の指定に沿って変数iを宣言し値0を代入する。
- 継続条件に合致するので(0 < 10)処理を行う。”Copy:0″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は1となる。
- 継続条件に合致するので(1 < 10)処理を行う。”Copy:1″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は2となる。
- 継続条件に合致するので(2 < 10)処理を行う。”Copy:2″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は3となる。
- 継続条件に合致するので(3 < 10)処理を行う。”Copy:3″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は4となる。
- 継続条件に合致するので(4 < 10)処理を行う。”Copy:4″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は5となる。
- 継続条件に合致するので(5 < 10)処理を行う。”Copy:5″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は6となる。
- 継続条件に合致するので(6 < 10)処理を行う。”Copy:6″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は7となる。
- 継続条件に合致するので(7 < 10)処理を行う。”Copy:7″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は8となる。
- 継続条件に合致するので(8 < 10)処理を行う。”Copy:8″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は9となる。
- 継続条件に合致するので(9 < 10)処理を行う。”Copy:9″が出力される。
- 毎回末尾で行われる処理が実行される。変数iの値は10となる。
- 継続条件に合致しないので(10 < 10)処理を行わずループを抜ける。
- 処理終了。