1. メモリ内の配列
前の例では、図は少し不正確でした。
配列を作成する場合 (文字列を作成する場合と同様)、メモリの 2 つの別個のブロックが割り当てられます。1 つは配列(コンテナー) 自体を格納するためのブロックで、もう 1 つはそのアドレスを格納する変数用のブロックです。以下の図は、この説明を表しています。
10
int
要素の配列と配列のアドレスint[]
を格納する変数に割り当てられたメモリは、緑色で表示されます。int
比較のため、int
値を格納する通常の変数199
を青色で示しています。
これは、文字列をメモリに保存することを少し思い出させます。
そうです、文字列です。文字列を扱うときと同じように、配列変数を相互に割り当てることができます。
コード | 説明 |
---|---|
|
要素の配列を作成します10 int 。Index を使用してセルに値を割り当てます。Index を使用してセルに 値を割り当てます。 変数には、変数に格納されているアドレスを保存します。 ここで、メモリ内の同じ配列オブジェクトを指します。 配列オブジェクトの Index を持つセルに、 ( value を格納する) セルと(value を格納する)セルに格納されている値の合計を書き込みます。 4 2 9 7 b a a b 9 2 4 7 9 |
配列オブジェクトは元の場所に残り、 変数a
とb
変数は同じオブジェクトへの同じアドレス (参照) を格納します。写真を見てください:

2. 配列の操作に関する詳細
あらゆるタイプの要素の配列を作成できます。これを行うには、タイプ名の後に角括弧を書き込むだけです。一般に、配列の作成は次のようになります。
type[] name = new type[number];
ここで、type は配列に格納する要素のタイプです。Name は配列を参照するために使用する変数の名前で、numberは配列内のセルの数です。
上の例は、配列変数と配列オブジェクトを作成するための標準形式です。実際には、これらは 2 つの別個のエンティティです。
配列オブジェクトとは別に配列変数を作成できます。
type[] name;
name = new type[number];
そして、重要ではないもう 1 つのポイント:
例:
コード | 説明 |
---|---|
|
n 要素の配列を作成する |
|
203 要素を含む配列を作成する |
|
|
0..99
。
ArrayIndexOfBoundException
これは、インデックスが配列の範囲外にあったことを意味します。
3. 配列の長さ
前の例で見たように、配列変数を単独で作成し、後でコード内のどこかでそれに値 (配列オブジェクトへの参照) を割り当てることができます。こんなこともできます:
コード | 説明 |
---|---|
|
型の配列変数を作成します。変数が より小さいint[] 場合は、要素 の配列を作成します。 それ以外の場合は要素 の配列を作成します a 10 10 20 |
さて、このような配列を使って他に何ができるでしょうか? 含まれている要素の数をどうやって知ることができますか?
これを支援するために、配列には という名前の特別なプロパティ (変数) がありますlength
。次の式を使用して配列の長さを見つけることができます。
array.length;
これはarray
配列変数の名前であり、length
は配列のプロパティの名前です。プロパティの値はlength
変更できません。length
プロパティ自体を他の変数に割り当てることはできますが、何も割り当てることはできません (これを行おうとすると、プログラムはコンパイルできなくなります)。
次のように前の例を続けることができます。
コード | 説明 |
---|---|
|
型の配列変数を作成します。変数が より小さいint[] 場合は、要素 の配列を作成します。 それ以外の場合は、要素 の配列を作成します。 配列のすべての要素をループします: fromから length a 10 10 20 0 array.length - 1 |
4. Java の配列に関する事実の要約
配列についてわかっていることをまとめてみましょう。
事実 1.配列は多数のセルで構成されます。
事実 2.特定のセルには、その番号 (インデックス) を使用してアクセスします。
事実 3.すべての細胞は同じ種類です。
事実 4.すべてのセルの初期値は、0 (セルが数値を格納する場合)、null
(セルがオブジェクト参照を格納する場合)、またはfalse
(セルがboolean
値を格納する場合) です。この章では、デフォルト値について詳しく説明します。
事実 5. は String[] list
単なる変数の宣言です。これはコンテナ (配列オブジェクト) 自体を作成しません。変数を使用するには、まず配列 (コンテナー) を作成し、それを変数に割り当てる必要があります。以下の例を参照してください。
事実 6.配列オブジェクト (コンテナ) を作成するときは、そのオブジェクトの大きさ、つまり含まれるセルの数を指定する必要があります。これは次のようなステートメントで行われますnew TypeName[n]
。
事実 7.配列の長さは.length
プロパティを使用して見つけることができます。
事実 8.配列を作成した後は、その要素の型や格納する要素の数を変更することはできません。
コード | 説明 |
---|---|
|
s ですnull list _null |
|
このlist 変数には、オブジェクトへの参照、つまり10 要素で構成される文字列配列が格納されます。n は10 |
|
|
|
例外 (プログラム エラー) がスローされます。つまり、プログラムがクラッシュします。list への参照を保存しますnull |
|
配列範囲外例外(プログラムエラー)が発生します。 が要素/セル list を格納する場合10 、有効なインデックスは次のとおりです。0 1 2 3 4 5 6 7 8 9 —10 要素。 |
GO TO FULL VERSION