Java for文の使い方を習得しよう。

Javaにもいろんな制御文が用意されています。配列はよく「for文」と組み合わせて使われます。for文は同じ処理を繰り返したい時に使う制御文です。繰り返す回数がわかっている場合に使います。

前回インスタンス名を配列にしたことで、同じ名前で扱えるようになりました。同じ名前の配列はインデックスで区別できます。「for文」を使うとインデックスの値を自動的に変化させられるので、プログラムをシンプルに書くことができます。


【1】sample04 フォルダをフォルダごとコピーして、sample05 フォルダを作ります。

java-216.gif


【2】sample05 の PersonTest.java を以下のように修正します。

java-218.gif

保存先 C:\java\sample05
ファイル名 PersonTest.java

class Person {
  String name;
  int age;
  String address;

  Person(String _name, int _age, String _address) {
    name = _name;
    age = _age;
    address = _address;
  }

  void say(){
    System.out.println("私の名前は" + name + "です。年齢は"
    + age + "才で、住所は" + address + "です。");
  }

}

class PersonTest {
  public static void main(String[] args) {
    Person[] people = new Person[2];
    people[0] = new Person("太郎", 21, "東京都港区");
    people[1] = new Person("花子", 18, "北海道札幌市");

    for(int i = 0; i < people.length; i++){
      people[i].say();
    }

  }
}



【3】以下の図を参考に、カレントディレクトリの切り替え、コンパイル、プログラムの実行、結果の確認を行います。そろそろ操作に慣れてきたと思うので、細かい手順は省略します。

java-217.gif


【解説】
プログラムは原則として上から下に流れますが、for文を使うと流れを変えて、処理を繰り返すことができます。

(1)for文の構造は以下のようになります。
for(初期化; 条件式; カウンタの増減){
  繰り返す内容;
}

(2)実際の使用例をみてみましょう。
for(int i = 0; i < people.length; i++){
  people[i].say();
}

・初期化は初めに1回だけ実行されます。i はカウンタと呼ばれ初期値として 0 が代入されています。

・条件式に i が使われ、条件式が成り立つ間処理が繰り返されます。

・処理が1回終了するごとにカウンタの増減が行われます。i++、i--など。カウンタの増減は自由に設定できます。例えばカウンタの初期値を100にしておいて減らしていったり、または2ずつ増減することもできます。


(3)people.length は配列の要素数です。この例では要素数は 2 ですから、i < 2 と同じ意味になります。


(4)カウンタを配列のインデックスにすることで、i が 0,1.2.3. と変化します。すると呼び出すインスタンスが自動的に変わる仕組みです。

people[i].say();


今回の例では繰り返しが2回だけなので効果を実感しにくいですが、配列が100になった時をイメージすると繰り返しがいかに便利かわかると思います。

同じコードを100回も書いていたら大変だし、ちょっとした修正でも手間がかかりますよね。for文を使うと修正箇所は1箇所になります。


スポンサードリンク

スポンサードリンク






Java初心者入門講座TOPへ