本文へスキップ
BecomeCoder

Java文法コース · 第5章 配列 ― 複数のデータをまとめて扱う · レッスン20

配列の宣言と初期化

ブラウザで完結

導入

「点数A、点数B、点数C…」と、変数をいちいち別々の名前で作るのは面倒ですし、人数が増えるたびにコードを書き足すのも大変です。配列を使えば、複数の値を1つの変数名でまとめて管理できます。

説明

配列の作り方は主に2通りあります。

public class Main {
    public static void main(String[] args) {
        int[] scores = new int[3];  // 要素数3の配列を作る(中身は0で初期化される)
        scores[0] = 80;
        scores[1] = 90;
        scores[2] = 70;
        System.out.println(scores[0]);
        System.out.println(scores.length);

        int[] prices = {100, 200, 300};  // 波かっこで値を並べて一気に作る
        System.out.println(prices[2]);
    }
}
  • int[] scores = new int[3];型[] が配列の型です。new int[3] で「int を3個入れられる配列」を作ります。作った直後は全部 0intの初期値)で埋まっています。
  • scores[0]インデックス(添字) はいつも 0から始まります。3個の配列なら scores[0]scores[1]scores[2] の3つが使えます。
  • scores.length … 配列の要素数(長さ)。() を付けないフィールドである点がメソッドと違います。
  • int[] prices = {100, 200, 300}; … 値がわかっているなら、波かっこでまとめて初期化するほうが簡潔です。

配列の要素数は一度作ったら変更できません。要素を増減させたい場合は、この後別のコースで学ぶ ArrayList などを使います。

やってみよう

下のエディタで scores の要素数や中身を変えて、scores.length や各要素の表示がどう変わるか確かめましょう。存在しないインデックス(例えば scores[5])にアクセスするとどうなるかも試してみてください(エラーになります)。

演習

String[] languages = {"Java", "Python", "C#"}; を作り、2番目の要素(インデックス1)を表示してください(結果は Python)。

ヒント1を見る

配列のインデックスは0から始まるので、2番目は languages[1] です。

ヒント2を見る

System.out.println(languages[1]);

実際に動かしてみよう

下のエディタにJavaを書いて「実行」を押すと、学習用シミュレータが System.out.println の出力を表示します(本物のJVMではなく、教材の範囲を再現した軽量エンジンです)。クラス・継承・コレクションなども動きます。Scanner で入力を読む例は「標準入力」欄に値を入れてください。本文の例を書き換えて動かしてみましょう(Stream・ラムダ・スレッド・ファイル入出力など一部の機能は対象外です)。

Java — ブラウザ内で実行(学習用シミュレータ)

Javaの教材サブセットを動かす学習用シミュレータを読み込みます(本物のJVMではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。