Java Silver 配列問題 その2

Java Silver

配列の例題

Java Silver の資格試験について、配列に関する問題です。

以下の問題解けますか?

以下のコードの内、コンパイルエラーとなるコードはどれか。

① int[] a;
② int b[];
③ int[][] c;
④ int d[][];
⑤ int[] e[];
⑥ int[][][] f;
⑦ int[][] g[];
⑧ int[] h[][];
⑨ int i[][][];

A:コンパイルエラーは発生しない
B:⑤と⑦と⑧
C:②と④と⑨

ん~。

[]の位置で引っ掛ける問題かな・・・。

なんとなく見たことがない⑤と⑦と⑧がおかしいような気がするから、

答えは「B:⑤と⑦と⑧」だと思う!

残念。不正解です。

正解は「A:コンパイルエラーは発生しない」です。

コンパイルエラー発生しないのね・・・。

じゃぁ、例題のコード、いろんな配列の定義があるけどどれでも問題ないんだね。

多次元配列を表現する方法

そうだよ。

配列の変数定義では[]を使うけど、

この[]は「データ型の後ろ」か「変数名の後ろ」どちらにも記述することができるんだ!

そして、[]の数によって「多次元配列」を表現できるよ!

例えば、以下のコードでは[]が2つだから2次元配列、

int[][] a;
int a[][];
int[] a[];

以下のコードでは[]が3つだから3次元配列を表現しているよ。

int[][][] f;
int[][] g[];
int[] h[][];
int i[][][];

また、多次元配列は[]の数だけ作ることができるから、

4次元配列でも5次元配列でも生成可能できるんだ。

何次元でも配列を作れるのはすごいね。

あと、[]の位置は「データ型の後ろ」か「変数名の後ろ」だったらどっちでも記述できるんだね。

個人的にはデータ型の後ろに記述しているパターンをよく見るから、違和感を感じたよ。

ポイントまとめ

[]の位置はどちらにも記述できますが、

バラバラに記述すると可読性が悪くなりますから、

あまり実際のコードで使われることは少ないでしょう。

試験問題としては、[]の記述位置について問われるので、頭の片隅に置いておいてください。

それでは今回のまとめです。

  • 配列の定義では[]を使って配列を定義できます。
  • []の数によって多次元配列の次元が決まります。[][]のように2つ使用した場合は、「2次元配列」となります。
  • []は「データ型の後ろ」か「変数名の後ろ」どちらにも記述することができます。

本日もお疲れ様でした。

コメント

タイトルとURLをコピーしました