プログラミング言語

【Java入門⑥】配列 ~初心者でも安心!基礎から学べるプログラミング講座~

プログラミング言語

※前回の講座がまだの人はこちらから
【Java入門⑤】繰り返し ~初心者でも安心!基礎から学べるプログラミング講座~

配列

同じ様な要素を持つ変数は、別々の変数より、一つの変数としてまとめた方が扱いやすいです。
例えば、ユーザーの年齢を変数へ入れて管理したい場合、各ユーザー用の変数を作成し、データを入れる必要があります。
しかし、配列を使えば一つの変数の中に、各ユーザーの年齢のデータを入れることができます。

配列とは?

一つの変数の中に、複数データを入れることに、イメージが湧かないかもしれません。
配列とは、同じ型の変数の集まりだと思ってください。
配列の各箱に、それぞれ値を入れることができます。

配列の箱には番号がついており、0から連番になっています。
紛らわしいですが、「1番目の箱の番号は0、2番目の箱の番号は1」になります。

配列の使い方

配列の宣言

配列を使うにあたって、変数と同様に、配列を宣言する必要があります。
配列の宣言では、型と配列の大きさを指定します。
int型の大きさが5のbという配列を作成します。
値はintの規定値である0が自動で代入されます。

//初期値なし
int[] b = new int[5];

さらに、配列作成と同時に初期値として値を入れることができます。
初期値ありの場合は、初期値の個数がそのまま配列の大きさになります。

//初期値あり
int[] b = {1, 2, 3, 4, 5};

配列にデータを代入

配列を作成したら、データの代入が可能です。
既にデータが入っている箱は、値の更新になります。
データの代入は、代入したい箱の番号を指定します。

int[] b = {1, 2, 3, 4, 5};
b[3] = 8;

bという配列の3番目に8を代入しました。(既に値が入っていたため、更新になります。)

<使用例>

public class Array {
  public static void main(String[] args) {
    //5個の配列本体を生成
    int[] num = new int[5];
  
    //配列numの要素数未満繰り返す
    for(int i = 0; i < num.length; i++) {
      num[i] = i + 1;
    }

    //配列numの要素を先頭から、変数jに代入する処理を、numの要素数分繰り返す
    for(int j : num) {
      System.out.println(j);
    }
  }
}

<実行結果>

拡張for文

先程の配列の要素を取り出している部分で、見慣れないfor文が使われていたと思います。

for(int j : num) {
      System.out.println(j);
}

これは拡張for文と言い、配列の様な複数の要素を持っているものから、全ての要素を順番に取り出してくれるfor文です。

for(型 変数 : 配列など){
  処理;
}

取り出された値は、自分で指定した変数の中に入ります。
処理が終わったら次の値を取り出し、次の要素が存在しなければ、for文を終了します。

2次元配列

今まで、配列の中には値を入れてきましたが、値の代わりに配列を入れることができます。
この様な配列を2次元配列と言います。
2次元配列は以下で宣言できます。

//初期値なし
int[][] b = new int[3][3];

2次元配列になると、値を取り出す際に、拡張for文を二回書いてやる必要があります。
一回だけだど、配列の中の配列が取り出されるだけで、その配列内の値までは取り出せません。

<使用例>

public class TwoDimensionalArray {
  public static void main(String[] args) {
    //3×4の配列本体を生成(初期値あり)
    int[][] num = {{1, 5, 3}, {2, 3, 6}, {7, 9, 5}, {4, 1, 8}};
  
    //配列numの要素を先頭から、変数iに代入する処理を、numの要素数分繰り返す
    for(int[] i : num) {
      //配列iの要素を先頭から、変数jに代入する処理を、iの要素数分繰り返す
      for(int j : i) {
        System.out.print(" " + j);
      }
      System.out.println();
    }
  }
}

<実行結果>

まとめ

配列が扱えると様々なデータをグループ化して管理できます。
2次元配列も、3次元4次元と増やすことができるので、気になる方は試してみてください。

次回講座:クラス
【Java入門⑦】クラス ~初心者でも安心!基礎から学べるプログラミング講座~

タイトルとURLをコピーしました