【Java】配列とは?宣言・代入・初期化など未経験者向けに解説

【Java】配列とは?宣言・代入・初期化など未経験者向けに解説

この記事では、テックドリームの講師がプログラミングについて、未経験の方にも分かりやすくご紹介いたします!
今回はJavaにおいての「配列」とは何か、書き方など具体例を踏まえながら解説します。

目次

    配列とは

    1つの値を保管できる変数に対して、同じ型の複数の値を保管できる「配列」があります。

    変数とは、文字や数値を保管できる箱です。変数については前回の記事をご参照ください。

    Could not retrieve HTML for embedding from https://tech-dream.school/archives/category/study/programming/lang/467

    例えば、値を10個保管したい時、変数だと10個の変数が必要となりますが、配列の場合は1個の配列にすべて保管できます。

    配列の書き方は言語により異なりますが、この記事ではJavaの配列について解説します。

    宣言

    変数と同様に配列も「宣言」を行います。
    配列は、以下のように型・配列名・配列の要素数を指定して宣言します。

    配列の書き方

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

    //3つの数字を保管する配列を宣言
    int[] intArray = new int[3];

     

    //5つの文字を保管する配列を宣言
    String[] strArray = new String[5];

    代入

    宣言した配列に値を入れるには、配列名とインデックスを指定して記述します。

    インデックス

    インデックスとは配列の要素の順番で、0から数えます。

    代入の書き方

    配列名[インデックス] = 代入する値;

    //配列intArrayの1番目に「1」を代入
    intArray[0] = 1;

    初期化

    配列の宣言と代入を同時に行うこともできます。

    初期化の書き方

    型[] 配列名 = {値1 , 値2 , 値3 ・・・};

    //int型配列intArrayに「1」,「2」,「3」を代入
    int[] intArray = {1, 2, 3};

    値の取得

    以下のような記述で配列に格納されている値を取得できます。

    値の取得の書き方

    配列名[インデックス]

    //配列intArrayの2番目に格納されている値を取得して表示
    System.out.print(intArray[1]);

    ArrayIndexOutOfBoundsExceptionとは?

    配列を使用する際に出力されがちなエラー(例外)として「ArrayIndexOutOfBoundsException」があります。

    ArrayIndexOutOfBoundsExceptionとは、不正なインデックスを使って配列にアクセスされたときに発生するエラーです。
    適切に配列の値を取得できなかった時に発生します。

    下記のような取得を行うと発生します。

    • インデックスが負の数である。
    • 配列のサイズ以上の数を取得しようとしている。

    エラー発生例

    //int型配列intArrayに「1,2,3」を代入
    int[] intArray = {1, 2, 3};
    
    // 配列intArrayの3番目に格納されている値を取得
    System.out.print(intArray[3]);

    上記のサンプルコードでは、intArrayの3番目の値を取得しようとして3のインデックスを指定したため、エラーが発生します。

    インデックスは0から始まるため、配列に存在しない4番目を指定していることになり、ArrayIndexOutOfBoundsExceptionが発生します。

    配列を使ったサンプルコード

    それでは、配列を使った簡単なサンプルコードを書いてみましょう。

    サンプルコード

    class Sample {
      public static void main(String[] args) {
    
        // int型配列の宣言
        int[] intArray = new int[3];
    
        // 配列「intArray」に数字を1つずつ代入
        intArray[0] = 1;
        intArray[1] = 2;
        intArray[2] = 3;
    
        // 配列「intArray」の3番目の値を表示
        System.out.println("intArrayの3番目に格納されている値 : " + intArray[2]);
    
        // String型配列「strArray」を文字列で初期化
        String[] strArray = {"あ", "い", "う", "え", "お"};
    
        // 配列「strArray」の5番目の値を表示
        System.out.println("strArrayの5番目に格納されている値 : " + strArray[4]);
    
        // 配列「strArray」の5番目の値を上書き
        strArray[4] = "か";
    
        // 配列「strArray」の5番目の値を表示
        System.out.println("strArrayの5番目に上書きされた値 : " + strArray[4]);
      }
    }
    

    実行結果

    intArrayの3番目に格納されている値 : 3
    strArrayの5番目に格納されている値 : お
    strArrayの5番目に上書きされた値 : か
    

    まとめ

    配列は、同じ型の複数の値を保管するのに便利です。
    インデックスが0から始まる点に注意して利用しましょう。
    次は、分岐について紹介します。

    Could not retrieve HTML for embedding from https://tech-dream.school/archives/category/study/programming/lang/660

    まずは選考会へ!

    「プログラマーになって一緒に働きませんか?」
    テックドリームの選考会は、選考だけでなく「相互理解」の場。不安なことも直接ご相談いただけます。


    電話でのご予約

    Webかんたん予約ができない場合や、ご質問がございましたら、
    お気軽にお電話ください。

    0120-262-242
    9:00~18:00(土日祝を除く)

     

    >テクド・リム

    テクド・リム


    「テックドリーム」の公式キャラクター。
    プログラマーだった父の影響を受けて、
    夢に向かって日々勉強に励むプログラマーのタマゴ。
    夢は「世界を変える、すごいプログラマーになること!」

    CTR IMG