異世界現地人でもわかるJavaプログラミング#5(配列編)

warning:本記事の内容の正確性は”なんら”保証されておりません。 

 おはこんばんちは。
 配列について学びましょう、今回は。

 お決まりのごとく、
https://paiza.io/ja さんのお世話になります。
(コード作成を試してみる(無料)→左上の緑の言語選択(javaじゃなかったら)言語をJavaに切り替え)

今回も、

// Your code here!
と書かれているところを色々編集していきます。

さて、配列とは?

 問いかけから始まりました。
 みなさんは変数を覚えているでしょうか?
 プログラムを書くときに、一時的にだったり色んな用途で数(や文字列なども扱える)を覚えておく、作業領域みたいなものでしたよね。

       int hensu;
       hensu = 1+2;
       System.out.println(hensu);

 こんな風に。(hensuに1+2の結果を入れてるので、表示する時に3になる)
 さて、この変数(hensu)ですが、なんと! まとめて扱うことが出来るのです。
 箪笥(かカラーボックス)みたいなものだと思ってください。

        int[] hairetu;
                or
        int hairetu[];

 このように宣言して使います。上と下とどっちのスタイルでもよいらしいです。(今後、仕事やグループでプログラミングする場合には周囲と合わせましょう。javaやる前に、C言語とかやってる人からしたら、下の方が馴染みがありますね)

 さて、これで、hairetuという、箪笥を作ることには成功したのですが、引き出しが何段あるか、まだ決まってません。決まらないとプログラムは動けません。
 なので、段数を決めましょう。今回は3段にしてみます。

        hairetu = new int[3];

 newという新しいのが出てきました。これは、作業領域を割り当てるという働きをしてくれます。(それっぽく言うとメモリを確保する的な。噛み砕いていうと、箪笥を3段組み立てて使えるようにする、みたいな感じでしょうか)
 これで、引き出しの形が、intで、3段ですよ、ということを明確にして、箪笥が出来ました。
 一番上(下?)から、
 hairetu[0]
 hairetu[1]
 hairetu[2]
という3段の引き出しが使えるようになりました。(ちなみにですが、intは32ビット、つまり4バイトで、-21億~21億ぐらいを扱える整数の型でしたね)

 配列の「[]」の中、段数を表す数字は「添え字」とか言いますが、1ではなく0から始まるので注意してください。
 初心者はだいたい、ループとかで配列を触るとここで失敗します。しない人もいます。

 さて、hairetu[0]とかで、箪笥の何段目かを指定してやれば、これは普通に変数として扱うことができます。
 私の好きな数字、臭いゴリラを表す、935をそれぞれ、代入したり参照してみましょうか。(変数や配列に数値を入れることが代入、その数値を元に何かするときは参照です←多分)

       int[] hairetu;
       
       hairetu = new int[3];
       
       hairetu[0] = 9;
       hairetu[1] = 3;
       hairetu[2] = 5;
       
       System.out.print(hairetu[0]);
       System.out.print(hairetu[1]);
       System.out.print(hairetu[2]);

 箪笥の形(int型)を決めて、
 箪笥の引き出しの段数を決めて、領域を確保して、
 各引き出しに値を代入して、
 その値を取り出して出力
 といった流れの処理になります。
(今回使った、printは、printlnの改行しない版みたいな感じっぽいです。935を続けて表示したかったから。ちなみは私の好きな数字3桁は935ではありませんし、臭いゴリラが好きなわけでもありません)

 配列は、一見して、
 hensu_1~hensu_3みたいな、名前の違う変数を沢山用意するのと比べ、何が便利なのかわからないと思います。
 が、ループなどと組み合わせるとあら不思議。

       int counter;
       
       for(counter = 0; counter<3 ; counter++){
           System.out.print(hairetu[counter]);
       }

 hairetuの「[]」の中には変数(今回はループカウンタ)を書けるのです。
その時の、「counter」の値が0なら、hairetu[0]を、2ならhairetu[2]の引き出しを見てくれるので、同じ意味合いを持つ変数が沢山ある時にはループで便利に処理できます。
後々出てくる、2次元配列とかになると凄く効果を発揮します。

二次元配列とは、今回のように、1段目には一つしか引き出しがない箪笥じゃなく、各段に複数の引き出しがある箪笥です。
例えば、出席番号と名前と出欠を入れる箪笥だとしたら、生徒が10人居たら……
[出席番号001][あいうえたろう][出]
[出席番号002][かきくけはなえ][欠]



[出席番号010][わたなべとをる][出]

みたいな3×10の箪笥を使ったりする事が出来るのです。

と、今後の予習もしたところで、今回はこの辺で。



この記事が気に入ったらサポートをしてみませんか?