welcome: please sign in
location: "配列"の差分
3と19のリビジョン間の差分 (その間の編集: 16回)
2008-10-06 07:44:50時点のリビジョン3
サイズ: 561
編集者: masahiko
コメント:
2009-10-02 12:14:32時点のリビジョン19
サイズ: 1628
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
{{{#!java
int[] a;
a = new int[100];
for (int i = 0; i < 100; i++)
    a[i] = 0;
}}}
配列の要素の参照や要素への値の代入などでの要素の指定方法はCと同じです。
 {{{
 a[0] = 1;
 a[1] = a[0] + 2;
 }}}
行 10: 行 9:
1行目の変数宣言 int[] a; により、変数の場所が用意される。 配列の宣言と使い始めに必要な処理は異なります。

 {{{#!java
 int[] a;
 a = new int[100];
 for (int i = 0; i < a.length; i++)
     a[i] = 0;
 }}}

1行目の変数宣言 int[ ] a; により、変数aの場所が用意される。
a の型は int[ ] で int型の配列であるが、変数aのために用意されるのは参照型の値が入る箱1つだけである。
行 14: 行 23:
それを a に代入することで、配列の各要素を参照できるようになる。 それを a に代入することで、aを使って配列の各要素を参照できるようになる。
行 16: 行 25:
3、4行目では要素をゼロで初期化している。 3~4行目では配列の要素に0を代入している。
aが参照している配列の大きさは a.length で得ることができ、繰り返しの中で利用している。

変数aの定義と配列オブジェクトの作成が別々になっていることに注意してください。

----
配列の宣言は
 {{{
 int[] a;
 }}}
ではなく
 {{{
 int a[];
 }}}
と書く方法もあります。

1番目の書き方は'''int配列型の変数a'''、
2番目の書き方は'''int型aの配列'''
と読めます。
どちらでもかまわないのですが、1番目の方がなんとなくオブジェクトっぽくて、
説明の図とあっているように見えませんか。

配列

配列の要素の参照や要素への値の代入などでの要素の指定方法はCと同じです。

  •  a[0] = 1;
     a[1] = a[0] + 2;

配列の宣言と使い始めに必要な処理は異なります。

  •    1  int[] a;
       2  a = new int[100];
       3  for (int i = 0; i < a.length; i++)
       4      a[i] = 0;
    

1行目の変数宣言 int[ ] a; により、変数aの場所が用意される。 a の型は int[ ] で int型の配列であるが、変数aのために用意されるのは参照型の値が入る箱1つだけである。

  • hairetu1.png

2行目の new int[100] により、int型のデータが100個並んだオブジェクトが作られる。

  • hairetu2.png

それを a に代入することで、aを使って配列の各要素を参照できるようになる。

  • hairetu3.png

3~4行目では配列の要素に0を代入している。 aが参照している配列の大きさは a.length で得ることができ、繰り返しの中で利用している。

変数aの定義と配列オブジェクトの作成が別々になっていることに注意してください。


配列の宣言は

  •  int[] a;

ではなく

  •  int a[];

と書く方法もあります。

1番目の書き方はint配列型の変数a2番目の書き方はint型aの配列 と読めます。 どちらでもかまわないのですが、1番目の方がなんとなくオブジェクトっぽくて、 説明の図とあっているように見えませんか。

配列 (最終更新日時 2012-03-22 01:41:33 更新者 masahiko)