配列
概要
データの集合を扱うことができる配列の説明です。
解説
配列を使用することで連続したデータの集合を扱えます。
連続した領域を変数として定義でき、添え字でアクセスできます。
プリミティブのほか、クラスも配列にできます。サイズは固定で後から変更はできません。
サイズを3とすると、添え字の有効範囲は0〜2になります。
例
データの集合を扱うことができる配列の説明です。
解説
配列を使用することで連続したデータの集合を扱えます。
連続した領域を変数として定義でき、添え字でアクセスできます。
プリミティブのほか、クラスも配列にできます。サイズは固定で後から変更はできません。
サイズを3とすると、添え字の有効範囲は0〜2になります。
宣言
書式
型[] 変数名;
1次元配列の宣言です。
型[] 変数名;
1次元配列の宣言です。
| 項目 | 説明 |
| 型 | 配列の型を指定します。 |
| 変数名 | 任意の名称を付けます。 |
生成
書式
new 配列型[要素数];
{要素[,要素]…};
要素、初期化する場合は各要素を指定します。
new 配列型[要素数]{要素[,要素]…};
配列の生成と初期化を行う書式です。
new 配列型[要素数];
{要素[,要素]…};
要素、初期化する場合は各要素を指定します。
new 配列型[要素数]{要素[,要素]…};
配列の生成と初期化を行う書式です。
| 項目 | 説明 |
| 配列型 | 配列の型を指定します。 |
| 要素数 | 配列のサイズをint型整数で指定します。有効範囲は0〜2147483647です。 |
代入
書式
配列型変数 = 配列型変数;
代入元と代入先の型と次元が一致していないとコンパイルエラーになります。
配列型変数 = 配列型変数;
代入元と代入先の型と次元が一致していないとコンパイルエラーになります。
アクセス
書式
変数名[添え字]
各要素にアクセスする書式です。
変数名.length
要素数を取得する書式です。 各要素に対しては添え字演算子でアクセスします。
また、配列型変数.lengthで要素数を取得できます。
有効範囲外の添え字を指定するとArrayIndexOutOfBoundsExceptionが発生します。
変数名[添え字]
各要素にアクセスする書式です。
変数名.length
要素数を取得する書式です。 各要素に対しては添え字演算子でアクセスします。
また、配列型変数.lengthで要素数を取得できます。
有効範囲外の添え字を指定するとArrayIndexOutOfBoundsExceptionが発生します。
例
| ソースコード | 説明 |
int[] ar = new int[3];
System.out.println("length" + ar.length);
for(int i = 0;i < ar.length;i++){
ar[i] = i;
}
System.out.println(ar[1]);
| 要素数3の配列arに0〜2を代入し、2番目の要素を出力しています。 |
int[] ar = new int[3];
try{
ar[-1] = 3;
}
catch(Exception e){
System.out.println(e);
}
try{
ar[3] = 3;
}
catch(Exception e){
System.out.println(e);
}
| 添え字の有効範囲外にアクセスしています。 |
| 結果 | 説明 |
length3 1 | サイズと2番目の要素が出力されています。 |
java.lang.ArrayIndexOutOfBoundsException: -1 java.lang.ArrayIndexOutOfBoundsException: 3 | 例外が発生しています。 |
多次元配列
多次元配列は厳密には1次元配列の入れ子
1次元配列の中に1次元配列への参照が入ります。
書式
型[][] 変数名;
型[][][] 変数名;
型{[]}… 解説
生成時は new int[3][]やnew int[5][][]など、一番左のサイズ指定は必須です。
例
1次元配列の中に1次元配列への参照が入ります。
書式
型[][] 変数名;
型[][][] 変数名;
型{[]}… 解説
生成時は new int[3][]やnew int[5][][]など、一番左のサイズ指定は必須です。
例
| ソースコード | 説明 |
int[][] a1 = new int[3][2];
for(int i = 0;i < a1.length;i++){
for(int j = 0;j < a1[i].length;j++){
System.out.println(a1[i][j]);
}
}
| ![]() |
int[][] a1 = new int[2][];
a1[0] = new int[1];
a1[1] = new int[3];
for(int i = 0;i < a1.length;i++){
for(int j = 0;j < a1[i].length;j++){
System.out.println(a1[i][j]);
}
}
| ![]() |
int[][] a1 = {{3},{1,2}};
for(int i = 0;i < a1.length;i++){
for(int j = 0;j < a1[i].length;j++){
System.out.println(a1[i][j]);
}
}
| ![]() |


