JavaSilverでメモしたところ備忘録として残しておこうと思います。
配列の宣言・初期化について
配列の宣言
//データ型[] 配列変数名
int[] num;
//もしくは、データ型 配列変数名[]
int num[];
配列の作成
//配列変数名 = new データ型[要素数]
num = new int[3];
//初期化
int[] num = new int[3];
[]の位置は変数名の後ろでもコンパイル可
int[] num; //もしくは
int num[];
//二次元でも三次元でも同じ
int[][] num;
int num[][];
int[][][] num;
int num[][][];
[]は分けて書いてもコンパイル可
int[] num[];
int[] num[][]
変数とインスタンスの次元は一致させる
int[] array = new int[2][2]; //コンパイルエラー
扱える要素数に浮動小数点は指定できない
int[] array = new int[2.5]; //コンパイルエラー
二次元配列を作成するとき、一次元目の要素数は省略できない
int[][] araay = new int[][3];//コンパイルエラー
int[][] araay = new int[2][];//OK
{}(初期化子)で代入する際は次元数に合わせて{}をつける
int[][][] array = {{1,2,3},{4,5,6}};//コンパイルエラー
int[][][] array = {{{1,2},{2,3}},{{4,5},{5,6}}};//OK
配列の宣言時は要素数を指定できない
int[5] num; //コンパイルエラー
int[] num; //OK
配列インスタンスを生成するときは必ず扱える要素数を指定する
//宣言と配列の作成
int[] array;
array = new int[]; //NG
int[] array;
array = new int[3]; //OK
//初期化
int arrayB = new int[]; //NG
int arrayB = new int[3]; //OK
newと初期化子{}を使う場合は要素数を指定できない
int[] array = new int[3]{100,200,300}; //NG
int[] array = new int[]{100,200,300}; //OK
初期化子{}は変数宣言と同時にしか使用できない
int[] array;
array = {100,200,300}; //NG
int[] array;
array = new int[]{100,200,300}; //OK