前提・実現したいこと
現在JavaSilverの勉強をしています。
二次元配列の初期化について教えてください。
発生している問題・エラーメッセージ
下記の該当コード中の「 ary[1] = new int[] {1,2} 」は、どのように理解すればよいのでしょうか。
通常、二次元配列の初期化は、
int[][] ary = new int[2][2]; //配列を生成
num[0][0] = 1; //初期化
num[0][1] = 2;
num[1][0] = 3;
num[1][1] = 4;
または、
int[][] ary = {{1,2},{3,4}}
などと記載するものだと思いますが、
多次元配列の要素の一つへ値を入れる方法として、
ary[1] = new int[] {1,2} と記載できる仕組みが理解できずにおります。
なぜ ary[1] = new int[] {1,2} とすると、
ary[1][0] = 1;
ary[1][1] = 2;
と同じことになるのでしょうか。
勉強をはじめて日が浅いため、基礎的な理解不足でしたら申し訳ございません。
ご指導ご鞭撻のほどよろしくお願い致します。
該当のソースコード
java
1class ArrayTest { 2 public static void main(String[] args){ 3 int[][] ary = new int[2][]; 4 ary[1] = new int[]{1,2} 5 System.out.println(ary[1][0] + " " + ary[1][1]); 6 } 7} 8 9実行結果 101 2
試したこと
ary[0]には配列が生成されていないことは理解できますし、
上記の該当コードを実行してみると 1 2 と表示されることから、
ary[1]の中に{1,2}という配列が入っていることは分かるのですが、
参考書やネットで調べても、
このような多次元配列の初期化の仕方が載っておらず
どのように理解すればよいかわからない状態です。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー