サイズ: 1339
コメント:
|
サイズ: 1811
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 11: | 行 11: |
'''例''' |
|
行 14: | 行 16: |
for (int i = 0; i < 100; i++) | for (int i = 0; i < a.length; i++) |
行 19: | 行 21: |
<<BR>>a の型は int[ ] (すなわち int型の配列)であるが、変数aのために用意されるのは参照型の値が入る箱1つだけである。 | |
行 22: | 行 25: |
それを a に代入することで、配列の各要素を参照できるようになる。 | それを a に代入することで、aを使って配列の各要素を参照できるようになる。 |
行 24: | 行 27: |
3~4行目では要素をゼロで初期化している。 | 3~4行目では配列の要素に0を代入している。 <<BR>>aが参照している配列の大きさは a.length で得ることができ、繰り返しの中で利用している。 |
行 26: | 行 30: |
変数aの定義と配列オブジェクトの作成が別々になっていることに注意してください。 | 変数aの定義と配列オブジェクトの作成が別々になっていることに注意。 配列オブジェクトは実行時に作成されるので、配列の実際の大きさも(コンパイル時でなく)実行時に決まることになる。 |
配列
配列の要素の参照や要素への値の代入などでの要素の指定方法はCと同じです。
a[0] = 1; a[1] = a[0] + 2;
配列の宣言と使い始めに必要な処理は異なります。
例
1行目の変数宣言 int[ ] a; により、変数aの場所が用意される。
a の型は int[ ] (すなわち int型の配列)であるが、変数aのために用意されるのは参照型の値が入る箱1つだけである。
2行目の new int[100] により、int型のデータが100個並んだオブジェクトが作られる。
それを a に代入することで、aを使って配列の各要素を参照できるようになる。
3~4行目では配列の要素に0を代入している。
aが参照している配列の大きさは a.length で得ることができ、繰り返しの中で利用している。
変数aの定義と配列オブジェクトの作成が別々になっていることに注意。
配列オブジェクトは実行時に作成されるので、配列の実際の大きさも(コンパイル時でなく)実行時に決まることになる。
配列の宣言は
int[] a;
ではなく
int a[];
と書く方法もあります。
1番目の書き方はint配列型の変数a、 2番目の書き方はint型aの配列 と読めます。 どちらでもかまわないのですが、1番目の方がなんとなくオブジェクトっぽくて、 説明の図とあっているように見えませんか。