Codegym University コースの一部としてのメンターによる講義の抜粋。フルコースにお申し込みください。
「こんにちは、アミーゴ!」
「やあ、エリー!」
「今日は、新しくて興味深いエンティティである配列について説明します。配列は、1 つだけではなく複数の値を格納できるデータ型です。」
「まずは例え話から始めましょう。一軒家とアパートを比べてみましょう。普通の家は通常一家族だけで暮らしていますが、アパートは複数のアパートに分かれています。一軒家に住んでいる家族に手紙を送るには、あなたは家の固有の住所を示す必要があります。アパートに住んでいる家族に手紙を送るには、アパートの固有の住所とアパート番号を書く必要があります。」
「これまでのところ、すべてが明らかになっています。」
「配列変数は、アパートの建物の変数に似ています。値を 1 つだけではなく、多くの値を格納できます。このような変数には、アパート番号 (インデックス) を使用して参照できる複数のアパートメント (要素) があります。これを行うには、次のようにします。アクセスする配列要素のインデックスを、配列変数名の後の角括弧内に指定します。これは非常に簡単です。」
「そう願っています、エリー。」
「マンション変数 (配列変数) には、任意の型の要素を含めることができます。必要なのは、「TypeName 変数名」の代わりに「TypeName[] 変数名」と記述するだけです。
ここではいくつかの例を示します。
コード | 説明 |
---|---|
|
要素String を含む配列を作成する5 |
|
5 つの「null」値が表示されます。
特定の配列要素の値にアクセスするには、角括弧と要素のインデックスを使用します。 |
|
listCount には、配列内の要素の数である値 5 が割り当てられますlist 。配列の長さ(要素数)を格納します。list.length |
|
オブジェクトを配列要素に割り当てるときは、要素のインデックスを角括弧で囲む必要があります。 |
|
すべての配列要素の値を画面上に表示します。 |
"なんて面白い!"
「配列変数には追加の初期化が必要です。」
— ?
「通常の変数の場合は、それを宣言して、それにさまざまな値を代入するだけで済みます。配列の場合は、もう少し複雑になります。」
「最初に N 個の要素を保持するコンテナーを作成する必要があります。それから初めて、コンテナーへの値の配置を開始できます。」
コード | 説明 |
---|---|
|
配列変数がnulllist です。要素のコンテナへの参照のみを保存できます。コンテナは個別に作成する必要があります。 |
|
要素のコンテナを作成し5 、変数への参照を割り当てますlist 。このコンテナには、0、1、2、3、4 の番号が付けられた 5 つのアパートメント (要素) があります。 |
|
要素のコンテナを作成し1 、変数への参照を割り当てますlist 。このコンテナに何かを入れるには、次のように書きます。list[0] = "Yo!"; |
|
要素のコンテナを作成し0 、変数への参照を割り当てますlist 。この容器には何も入れられません。 |
「なるほど。だんだんはっきりしてきましたね」
「配列に関する基本的な事実は次のとおりです。」
1)配列は多くの要素で構成されます。
2)特定の要素にアクセスするには、その番号 (インデックス) を指定します。
3)すべての要素は同じタイプです。
4)すべての要素の初期値は null です。プリミティブ型の配列の場合、初期値は 0、0.0 (小数の場合)、または false (ブール値の場合) です。これは、配列内にない初期化されていない変数の場合とまったく同じです。
5) String[] リストは単に変数を宣言するだけです。まず配列 (コンテナ) を作成し、その中に何かを入れてから、それを使用する必要があります (以下の例を参照)。
6)配列 (コンテナ) オブジェクトを作成するときは、その長さ、つまり要素の数を指定する必要があります。これは new TypeName[n] を使用して行います。
ここではいくつかの例を示します。
コード | 説明 |
---|---|
|
s null とlist 等しい null と等しい |
|
このlist 変数には、オブジェクトへの参照が格納されます。文字列の 10 要素配列、nは10に相当します。 |
|
list 要素配列が含まれるようになりました0 。配列は存在しますが、文字列を格納できません。 |
|
これにより例外 (実行時エラー) がスローされ、プログラムは異常終了します。nulllist 参照が含まれています。 |
|
これにより、例外 (実行時エラー) がスローされます: 配列インデックスが範囲外です。
10 個の要素が含まれている場合 |
GO TO FULL VERSION