美人すぎない化粧品販売員がアプリ開発を目指す

Javaの構文、オブジェクト指向、APIなど、プログラミング初心者の私がアプリ開発までに理解したことをまとめたブログ

2次元配列とは何か

2次元配列とは?

配列は一行の横に長い箱を用意だが、二次元配列だと横に長い箱を縦にも積み上げていき、1つのデータとして扱うイメージ

例えば、クラス全員の国語と算数の成績(2つのデータ)を1セットのデータとして扱いたい時などに便利

 

〈宣言〉

要素(配列に入れたいデータ)の型[ ] [ ] 配列変数名=new 要素の型[行数][列数]

ex.  int[ ][ ] scores=new int[2][3];←2×3行の箱を用意

 

〈要素を利用したい時・・すなわち配列に入れたデータを利用したい時〉

  配列変数名[行の添え字][列の添え字]

ex.//2×3の箱に入れたデータを全て取り出す

      score[0][0]=40;

     score[0][1]=50;

     score[0][2]=50;

     score[1][0]=80;

      score[1][1]=60;

     score[1][2]=70;

 

この場合データは全て参照型

参照型とは何か?(復習もかねて)

int[2][3](二次元配列)はint[2]とint[3](一次元配列)の番地情報を指していて

int[2]はint型データ[0][1][2]の先頭の箱の番地情報を指している(int[3]も同様)

※ int[ ][ ]配列を親配列、その親配列が指しているint[ ]配列を子配列と呼ぶ

 

ex. int [ ][ ] scores={{10,20,30},{30,40,50}};

   

イメージとしては、

  int[ ][ ]配列はまず[0][1]という添え字のついた箱を2つ用意

 その後、その中に入れるint配列の[0][1][2]という添え字のついた箱を3つ用意し、

 その箱の中にint型データの10,20,30を入れる  

 

   //親配列の長さを取得

     System.out.println(scores.length);

  →出力 2(最初に用意した箱の数)

   //子配列の長さを取得

     System.out.println(scores[0].length);  

 →出力 3(最初に用意した箱の中に入れた0番目の箱の中に入っているデータの数)