文字列は、文字を複数扱うためのプログラム的手法でした。同じように「配列」は、値や参照を複数扱うためのプログラム的手法です。
配列は英語では「array」と呼びます。
Javaの配列は、1つの配列変数の中に、同じ型の複数の値や参照を格納することができます。
┏━文字列━━━━━━━━┓ ┃┏━┓┏━┓┏━┓┏━┓┃ ┃┃私┃┃は┃┃天┃┃才┃┃ ┃┗━┛┗━┛┗━┛┗━┛┃ ┗━━━━━━━━━━━━┛
基本型の配列 ┏━配列━━━━━━━━━┓ ┃┏━┓┏━┓┏━┓┏━┓┃ ┃┃値┃┃値┃┃値┃┃値┃┃ ┃┗━┛┗━┛┗━┛┗━┛┃ ┗━━━━━━━━━━━━┛ 参照型の場合 ┏━配列━━━━━━━━━━━━━┓ ┃┏━━┓┏━━┓┏━━┓┏━━┓┃ ┃┃参照┃┃参照┃┃参照┃┃参照┃┃ ┃┗━━┛┗━━┛┗━━┛┗━━┛┃ ┗━━━━━━━━━━━━━━━━┛
配列内の1つ1つの値や参照は「要素」と呼びます。また、この要素の合計個数のことを「要素数」と呼びます。
┏━配列(要素数4)━━━━━━━┓ ┃┏━━┓┏━━┓┏━━┓┏━━┓┃ ┃┃要素┃┃要素┃┃要素┃┃要素┃┃ ┃┗━━┛┗━━┛┗━━┛┗━━┛┃ ┗━━━━━━━━━━━━━━━━┛
配列用の変数はは、「型[ ] 変数」として作成します。そして値は「new 型[要素数]」として初期化します。
型[] 変数 = new 型[要素数];
int[] array = new int[3];
配列の各要素には、その位置を整数の数値で指定してアクセスします。この数値は「0」から「要素数-1」の範囲で指定します。
int[] array = new int[3]; array[0] = 99; // 配列の0番目の要素の値を99に変更 array[1] = 66; // 配列の1番目の要素の値を99に変更 System.out.println(array[0]); // 99と出力(配列の0番目の要素の値を利用)
配列の添え字として、存在しない要素を指定するとエラーになります。具体的には、「マイナスの数値」や、「要素数以上の数値」を指定した場合はエラーになります。
┏━intの配列 ━━━━━━━━━┓ ┃┏━ 0━┓┏━ 1━┓┏━ 2━┓┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ 99 ┃┃ 66 ┃┃ 0 ┃┃ ┃┃ ┃┃ ┃┃ ┃┃ ┃┗━━━┛┗━━━┛┗━━━┛┃ ┗━━━━━━━━━━━━━━━┛ array[-1] array[0] array[1] array[2] array[3] ↑ ↑ エラー エラー
配列変数だけ先に作っておき、後でその中身を初期化することもできます。
int[] array; array = new int[3];
配列を作成すると、その各要素は型の種類に応じて、自動的に初期化されます。
以下、その値の表を掲載します。
型 | 初期値 |
---|---|
byte | 0 |
short | 0 |
int | 0 |
long | 0L |
float | 0.0f |
double | 0.0(0.0d) |
char | '\u0000' |
boolean | false |
参照型 | null |