正しい変数宣言と初期化(インスタンス化)
int[] array;
int array[];
int[][] array;
int array [][];
int[] array[];
int[][] array[];
int[] array = new int[3];
int[] array = new int[3][];
array[0] = new int [3];
array[1] = new int [3];
array[2] = new int [3];
- 配列インスタンスへの参照を入れるだけで、参照先の配列がいくつ要素を扱えるかは関係ない
- 配列型変数を宣言するときは要素数を指定することはできない
int[2] array;
- 配列インスタンスを生成する場合は要素数を指定しなけばならない
- また要素数の指定は整数値でなければならない
int[] array = new int[];
int[] array = new int[2.5];
int[][] array = new int[][3];
int a[] = new int[2][3];
ちなみに
int [] array = new int [0];
System.out.println(array);
- 要素がない配列のインスタンス宣言
- この場合ハッシュコードが出力される
- 配列クラスはObjectクラスを継承しており、
Object.toString
メソッドは以下のような定義になっているためハッシュコードが出力される
public String toString() {
return getClass().getName+ "@" + Intger.toHexString(hashCode());
}
配列の宣言と初期化の問題が出た場合
int array = new int[2];
int array[2];
int [] array;
array = int[2];
- インスタンスの生成時に要素数を指定しているかどうか
[]
以外のカッコを使っていないか