配列

配列とは

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

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,92,63,57,89,84

要素数は9ですが、9と入れないで、kazu.length を使います。データを増やした時にも直さなくてよいので、この方が楽です。平均は67.5555555555555...になります。

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

kazu[0]に78,kazu[8]に84が入ります。従って繰り返しでは i は、0~8の範囲になります。

int[] kazu = {78,45,65,35,92,63,57,89,84};
goukei を宣言して値を初期化する;
for ( int i=0; i が配列の範囲内ならば ; 次の i ){
    System.out.print( i );
    System.out.print( " " );
    System.out.println( kazu[i] );
    goukei = goukei + kazu[i];
}
合計を表示する
平均を表示する。

次のように表示されます。0 78 ~ 8 84 までは合計や平均を求めるのには必要ないですが、for の動作の確認のために入れました。

$ java Goukei
0 78
1 45
2 65
3 35
4 92
5 63
6 57
7 89
8 84
608.0
67.55555555555556
もくじ

聖愛中学高等学校
http://www.seiai.ed.jp/
Last Modified