Java 開発基礎事項メモ(配列補足・多次元配列)

f:id:JunKobayashi:20190212013543p:plain

Array2.javaソースコード

 

f:id:JunKobayashi:20190212013634p:plain

Array2.javaの実行結果

(1024が出力される理由)

  • y_array = x_array; により、配列変数y_arrayに、配列変数x_arrayに与えられた配列の実体(要素の集合)の先頭要素のアドレスが代入される
  • これにより、y_arrayはx_arrayと同じ実体を参照する
  • y_array[0] = 1024; によりy_arrayが参照する実体(x_arrayのそれに同じ)の先頭のアドレスにあるデータに1024が代入される

 

f:id:JunKobayashi:20190212015018p:plain

x_arrayの参照する実体の先頭アドレス5678が配列変数y_arrayにもコピーされ同じ配列実体を参照

 

f:id:JunKobayashi:20190212015659p:plain

サンプルコード

f:id:JunKobayashi:20190212015733p:plain

サンプルコード実行結果

5行目の

    x_array = null;

により配列変数x_arrayにnullが代入され、x_arrayはメモリ上のどの領域も参照しなくなるため、6行目の出力命令実行は不可能

 

f:id:JunKobayashi:20190212020345p:plain

2次元配列サンプルコード

f:id:JunKobayashi:20190212020425p:plain

2次元配列サンプルコード実行結果

3行目

    int _array = new int [2][3];

により、2行3列(縦2横3)のint型配列宣言

(正しくは要素数3のint型配列2つをその要素とする配列の宣言)

 

f:id:JunKobayashi:20190212022117p:plain

2次元配列の参照概念図