HOME技術JAVAJAVAの多次元配列

JAVAの多次元配列

多次元配列とは、配列変数の要素の表現がHareitsu[0]であるのに対し、Hairetsu[0][0]と表すことができる配列変数です。

多次元配列の用途

多次元配列を使うと、ゲームで言うならばマップの配置に応用できます。

例えば、平地を0、森を1、町を2という風に決めて以下のような地図をつくった場合、以下のようになります。

これを多次元配列で管理すると、以下のようになります。

主人公の現在地がHairetsu[2][4]の場合、町に着いた、というような判定ができるようになります。
なお、この場合のHairetsuは、2次元なので、二次元配列と呼びます。

二次元配列の宣言

配列の宣言と同様に、以下のように宣言します。

int[][] Hairetsu = new int[3][5];

直接代入する場合には、以下のように書きます。

int[][] Hairetsu = { {0,0,1,1,0,1}, {1,0,1,1,0,1}, {1,0,0,0,2,1}, {1,1,1,1,1}};

以下のように書くと「1」が表示されます。

int[][] Hairetsu = { {0,0,1,1,0,1}, {1,0,1,1,0,1}, {1,0,0,0,2,1}, {1,1,1,1,1}};
System.out.println ( Hairetsu[0][1] );

なお、上記の表現のとおり、多次元配列はJAVAの場合、正しくは「一次元配列の中の各要素に、一次元配列が格納されている」形になっています。

そのため、要素数を確認するには以下のように書きます。

Hairetsu.length; // 最初の配列の要素数
Hairetsu[0].length; // 2次元目の配列の要素数

実際にコードを書くと以下のようになります。

int[][] Hairetsu = { {0,0,1,1,0,1}, {1,0,1,1,0,1}, {1,0,0,0,2,1}, {1,1,1,1,1}};
System.out.println ( Hairetsu.length );

上記のコードでは「4」と表示されます。

int[][] Hairetsu = { {0,0,1,1,0,1}, {1,0,1,1,0,1}, {1,0,0,0,2,1}, {1,1,1,1,1}};
System.out.println ( Hairetsu[0].length );

上記のコードでは「6」と表示されます。

関連記事

JAVAのコメントアウト

コメントアウトとは、プログラムには影響しないただの「メモ」書きのことです。たいていのプログラム言語にはコメントを書くための書式がありますが、言語によって書き方が異なります。今回はJAVAでコメントを書…続きを読む

JAVAの条件式で文字列を比較する場合の注意点

JAVAのif文などで条件式において文字列を比較する際には、数値を比較する場合と違う書き方をしなければなりません。 if ( Mojiretsu.equals(“文字列”) {…続きを読む

JAVAのループ処理:for文

JAVAにおけるループ処理の一つとして、while文のほかに、for文というのがあります。 これはある条件を満たしている場合は決められた処理を繰り返すというところまではwhile文と一緒ですが、条件を…続きを読む

JAVAの予約語

プログラム言語で予め使われている名前、たとえば変数の型を示す名前などは、変数名やクラス名として宣言することができません。これらの名前を予約語といいます。 予約語一覧 abstract(修飾子) ass…続きを読む

JAVAのローカル変数とグローバル変数

変数には、その有効範囲が定められています。 この有効範囲のことをスコープと言います。 スコープ内では変数を利用できますが、スコープ外ではその変数は存在しないことになり、利用することができません。 ロー…続きを読む

Eclipseで分離したウィンドウを元に戻す

Eclipseを使って、ウィンドウを分離する場合には、分離したいウィンドウのバーをクリックして、アプリケーション外に移動します。 分離したウィンドウを結合する 分離したウィンドウを元に戻すには、「ウィ…続きを読む

JAVAで変数を使う:変数宣言と変数の型

変数とは、プログラム内で利用される「値」を入れるための「器」です。 変数は一定の規則に従えば、任意の名前を付けることができます。 変数はどのように使うのかというと、例えば、Hensuという名前を変数を…続きを読む

JAVAのエスケープシーケンス

例えば、以下のように、ダブルクォーテーションを出力したい場合には、どのように書けばいいでしょうか。 System.out.println(“””); 上のように書い…続きを読む

JAVAの条件分岐:switch文

if文と並ぶ条件分岐の構文として、もう一つ、switch文があります。 if文が条件が真偽で処理を変える2択(elseifを付ければ複数の選択肢を持たすことができるが)であるのに対し、switch文は…続きを読む

JAVAのオペランドと演算子

変数に代入する書式は、通常の計算式のように書きます。 a = b + c; このように書けば、変数aにbとcを加算した結果の値が代入されます。 この、=や+を演算子、それ以外の変数などの値を非演算子(…続きを読む