|
■概要
・配列とは、宣言した変数のサイズで連続的にメモリ領域を確保することをいいます。
・添え字の開始は"0"から始めます。
・領域を確保した場合、値は"0"で初期化されます。※C言語では初期化されません
・領域を超えた配列の指定をした場合、実行時にエラー(例外)が発生します。
※コンパイルは通ります
・領域を確保する場合は、必ずサイズを指定しなければいけません。
※JAVA言語ではポインタという概念が、領域を指定しなければいけません。
■配列の宣言・初期化
・配列の宣言及び初期化する場合は、以下のとおりです。
//J 宣言
//int i_data[100]; //J 領域だけの指定はできません
int i_data[];
//i_data = new int; //J 領域サイズを指定しないとエラー
i_data = new int[10];
//J 宣言・初期化
int i_data2[] = {1,2,3,4,5};
//J 動的領域指定
int size = 10;
int i_data3[] = new int [size]; //J C言語ではエラーになる
i |
■配列の要素数
・"配列名.length"で配列の要素数を取得できます。
//J 宣言
int i_data[] = new int [10];
for( int i=0; i < i_data.length; i++){ //J 要素数分、処理が行われる
i_data[i] = i + 1;
}
i |
■2次元配列
・JAVAの2次元配列は、連続したメモリ上に領域が確保されませんので注意が必要です。
【C・C++の場合 例:arry[3],[3]】
| 配列名 |
値 |
|
メモリ領域 |
| array[0][0] |
0 |
← |
100番地 |
| array[0][1] |
1 |
← |
101番地 |
| array[0][2] |
2 |
← |
102番地 |
| array[1][0] |
3 |
← |
103番地 |
| array[1][1] |
4 |
← |
104番地 |
| array[1][2] |
5 |
← |
105番地 |
| array[2][0] |
6 |
← |
106番地 |
| array[2][1] |
7 |
← |
107番地 |
| array[2][2] |
8 |
← |
108番地 |
【JAVAの場合 例:arry[3],[3]】
| 配列名 |
値 |
|
メモリ領域 |
| array[0][0] |
0 |
← |
100番地 |
| array[0][1] |
1 |
← |
101番地 |
| array[0][2] |
2 |
← |
102番地 |
| array[1][0] |
3 |
← |
200番地 |
| array[1][1] |
4 |
← |
201番地 |
| array[1][2] |
5 |
← |
202番地 |
| array[2][0] |
6 |
← |
300番地 |
| array[2][1] |
7 |
← |
302番地 |
| array[2][2] |
8 |
← |
303番地 |
|