2018年01月22日

師匠のJava道場~第5回・配列について学ぶのじゃ!

弟子D:やぁ、みんな! 一か月ぶりだな! 弟子Dだ! 今回は、師匠のクソジジイが交通事故にあって、くたば……ぐはぁっ!!(蹴りで吹き飛ばされる)

師匠T:勝手に殺すな。 それに、誰がクソジジイじゃと?

弟子D:い、いえ、なんでもありません。なんでもありませんとも。い、いったい誰が、師匠のことをクソジジイだの暴力おやじだの、とっととくたばってしまえだのなんて……。

師匠T:おぬしが言ったんじゃろうがっ!(弟子を殴る)まぁよい。今回は、配列について説明する。覚悟はよいか?

弟子D:は、はい……。

▽配列の準備じゃ!▽

師匠T:さて、配列とは何かについては、これまで、あちこちのプログラミング講座で嫌というほど説明されているから、深く説明することはあるまい。

弟子D:はい。一つの変数を複数の部屋に区切ったようなものですよね。確か、それぞれの部屋は、添え字というもので識別したと思います。

師匠T:うむ、その通りじゃ。図にすると、こんな感じじゃな。

java180101.gif

師匠T:さて、ではJavaで配列を使う方法について説明するぞ。まず、宣言についてじゃが、このように書く。

-------------------------
変数の型[] 配列名;
-------------------------

師匠T:例えば、int型の配列sisyoを作る場合は、このように書く。

-------------------------
int[] sisyo;
-------------------------

弟子D:Javaでは添え字を囲むかっこは、丸かっこではなく、角かっこを使うんですね。

師匠T:うむ。だが、まだそれだけではない。次の文を書いてはじめて、配列を使えるようになるのだ。

-------------------------------
配列名 = new 変数の型[要素数];
-------------------------------

弟子D:ふむ。要素数というのは、配列の中の部屋の数ですよね。

師匠T:うむ、その通りじゃ。

弟子D:ということは、先ほどの配列sisyoの場合には……

-------------------------------
sisyo = new int[6];
-------------------------------

弟子D:と、このように書くということですか?

師匠T:見事、その通りじゃ。なお、この文じゃが、先の宣言はあくまで配列を用意しただけ。その配列に、実際に値などを格納する場所を確保するがこの文というわけじゃ。配列を使うには、この二つの文をセットで使う必要があるので注意するがよい。

弟子D:はい、師匠!

師匠T:なお、宣言と確保の文をまとめて、このように書くこともできるぞ。

-------------------------------------------
変数の型 配列名[] = new 変数の型[要素数];

例:
int deshi[] = new int[5];
-------------------------------------------

▽配列の使い方じゃ!▽

師匠T:さて、準備ときたら次は使い方じゃが、さほど難しいことはない。添え字を囲むかっこが角かっこであることを除けば、他のプログラミング言語と同じじゃ。

-------------------------------------------
配列名[添え字]
例:
sisyo[0]=50;
↑配列sisyoの0番に、50を代入する
kotae=sisyo[1]+sisyo[2];
↑変数kotaeに、配列sisyoの1番の値と、配列sisyoの2番の値を足した答えを入れる
-------------------------------------------

弟子D:添え字に変数を使えるというのも、他のプログラミング言語と同じですよね?

師匠T:うむ。さて、ここまで扱ってきたのは一次元配列じゃったが、他の言語と同じように、Javaでも二次元以上の多次元配列を扱うことができる。その場合の宣言文は次のように書くぞ。

-------------------------------------------
変数の型 配列名[][]……;

例:
int sisyo[][];
-------------------------------------------

弟子D:配列の次元の数だけ、[]を続けて書くわけですね。

師匠T:その通り。そして、場所を確保する場合には、このように書く。

-------------------------------------------
配列名 = new 変数の型[要素数][要素数]……;

例:
sisyo = new int[3][2];
-------------------------------------------

師匠T:実は、他のバリエーションもあるが、ちとややこしいのでこの形式を覚えておけば問題はあるまい。さて、余談のその2じゃ。配列の要素数を知りたいときには、lengthを使う。書き方はこうじゃ。

-------------------------------------------
配列名.length;
-------------------------------------------

師匠T:多次元配列で使う場合には、配列名の後ろに、調べたい行や列を[]つきで書く。次のようにの。

-------------------------------------------
例:
sisyo[2].length;
deshi[1][3].length;
-------------------------------------------

弟子D:なるほど、わかりました、師匠。

師匠T:うむ。次回はいよいよ、Javaの肝の一つ、オブジェクトとクラスについて説明する。文字列についても扱う予定じゃ。気合を入れるように。

※次の更新は、1月25日、PCメディア情報の予定です。お楽しみに!
posted by 裏編 at 10:15| 師匠のJava道場 | 更新情報をチェックする