for文と配列

2016年11月10日構文

スポンサーリンク

こんにちは。「Javaを復習する初心者」です。for文を使って配列の要素全てを出力するプログラムを書いてみました。

今回は繰り返し処理について、2つの記述方法を使いました。

スポンサーリンク

プログラム

以下のプログラムでは、前半ではfor文、後半では拡張for文を使ってます。

package test;

public class HelloForArray {

    public static void main(String[] args) {

        // 配列数を指定する方法、for文を使った出力
        int[] nums = new int[5];
        nums[0] = 2;
        nums[1] = 3;
        nums[2] = 5;
        nums[3] = 7;
        nums[4] = 11;

        for (int i = 0; i < nums.length; i++) {
            System.out.println("要素番号:" + i + " 値:" + nums[i]);
        }

        // 配列の初期化、拡張for文を使った出力
        String[] names = {"太郎", "花子"};
        for (String name : names) {
            System.out.println("名前:" + name);
        }

    }

}
要素番号:0 値:2
要素番号:1 値:3
要素番号:2 値:5
要素番号:3 値:7
要素番号:4 値:11
名前:太郎
名前:花子

配列を使うと(同じ型の)複数のデータをまとめて扱うことができます。プリミティブ型、クラス型どちらの配列も扱えます。この例の前半ではプリミティブ型であるint型、後半ではクラス型であるString型を使ってみました。

解説

今回の例ではfor文と拡張for文を使ってみました。前半の例はfor文です。配列の要素番号を変数iで扱ってます。配列の長さは[変数名].lengthで取得でき、配列の要素番号は0から[変数名].length – 1までです。そのため、for文の条件は「i < nums.length」で、イコールは使いません。後半の例では拡張for文を使ってます。構文はfor (型 変数 : 配列名)の形です。(配列以外にも使えますが、ここでは省略)。この場合、要素番号を使わないで、繰り返し処理ができます。 配列の宣言では中括弧を使って初期化が可能です。プログラム後半部分で使ってます。宣言した後の行ではこの中括弧を使った方法は使えません。エラーになります。試しにEclipseで書いてみると「配列定数はイニシャライザーにおいてのみ使用可能です」というエラーが出力されます。 要素番号を宣言した分を超えて指定した場合、エラーが発生します。「java.lang.ArrayIndexOutOfBoundsException」です。

スポンサーリンク

おすすめQAサイト

エンジニア特化型Q&Aサイト【teratail(テラテイル)】:
このサイトはプログラミング特化型のQAサイトです。ソースを見やすく整形させた状態で表示させることが出来ます。