U-style Java独学日記Return  Since2001 メインメニューに戻る Javaメニューに戻る
タイトル配列について
文書管理番号 作成日 分類1 分類2 キーワード

java0010

2002-10-24 基本   配列

 今回は配列について学習します。配列とは
「変数に添え字がついたもの」
のようなものです。添え字(インデックス)とは番号で、学生ならば学生番号がついているように、「同じ性質の内容」に番号をつけたものです。添え字を使うメリットは変数の扱いが楽になることです。実際添え字があるとないとではプログラミングのコーディング量(記述する量)がとても変わってきます。もちろん内容がひとつしかないときには変数を使ったほうがよいですが、複数件内容があるのならば配列で整理し、管理するべきです。

  1. 配列とは
    配列とは上記で説明した通りのものですが、イメージとしては下記のようになります。
    各店売上(Sales)を配列定義したとします。
    Sales[0] Sales[1] Sales[2] Sales[3] Sales[4]
    100 200 150 300 90

    それぞれ箱があり添え字毎に値が入っているイメージです。

  2. 配列宣言
    配列を使うには宣言および確保の必要があります。実際には簡略化する方法がありますが、ここではわかりやすくするためにあえて2つに分けています。(個人的にはこの記述が好きだが・・・というのはあとで読んだときにわかりやすい)まず配列変数名を宣言し、その後にその内容(どんな型のデータを使うか?いくつ必要か?)を指定します。
    1. 宣言
      型 配列変数名[ ];

      です。具体的には
      int Sales[ ];
      となります。
    2. 配列要素の確保
      配列変数名 = new 型名[要素数];

      です。具体的には
      Sales = new int[5];
      となります。
      ここで注意点がひとつあります。Javaの配列確保では添え字が0から始まるということです。つまり配列数を5個指定したときには0から4番までの添え字が適用されますので注意してください。

  3. 配列に値を入れる。
    では実際に配列に値を入れて見ます。
    Sales[0] = 100;
    Sales[1] = 200;
    Sales[2] = 150;
    Sales[3] = 300;
    Sales[4] = 90;


  4. 実際に行ってみる
    次のようなサンプルプログラムを実行してみます。
    class java0010_01
    {
    public static void main(String args[])
    {
    //配列宣言
    int Sales[];
    Sales = new int[5];

    //配列への代入
    Sales[0] = 100;
    Sales[1] = 200;
    Sales[2] = 150;
    Sales[3] = 300;
    Sales[4] = 90;

    //値を表示する1
    System.out.println("第1号店の売上は" + Sales[0] + "です");
    System.out.println("第2号店の売上は" + Sales[1] + "です");
    System.out.println("第3号店の売上は" + Sales[2] + "です");
    System.out.println("第4号店の売上は" + Sales[3] + "です");
    System.out.println("第5号店の売上は" + Sales[4] + "です");

    //値を表示する2
    for (int i=0; i<5; i++){
    System.out.println
    ("第" + (i+1) + "号店の売上は" + Sales[i] + "です");
    }
    }
    }

    実行結果
    G:\s_java>java java0010_01
    第1号店の売上は100です
    第2号店の売上は200です
    第3号店の売上は150です
    第4号店の売上は300です
    第5号店の売上は90です
    第1号店の売上は100です
    第2号店の売上は200です
    第3号店の売上は150です
    第4号店の売上は300です
    第5号店の売上は90です

    G:\s_java>


    1号店の全角が半角になった以外に変化はありません。
    ここではループ文(for文)を使いましたが、もしこれらを変数だけ使って表示するのは大変なことです。ここでは5つの要素ですが、これが100件、1000件もあればもはや配列はなくてはならないものとなります。

  5. 配列の注意点
    1. 配列は宣言した要素数以上の添え字は利用できません。(例:上記の場合Sales[9]を指定するとエラーになります。
    2. 簡単宣言および確保方法 型 配列変数名[] = new 型[要素数];でも指定できます。(例:int Sales [] = new int[5];)
    3. もっと簡単な方法:型 配列変数名〔〕 = {値1、値2、・・・} です。確かに要素数を指定しなくても要素の数がわかるのでその文省略してのものと思われます(例:int Sales[] = {100,200,150,300,90})