#acl All: == 配列の宣言と初期化 == ---- === 配列の宣言 === 変数の宣言は次のような形式で行いました。 {{attachment:hensu1.png}} 配列も同様の形式で宣言できます。 配列の型は . 構成要素の型の後ろに [ ] をつけたものです。 例 . double型の配列 x の宣言 . int型の配列 aとb の宣言 {{{#!java double[] x; int[] a, b; }}} ---- === 配列の割り当て === 配列の割り当て(作成)はnewを使って行います。 . newは新しいオブジェクトを作るときに使います。 例 . double型の配列 x に1000個からなる配列を割り当てる。 {{{#!java double[] x; x = new double[1000]; }}} . int型の配列 a に100個からなる配列を、b に200個からなる配列を割り当てる。 {{{#!java int[] a, b; a = new int[100]; b = new int[200]; }}} ---- === 例 === 配列の宣言により、変数 a の値を保持する領域が用意される。 {{{ int[] a; }}} . {{attachment:hairetu1.png}} new により指定の大きさの配列が作られる。 {{{ new int[100]; }}} . {{attachment:hairetu2.png}} 作られた配列オブジェクトのアドレスを変数aに代入することで、aを用いて配列を利用できるようになる。 {{{ int[] a; a = new int[100]; }}} . {{attachment:hairetu3.png}} 宣言文と実行文 * int[] a; は宣言文です。 * a = new int[100]; は実行文です。 配列を実際に割り当てるのは実行文の方です。 したがって、配列の大きさは実行時に指定できることが分かります。 ---- === 配列の宣言と初期化 === 配列の宣言と割り当てを一度に行う構文もあります。 {{attachment:hensu6.png}} 例 {{{#!java double[] x = new double[1000]; }}} ---- === 配列の初期値 === 配列の初期値は次のように記述して指定できます。 {{{#!java int[] k = { 5, 3, 10, 21, 2 }; }}} この例では、大きさ5の配列が作られ、k[0]=5; k[1]=3; ... に初期化されます。 ---- === 補足 === 配列の宣言は {{{ int[] a; }}} ではなく {{{ int a[]; }}} と書く方法もあります。 1番目の書き方は'''int配列型の変数a'''、 2番目の書き方は'''int型aの配列''' と読めます。 どちらでもかまわないのですが、1番目の方がなんとなくオブジェクトっぽくて、 説明の図とあっているように見えませんか。