ホームページ >Java >&#&チュートリアル >【Java入門ノート】Java言語の基礎(5):配列

【Java入門ノート】Java言語の基礎(5):配列

黄舟
黄舟オリジナル
2016-12-22 11:33:471395ブラウズ

はじめに

配列は複数のデータを格納するために使用できます。Java 配列では、すべての配列要素が同じデータ型である必要があります。配列が初期化されると、配列のメモリ内のスペースは固定され、配列の要素がクリアされても、占有されたスペースは保持されたままになります。

ライフケース: ミュージアムラック

【Java入門ノート】Java言語の基礎(5):配列

各アイテムラックには同じ種類のアイテムが含まれており、アイテムが棚から取り外されてもアイテムラックは変わりません。

配列を定義する

【Java入門ノート】Java言語の基礎(5):配列

配列を使用するための 4 つのステップ:

1. 配列を宣言する

Java は 2 つの形式の配列定義形式をサポートします。 型変数名[];

例:

int[] a;int b[]; //どちらの方法も機能しますが、最初の方法を使用することをお勧めします。

配列の宣言は、上記の例では博物館でカスタマイズされたアイテム ラック (配列) を購入することに相当しますが、アイテム ラックのサイズ (配列サイズ) はまだ決定されておらず、アイテムラック(配列要素)。

2. スペースを割り当てる

スペースを割り当てるには、配列を初期化する方法が 2 つあります:

1 つ目: 静的初期化

静的初期化の構文形式は次のとおりです:

データ型 [] 変数name = 新しいデータ型 []{データ 1, データ 2, データ 3,...};

例:

int[] a = new int[]{4,2,64,12,3}; /これらの数値を配列に格納します。配列のサイズ (長さ) は中括弧内の要素の数です。この例では、サイズは 5String[] b = new String[]{"Zhang San", "Li Si", " Wang Wu"}; //すべてのデータの型は定義されたデータ型である必要があります int[] c = {2,5,7}; //この略語も使用できます

これは次のようなものですカスタマイズされたアイテムを購入する アイテムラックが戻ってきて、ディスプレイアイテムがアイテムラックに配置され、アイテムがアイテムラックのサイズと同じ大きさになります。

2 番目: 動的初期化

動的初期化は、配列のサイズのみを指定し、システムに各要素の初期値を指定させる方法です。構文形式は次のとおりです:

データ型 [] 変数名 = 新しいデータ型 [サイズ];

この形式では、データの長さを指定した後、整数型の配列サイズを指定する必要があります。配列に格納できる要素の数が決まります。また、すべての要素にデフォルトの初期値を割り当てます。

例:

int[] a = new int[5]; //長さ 5 の配列を定義します。つまり、同時に 5 つの int 型の値を格納できます。初期化中のデフォルト値は次のように設定されます:

byte、short、int、long のデフォルトは 0;

float、double のデフォルトは 0.0; 'u0000';

boolean のデフォルトは false;

他の参照型のデフォルトは null;

3. 割り当て

配列を初期化しても、内部のデータは割り当てによって変更できます。配列は初期化され、配列のサイズは決定されました。各配列要素に値を割り当てるにはどうすればよいでしょうか。

配列には添字の概念もあります。配列が初期化されると、項目の表示棚の番号と同じように、各要素に添字が割り当てられます。

配列の添字は 0 から始まります。つまり、最初の要素の添字は 0 です。なぜ 0 から始まるのかについては、後で説明します。まず代入の例を見てみましょう。

int[] a = new int[3]; //長さ 3 の int 型配列を定義し、3 つの要素の値はデフォルトで 0 に設定されます。 //最初の要素を設定します。 value to 4a[1] = 5; //2 番目の要素の値を 5a[2] = 7 に設定します

なぜ配列の添字は 0 から始まるのでしょうか?

最初に知っておく必要があるのは、プログラムがコンピューターのメモリ内で実行されると、データを保存するためにメモリ内に小さなスペースが開かれ、コード内で変数が定義されるということです。 、例:

int a = 5;

値が 5 の int 型変数を定義します。これはメモリ内で次のように表され、a という名前の小さなメモリをメモリ内に割り当てます。そこに格納される値は 5 です。

【Java入門ノート】Java言語の基礎(5):配列

そして、a のような変数名を通じてメモリ内の値を取得するにはどうすればよいでしょうか?それは、私たちが住んでいる家に住所があるのと同じように、どんな小さな記憶にも住所があるからです。その住所を通して、そこに誰が住んでいるのかを知ることができるからです。

配列操作を容易にするために、2 つの配列がメモリ内の接続された場所に保存されます。

int[] b = new int[3] //長さ 3 の int 型の配列を定義します。内部の要素のデフォルト値は 0 です

このときのメモリは次のようになります:

【Java入門ノート】Java言語の基礎(5):配列

配列内のデータを取得する場合も同様です。 b 配列の各要素のデータを知る方法。 ?まず、配列 b がメモリ内のどこにあるかがわかります。配列はメモリ内の接続されたメモリ空間であるため、b[0] の位置は b+0 に等しく、b[1] の位置は次のようになります。 b+ 1,b[2]=b+2,... など、配列のすべての要素の位置がわかります。配列の最初の要素が b[0] で表される場合、それは正確に b で表される位置になります。最初の要素の位置を表すために 1 が使用される場合は、次のようにする必要があります。 a+1-1で表せます。

4. データの処理

前のコンテンツでは、配列を定義し、配列を初期化し、値を割り当てました。配列の添字を使用して、配列の各要素の値も配列の添字を介して取得されます。

int[] a = 新しい int[3]; a[0] = 3; a[1] = 4; a[2] = 5; System.out.println(a[1]); //配列の 2 番目の位置の値を取得して出力します。 //配列内の各要素をループすることもできます。 for(int i = 0; i

上記の例では、出力するためにループするときに、配列を渡すために a.length が使用されていることがわかります。変数名 .length は配列の長さを取得できるので、上記では a.length を使用して配列の長さを 3 に取得し、3 回ループして配列の要素を出力します。

存在しない添字にはアクセスしないでください

上記のように、変数名 [添字] を通じて変数に値を代入または取得することで配列を制御します。アクセスが配列の長さの添字を超える場合、異常に見えるでしょう。

int[] a = 新しい int[2]; a[5] = 2; // a 配列の長さは 2 倍だけで、添字 5 を通じて 6 番目の要素にアクセスします。この位置が実際の a 配列に存在しない場合、例外が発生します。

2 次元配列または多次元配列

上で説明したのは、基本データ型または参照データ型を配列に格納することですが、配列を配列に格納することもできます:

【Java入門ノート】Java言語の基礎(5):配列

上記では、配列要素に別の配列要素を格納し、その内部の配列にはデータ型 int の値が格納されます。このような配列を 2 次元配列と呼びます。

二次元配列の定義、初期化、代入

データ型 [ ] [ ] 配列名 = new データ型 [長さ 1] [長さ 2] ;

長さ 1 は配列の外層の長さ, length 2桁以内の1層の長さ。

上の図のフォームを定義して初期化するには、次のようにすることができます:

int[][] a = new int[3][3]; a[0][0] = 2; //アクセスする場合、最初の角括弧内の数字は配列の外側の層の要素の添字を表し、2 番目の角括弧内の数字は配列の内側の層の添字を表します。配列 a[0 ][1] = 3; a[0][2] = 4; a[1][0] = 5; a[1][1] = 3; a[1][2] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;

次のような形式で 2 次元配列を定義することもできます:

【Java入門ノート】Java言語の基礎(5):配列

int[][] a = new int[3][ ]; //初期化を定義するときに外側の層の長さを 3 に設定し、内側の層の長さを設定しないでください。
a[0] = new int[2] //内部の各層を初期化して、長さ a[1] = 新しい int[1]; a[2] = 新しい int[3]; a[0][0] = 3 //各要素に値を代入します a[0][1] = 4; a[1][0] = 9; a[2][0] = 90; a[2][1] = 70; a[2][2] = 85;


三次元配列は、配列を格納する配列内の配列です~~~~~ 類推すると、n 個の多次元配列が存在する可能性がありますが、ほとんどの人はあまり使用しません ~~~^_^~~ ~

以上、【Java入門】メモ】Java言語の基礎(5):配列の内容 その他の関連内容については、PHP中国語Webサイト(www.php.cn)にご注目ください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。