ためになるホームページ お問い合わせ




TOP > Java > 配列
配列とは?
配列とは配列とは同じ型の複数の変数を格納できるオブジェクト。配列そのものは常にヒープ上に置かれるオブジェト。

配列の宣言
配列参照変数を作成し、○○型の配列を宣言する
(書式)型[] 配列参照変数 ; もしくは、型 配列参照変数[] ;

配列の作成
宣言した配列にnew演算子を用いて、ヒープ上にメモリを割り当てる
(例)
int[] a;
a = new int[3]
※ローカル変数は、宣言とメモリの割り当てを別々に記す事ができるが、メンバー内では同時に記さなければならない。
(例)int[] a = new int[3];

基本配列の例
int[] testScores ;//int型の配列を宣言する。
testScores = new int[4] ;//配列にメモリを割り当てる


多次元配列
多次元配列とは、単なる配列の配列の事である。
(書式)型[][] 参照変数 = new int[要素の数][] ;

2次元配列の作成の例
int[][] myArray = new int[3][] ;
myArray[0] = new int[2] ;
myArray[0][0] = 6 ;
myArray[0][1] = 7 ;
myArray[1] = new int[3] ;
myArray[1][0] = 9 ;
myArray[1][1] = 8 ;
myArray[1][2] = 5 ;


配列の初期化
配列にモノを入れるということ。ここで言うモノとは、配列の要素の事である。要素は、基本型であったり配列内の参照変数によって参照されるオブジェクト。

オブジェクトの配列
オブジェクトの配列の場合、各要素に入るのは「オブジェクトを指す参照」が入っている。すなわち、String型のオブジェクトの配列の場合、String型のオブジェクトを指す参照を格納しているという事。ここで問題なのが、各要素に入っている参照変数が実際にオブジェクトを指しているかという事。もし、オブジェクトが入っていないと要素に入っている参照変数にアクセスすると、「null」値を返す。(ドット演算子でアクセスすると、NullPointerExceptionが返される)

NullPointerExceptionの例
class Animal{
  String name ;
}

public class Zoo{
  public static void main(String[] args){
    Animal[] pets = new Animal[2] ;
    pets[0] = new Animal() ;
    //ここでnull参照を使っている。
    //pets[1]には、オブジェクトへの参照が代入されていない。
    System.out.println(pets[1].name) ;
  }
}







Copyright 2007 ためになるホームページ All Rights Reserved.