talosのプログラミング教室

Java Silver合格への道 ~配列の宣言と初期化~

スポンサーリンク

こんにちは。たろすです。

今回は配列の宣言と初期化についてです。

宣言

OK例

// よく使われる宣言
int[] a;  

// 変数名の後に[]を書くことも可能
int b[];  

// 多次元配列も同様
int[][] c;  
int d[][];

// 分けることもできる
int[] e[];  

NG例

// 宣言時に要素数は指定しない
int a[3];  

初期化

OK例

// 要素を指定するパターン
int[] a = { 1, 2, 3 }; 

// やっていることは上と同じ
int[] b = new int[] { 1, 2, 3 }; 

// 要素数だけを指定するパターン(要素は初期値)
int[] c = new int[3]; 

// 多次元配列の場合は{}の数に注意
int[][] d = { { 1, 2 }, { 3, 4 } }; 

// 要素なしの場合は多次元配列でも{}は1つでOK
int[][] e = {}; 

// N次元目までは要素数を決めておき、N+1次元目以降の要素数は未定にしておくことができる
int[][][]f = new int[3][][];  

NG例

// {}を使う場合は要素数を指定しない
int[] a = new int[3] { 1, 2, 3 }; 

// 宣言と{}を使った初期化は分けられない
int[] b;
b = {1 ,2, 3}; 

// 次元数が一致しない
int[][] c = { 1, 2, 3 }; 

// N次元目の要素数が決まっていないのに、N+1次元目以降の要素数を決めることはできない
int[][][] d = new int [][3][];  

おわりに

今回は配列の宣言と初期化についてOK例とNG例を挙げました。

他の言語などを触っていると間違えやすいので要注意です。