Okapi Project

配列(はいれつ)

バージョン
2003 年 06 月 30 日 Ver.1.1
作成者
H.Izumi ( Xware )

目的

データという集合体をまとめて扱いたい!

配列ってなに?

同じ型の数値をまとめて記憶できる。という機能を持っている。例えば、50 人のテストの点数を変数に記憶させて管理するプログラムを作るとすると、50 個の変数を作らなければならない、そこで「配列」を使うと便利になります。

配列の説明

配列は、いくつもの同じ名前のついたハコに、入れたい物(オブジェクト)を入れることができ、そのハコをうまく扱うことによってデータの扱いが簡単に出来るようになります。

配列の構文にはいくつかの書き方があります。

配列の宣言と要素の確保

「配列の宣言」「要素の確保」を行う構文の例です。

型名 変数名 [] = { 1 , 2 , 3 , ・・・} ;
型名
扱うデータの型(int , String)などを指定する。
変数名
 配列として扱うデータの変数を任意で記述する。
 配列に代入したい値を記述する。

配列の作成

「配列の宣言」だけを行い「要素の確保」は、後で処理するという構文の例です。

型名 変数名 [ ] = new 型名 [要素数] ;
型名
扱うデータの型(int , String)などを指定する。
変数名
配列として扱う、データの変数を任意で記述する。
要素数
要素数を使って配列のハコの数を指定することによって初めて値の代入、出力が可能になる。

プログラムでの配列の中のデータの操作

上記のように配列の作成と、値の代入については分けて行うこともできます。代入する時は「添字」をつけることを注意しなければいけません。配列は、データを扱うときに「添字」を使ってデータの番号を指定しないと、データを扱うことはできません。

多次元の配列を作りたい場合

一次元の配列が一人の生徒の複数のテストの点数を管理出来るプログラムだと考えると、多次元の配列は複数の生徒の複数のテストの点数を管理出来るプログラムになります。以下の構文が二次元の配列の場合の構文の例です。

型名 変数名 [ ] [ ] = new 型名 [添字] [添字] ;


もっと深く配列を扱いたい

構文の例:多次元の配列の作成(二次元の場合)

使用例:多次元の配列(二次元の場合)の作成

      int test [][] = new test[3][3] ;

これで3*3の要素数をもつ多次元配列になる。

構文の例:多次元配列(二次元の場合)の代入

      変数名 [添字] [添字] =  ;

使用例:多次元配列(二次元の場合)の代入

 test [0][0] = 5 ;
 test [0][1] = 3 ;
 test [0][2] = 4 ;

配列の使い方

一次元の配列

1人の生徒のテストの点数を表示するプログラムの例。

public class HairetuTest {

    public static void main(String[] args) {

        // テストの点数を入れる配列を定義する。
        int test[] = new int[3];

        // テストの点数を配列に入れる。
        test[0] = 80; // 国語の点数
        test[1] = 90; // 社会の点数
        test[2] = 95; // 数学の点数

        //テストの点数を表示する。
        System.out.println(" 国語 = " + test[0]);
        System.out.println(" 社会 = " + test[1]);
        System.out.println(" 数学 = " + test[2]);
    }
}

実行結果は以下のようになります。

国語 = 80
社会 = 90
数学 = 95

二次元の配列

二人の生徒のテストの点数を表示するプログラムの例

  int test [][] = new test[2][3] ;   
これで2*3の要素数をもつ多次元配列になる。
public class HairetuTest {

    public static void main(String[] args) {

        int test[][] = new int[2][3];

        test[0][0] = 50; //国語
        test[0][1] = 45; //社会
        test[0][2] = 36; //数学
        test[1][0] = 80; //国語
        test[1][1] = 72; //社会
        test[1][2] = 84; //数学
        System.out.println("一人目のテスト結果は、国語 " + test[0][0] + " 社会 " + test[0][1] + " 数学 " + test[0][2]);
        System.out.println("二人目のテスト結果は、国語 " + test[1][0] + " 社会 " + test[1][1] + " 数学 " + test[1][2]);
    }
}

実行結果は以下のようになります。
     一人目のテスト結果は、国語 50 社会 45 数学 36
     二人目のテスト結果は、国語 80 社会 72 数学 84

ポイント

ヒント

いくつもの同じ名前がついたハコに番号をつけ、入れたい物(オブジェクト)を入れることができ、そのハコをうまく扱うことによってデータの扱いが簡単にできるようになる。

プリミティブ型であっても参照型であっても配列にできる。

配列の要素数を知りたいときに、length を使うと要素数を知ることできる。


構文の例:配列の長さ

変数名 . length
このように配列の変数名に対して length を使うと配列の長さを知ることができる。

使用例:配列の長さ
     for ( int index = 0 ; index < test.length ; index ++){
         System.out.printin( test [ index ] ) ;
     }
このプログラムを実行すると配列 test に入っている値を全て出力することができる。
    
配列は「0」番目から始まる。例えば、5 つの要素数を持つ配列を作ったら、一番目にあたるのが「0」で 5 番目が「4」となる。
配列は添字を使って要素を指定しなければ、そのハコを扱うことはできない。
配列の要素数を越えた添字を使って配列の値を扱おうとすると、ArrayindexOutOfBaoundsException (例外)が発生するので注意が必要。

関連


Copyright © 2003 - 2006 Okapi Project All Rights Reserved.