Java入門
Java言語1 | Java言語3

2. Java入門2

配列
  • 配列は複数の同じ型の変数を一つにまとめたものです。大量データを扱う時や、
    複数のデータを次々と自動的に読み出したいときは配列を使うと便利です。
    ただし、配列は一度サイズが決められると変更することはできないという性質
    を持っています。

    配列の生成には2通りの方法があります。

    int[] a = {1,2,3,4,5,6,7,8,9,10}; : 初期化子
    int[] a = new int[10]; : new演算子

    初期化子は配列生成時に直接データを代入して配列を生成する方法です。
    初期化子を指定した場合の配列サイズは代入するデータの数により決まります。

    new演算子で配列生成時にはメモリ内に領域がとられます。領域がとられる際、
    配列にはある初期値が設定されています。各配列型の初期値は以下となります。

    配列型 初期値
    byte 0
    short 0
    int 0
    long 0L
    float 0.0f
    double 0.0d
    char '\u0000'
    boolean false
    参照型オブジェクト NULL



    オブジェクト型の配列を生成する際の注意点として配列生成後、配列の各要素の
    オブジェクトを生成する必要があります。オブジェクト型の配列は、配列を生成する
    だけでは各要素のオブジェクトまでは生成されません。
    各要素を格納するメモリ領域が確保されるだけということに注意して下さい。

    String[] stringArray = new String[10];
    stringArray[0] = new String("Sunday");
  
例題
  • 次のメッセージを表示するプログラムを作成して下さい。
    int型の数値5つを配列で定義し順番に出力するプログラムを作成して下さい。
    数値: 1, 3, 5, 7, 9
  
解答と解説
  • public class ArrayTest1 {
    public static void main(String[] args){
    int[] a = {1, 3, 5, 7, 9};

    System.out.println("a[0] = " + a[0]);
    System.out.println("a[1] = " + a[1]);
    System.out.println("a[2] = " + a[2]);
    System.out.println("a[3] = " + a[3]);
    System.out.println("a[4] = " + a[4]);
    }
    }

    配列の要素を参照する場合、配列aに対して、添字を指定します。(ex. a[0])
    a[0]と記述すると、配列aの0番目の要素となります。
    上記回答ではループ文を使用せずに記述しましたが、ループ文を使用して、
    以下のように書き直すこともできます。

    for(int index = 0; index < a.length; index++){
    System.out.println("a[" + index + "] = " + a[index]);
    }

    a.lengthにて配列aの配列数を参照します。
    ループカウンタのindexの値が0から配列数までカウントアップしていき、
    indexを添字として配列aの要素を参照しています。

    上記をふまえ、以下の問題を行ってください。(ループ文を使用して下さい。)
  
演習問題
  • 7. 次の配列データの合計と平均を求めるプログラムを作成してください。


    int [] x = { 12, 45, 32, 3, 6, 18, 29, 1, 4, 132 };


    8. 次の配列データから最大値と最小値を求めるプログラムを作成してください。


    double [] x = { 12.3, 45.4, 45.9, 3.56, 6.6, 8.9, 2.3, 0.5, 4.3, 1.2 };


    9. 次の文字列データの配列生成し、各要素の文字数を表示するプログラムを
    作成して下さい。
    (new演算子を使用すること。)


    1, 23, 456, 789, ABCD, てすと, abDCイーエフ, !#"$%&'()


    <次回は「Java入門3」です。>
  
  
Java言語1 | Java言語3