【Java入門】配列の基本的な使い方をマスターしよう!!

こんにちは、新米ブログの新米太郎です!

多くのプログラミング言語の中でも安定の人気ランキング上位Java言語!!

本記事では、1次元配列、2次元配列の役割、宣言の仕方、扱い方について紹介していきたいと思います。

新米太郎
新米太郎

学生時代偏差値35だった僕でもわかった配列の仕組みについて解説していきます。

今回のターゲット層

・Javaの初心者

初めに配列とは?

配列とは、同じデータ型の値をまとめて一つの変数に格納して扱うことができるものです。配列の値は順番に並べられていて、その順番のことを「添字」またの名を(インデックス)と言います。添え字は0から始まり、添字を指定することによって特定の値を格納したり取り出したりすることができます。

例えば、3人の兄弟を変数に格納する場合String型の変数を3つ宣言しなくては行けません。

配列を使わなかった場合
String house1 = "一郎";
String house2 = "次郎";
String house3 = "三郎";

 

しかし、配列を使うことによって1人1人格納する変数を宣言しなくても、1回の宣言で3人とも格納することが可能です。

配列を使った場合
String house[] = {"一郎","次郎","三郎"};

 

このように、配列名houseに一郎、次郎、三郎を添え字0番目から順番に格納できました。  

他にも配列には様々な宣言があるので見ていきましょう!

一次元配列の宣言

配列を使用するには、配列を宣言します。配列の宣言は以下のように記述します。

パターン1:2行で配列の宣言を行う場合
データ型[] 配列名;
配列名 = new データ型[要素数];
パターン2:1行で配列の宣言を行う場合
データ型[] 配列名 = new データ型[要素数];
パターン3:初めから値を格納する場合

値と値の間はカンマ(,)で区切るのがルール

データ型[] 配列名 = {値1,値2,・・・ };

「要素数」とは格納する値の領域数のことです。

例えば3つ値を格納したい場合の宣言は要素数は「3」です。

String[] house = new String[3];

配列の要素への値を代入と参照

配列を宣言した後、各要素へ値を代入することができます。配列の各要素は、次のように表すことができます。

 

配列の要素に値を格納する方法
配列名[添え字] = 値;

 

実際に、配列の宣言→配列に値を格納→格納した値を出力までプログラムを作成してみましょう!

[サンプルコード]

import java.util.*;

public class Main {
    public static void main(String[] args) {
        
      String name[] = new String[3];//配列の宣言

      name[0] = "一郎";//値を添え字0に格納
      name[1] = "次郎";//値を添え字1に格納
      name[2] = "三郎";//値を添え字2に格納

      System.out.println(name[0]);//一郎を出力
      System.out.println(name[1]);//次郎を出力
      System.out.println(name[2]);//三郎を出力
    }
}

(実行結果)

一郎
次郎
三郎

皆さんも実行結果がこのように出力されていればOKです!

では次に、宣言時に値を格納してある配列から値を出力させましょう。

宣言時に値を代入して値を出力する方法

初めから配列に格納する値が決まっている場合はこのようにプログラムを作成してみましょう。

[サンプルコード]

import java.util.*;

public class Main {
    public static void main(String[] args) {
      //配列に初期値を宣言  
      String[] name = {"一郎","次郎","三郎"};

      System.out.println(name[0]);
      System.out.println(name[1]);
      System.out.println(name[2]);
    }
}

(実行結果)

一郎
次郎
三郎

今回の場合ですと値が3つしかないので、この書き方でも良いですが、仮に値を100個格納して出力することになると出力文を100行書かなくては行けなくなりますよね?

これから、配列に多くの値を格納した場合に短いコードで出力させる方法を見ていきましょう。

lengthを用いて効率よく配列の値を出力させよう!

配列の要素数を取得するには、lengthを使用します。lengthは配列の要素数を調べるときに用いられ配列時に使われます。

lengthの宣言
配列名.length;

この宣言により配列の要素数が獲得できます。

では実際にプログラムを作成してみましょう。

[サンプルコード]

import java.util.*;

public class Main {
    public static void main(String[] args) {
     
    //配列に値10個初期化
      int[] numbers = {1,2,3,4,5,6,7,8,9,0};
      
    //lengthの値を出力=要素数
      System.out.println("lengthの値は" + numbers.length);

    //配列の要素分ループし値を出力
      for(int i = 0; i < numbers.length; i++){
          System.out.print(numbers[i]);
      }
    }
}

(実行結果)

lengthの値は10
1234567890

このようにlengthを使用することで配列に値が10個、100個と格納されていても短いコードで出力させることができます。便利ですね!!

では1次元配列はここら辺にしといて次に2次元配列を見ていきましょう。

2次元配列(多次元配列)とは

Java言語では、先ほどやりました1次元配列の他に2次元配列があります。2次元配列とは添え字を2個で管理することです。

例えば、一朗、次郎、三郎の身長、体重、好きな食べ物、嫌いな食べ物を2次元配列で表すとこのようになります。

他にもJava言語では2次元配列を複数まとめて3次元配列を作ることも可能で2次元配列以上の配列を作ることを多次元配列とも言います!

2次元配列の宣言

2次元配列の宣言は以下で作成できます。

パターン1:1行で配列の宣言を行う場合
データ型[][] 配列名 = new データ型[要素数][];

 

パターン2:2行で配列の宣言を行う場合
データ型[][] 配列名 ;
配列名 = new データ型[要素数][];

 

パターン3:初めから値を格納する場合
データ型[][] 配列名 = {{値1,値2,・・・ },・・・,{値α,値β,・・・}};
・{}で囲まれた一つ一つが要素
・1次元配列では[]が1つですが2次元配列の宣言時には[]が2つ必要です。

実際に2次元配列を書いてみよう

2次元配列の宣言から出力までコードを作成しましょう。

[サンプルコード]

import java.util.*;

public class Main {

      public static void main(String[] args) {
       
       //2次元配列の宣言
           String[][] brothers = new String[3][];

           //それぞれの配列に初期設定
           String[] 一郎 = {"170センチ", "65キロ", "カレー", "トマト"};
           String[] 次郎 = {"165センチ", "60キロ", "スシ", "リンゴ"};
           String[] 三郎 = {"180センチ", "80キロ", "コメ", "イチゴ"};
       
       //配列を配列に格納(2次元配列) 
           brothers[0] = 一郎;
           brothers[1] = 次郎;
           brothers[2] = 三郎;

           System.out.println("一郎の身長は"+ brothers[0][0]);
           System.out.println("次郎の体重は"+ brothers[1][1]);
           System.out.println("三郎の好きな食べ物は"+ brothers[2][2]+","+"嫌いな食べ物"+ brothers[2][3]);

    }

}

(実行結果)

一郎の身長は170センチ
次郎の体重は60キロ
三郎の好きな食べ物はコメ,嫌いな食べ物イチゴ

皆さんも実行結果がこのように出力されていればOKです!

詳しく解説しますと、まず1次元配列の一郎、次郎、三郎に初期値を格納しました。その後、2次元配列brothers[0],[1],[2]の添字に1次元配列で初期化した一郎、次郎、三郎をそれぞれ格納しています。出力時には出力させたい値の添え字を書けば出力される仕組みになっています。

例えば上のコードで”一郎の好きな食べ物をを抽出したい場合”brothers[0][2]と書けばbrothers[0]は一郎で、brothers[0][2]の[2]には「カレー」が格納されています。よって「カレー」が出力されます。

まとめ

いかがだったでしょうか?

僕も初め配列の役割があまり理解できていませんでしたが、ネットや参考書などで調べながらソースコードを書いて覚えました。皆さんも調べただけで終わらせないで必ずインプットした内容をコードに表してみてください。そうすることで理解度が増します。

今後Javaを学んでいく人は自分がどれくらい知識が付いたか知るために、Javaの資格を取るのもいいと思います。

初心者の方はOracle社のJavaBronzeから受けるのをお勧めします!

【JavaBronzeを受けにいく人へ】JavaBronze試験を受けたので試験対策や参考書などを紹介
Orcle社が出しているJava資格の中の1つ。今回、登竜門であるJavaBronze(1Z0-818)を受けに行ってきましたので、JavaBronzeに関しての試験詳細、勉強法、おすすめの参考書などを本記事で話していきます。
新米太郎
新米太郎

Javaは安定して人気上位のプログラミング言語なので扱うことができるように僕も皆さんも頑張っていきましょう!




コメント

  1. […] 【Java入門】配列の基本的な使い方をマスターしよう!!こんにちは、新米… […]

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