基本要素トップに戻る    印刷する

配列

変数はひとつのデータを格納するものでしたが、複数のデータをまとめて扱うときに,便利なのが配列です。複数の値をひとまとまりとして名前(配列名)をつけ、1つの変数のようにして扱えます。

配列の要素

配列中の個々のデータのことを配列の要素と呼びます。

配列のそれぞれの要素は、配列名と添字を使って表します。添字とは配列の要素に番号をつけたもので、先頭が0で順にふられます。配列名に続いて[ ]を書き、その中に添字を書きます。
[0]の値[1]の値[2]の値[3]の値[4]の値
たとえば、5個の要素を持つ配列dataの場合、
配列dataの最初の要素はdata[0]と表し、
配列dataの最後の要素はdata[4]と表します。

data[1]のように配列名と添字で表した配列の要素は、変数と同じように扱え、値を参照したり、演算の対象にしたり、値を代入したりできます。
data[0] = 123.4;
data[1] = data[0] + 100;

配列を作る

配列を作る(データの保存領域を確保する)にはキーワードnewを使います。
データ型 配列名[ ] = new データ型[ データの個数 ];
float型のデータを5つ入れるための配列は次のように作ります。
float data[ ] = new float[5];
次のように、配列名の宣言と配列の生成を別々に書いても同じです。
float data[ ];
data = new float[5];
配列を作った時点で、各要素には0.0が入ります。

配列を作る時に、値を同時に指定することができます(これを配列の初期化といいます)。 newを使わず、中括弧{ }の間に、カンマで区切って値を指定します。中括弧の中の値の個数分の配列が生成されます。
float data[ ] = {0.01, 1.01, 2.01, 3.01, 4.01};

配列中のデータ数

配列の中のデータの個数は、配列名.lengthで知ることができます。

配列の中のデータに対して、順に処理を行うような場合は、for文を使って繰返し処理を行うことがよくあります。何回処理を繰り返すのかを指定する時に、 配列の中のデータの個数が必要になります。 float型の配列の中の値の合計を計算するには、次のように書きます。
float sum = 0;
float data[ ] = {0.01, 1.01, 2.01, 3.01, 4.01};
for(int i=0; i<data.length; i=i+1){
    sum = sum + data[i];
}
println("合計は" + sum);

オブジェクトの配列

上では、基本データ型のデータが入る配列を例に説明してきました。
オブジェクトの配列でも、配列名の宣言、配列を作る(領域の確保)の方法は同じです。例えば、CircleButtonクラスのオブジェクトを8個入れる配列は次のように作ります。CircleButtonはラーニングトレイルの「音を使う」セクションで使ったボタンのクラスです。
CircleButton bu[];
bu = new CircleButton[];
配列の領域を上のように作った後で、次にオブジェクトを生成し、配列の要素に代入します。
 bu[0] = new CircleButton(40, height/2, 50, color(200, 0, 0));
 bu[1] = new CircleButton(100, height/2, 50, color(200, 0, 0));
数値の配列の場合、配列を作った時点で、値に0が入るのに対して、オブジェクトの配列の場合、何も入っておらず、「なし」を表す特別な値nullになっていますので、何も代入していない配列要素にアクセスしようとするとエラーになります。
arigat アットマーク acm.org / copyright © info