配列

配列とは

同じ型のデータを多量に使用するために、一つの変数名と番号で代入したり参照したりできる変数をいいます。次のように使います。

x[3] = 120;
x[4] = x[3] + 5

まず、型と配列であることを宣言しなければなりません。

一般的な書き方。
int[] x;
double[] y;

これは次のように書くこともできます。x[3] などという表現からこちらの方が統一がとれているように感じるかもしれませんが、javaのオブジェクトなどの表現とマッチさせるためには上記の方がお勧めです。

許される別の書き方。
int x[];
double y[];

大きさ

配列には添え字の最大値があります。これの指定には2つの方法があります。

型の宣言と同時に値も代入する

int[] kazu = {12, 23, 34, 45, 56}
kazu[0]kazu[1]kazu[2]kazu[3]kazu[4]
1223344556

これで、5つの要素を持った配列になります。java では添え字は0から始まります。kazu[0]には12が入り、kazu[4]が56です。

値を入れず大きさだけ指定する

int[] kazu;
kazu = new int[5];
または、
int[] kazu = new int[5];

これで、5つの要素を持った配列になります。やはり添え字は0から始まりますから、kazu[0]からkazu[4]までの5つになります。kazu[5]は使えません。

添え字の最大値を超える添え字を使うと、次のようなエラーになります。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
        at array.main(array.java:26)

上のエラーメッセージは、[5]までしか使えないこと、array.java の 26 行目で問題が起こったと教えています。

配列の要素数

配列変数名.length で配列の要素数を求めることができます。

添え字は0からはじまるので、最大値は 配列変数名.length よりひとつ小さくなります。

int[] kazu = {12, 23, 34, 45, 56}
のとき、
kazu.length は 5です。
使えるのは
kazu[0] から kazu[4] までの5つになります。

代入・参照

値の代入と参照は、変数名に[ ]で囲んだ添え字をつけておこないます。[ ] がつく以外には他の変数と異なるところはありません。

kazu[4] = 345;
n = kazu[3];
System.out.println( kazu[0] );

課題

次のデータを配列に読んで合計と平均を表示するプログラムを作りなさい。

ファイル名 Goukei.java

78,45,65,35

kazu[0]に78,kazu[3]に35が入ります。

goukei には値をどんどん足していきますから、初期値は0とします。

//この部分に class, main をいつもの様に書き加え、字下げをする。
int[] kazu = {78,45,65,35};
double goukei = 0;    //goukei を宣言して値を初期化している;
System.out.println( kazu[0] );
goukei = goukei + kazu[0];
System.out.println( kazu[1] );
goukei = goukei + kazu[1];
System.out.println( kazu[2] );
goukei = goukei + kazu[2];
System.out.println( kazu[3] );
goukei = goukei + kazu[3];
//ここに 合計を表示する行を書く
System.out.println( goukei/kazu.length ); //ここでは平均を表示している
//この部分に  } を必要数入れる。

次のように表示されます。

$ java Goukei
78
45
65
35
223.0
55.75

Javaプログラミング(May.2011)
聖愛中学高等学校
http://www.seiai.ed.jp/