宣言、初期化、スコープ No.4

配列の利用

  1. 配列の変数宣言
  2. 配列を格納する領域の確保
  3. 各配列要素の操作(値の代入、取得)


2は以下のいずれかを行なうことで確保される。
この形式に誤りがある場合はコンパイルエラーとなる。

// newキーワードの利用
  データ型 変数名[] = new データ型[要素数];

// 初期値の設定
  データ型 変数名[] = new データ型[]{値1, 値2};
  データ型 変数名[] = {値1, 値2};


また、2次元配列の利用も可能

String str[][] = { {"one","two"},
                   {"therr","four","five"},
                   {"six"}
                 };
System.out.println( "名称取得:" + str[1][2] );
System.out.println( "長さ取得:" + str[1].length );


この場合、名称取得では、"five"が返り、長さ取得では、3が返る。
値のない箇所を指定したとき、(この場合、str[0][2]など)は、
実行時エラー(ArrayIndexOutOfBoundsException)となる。

静的(static)インポート

  • 利用するstaticメンバが他パッケージに属する場合は、パッケージ名から指定する。
  • 構文
    • import static パッケージ名.クラス名.staticメンバ;
    • import static パッケージ名.クラス名.*;
    • 呼び出し時は、staticメンバとなる。
  • 動的の場合
    • import static パッケージ名.*;
    • 呼び出し時は、クラス名.staticメンバとなる。

可変長引数リスト

  • 任意の型の引数が状況によって任意の数の値を受け取るような場合に利用できる。
  • メソッド呼び出し時に渡された引数は、配列としてメソッド内で利用できます。
  • 可変長引数リスト以外に、その他の引数を定義することができますが、その場合hあ可変長引数リストをメソッドの最後の引数のとして定義する必要がある。
  • 1つのメソッドに定義できる可変長引数リストは1つだけ。
  • 構文
    • メソッド名(引数の型... 配列名) { ・・・ }
    • メソッド名(引数の型 引数, 引数の型... 配列名) { ・・・ }

配列の利用