1. 1次元配列
1.1 1次元配列の定義
タイプ配列名[];タイプ[]配列名;
型 (type) は、単純な型の組み合わせ型を含む、Java の任意のデータ型にすることができます。配列名 arrayName は有効な識別子であり、[] は変数が配列型変数であることを示します。
もう 1 つの形式は C++ 開発者にとって非常に奇妙かもしれませんが、JAVA や C# などの開発言語の場合は、他の形式の方が直感的かもしれません。これは、ここで定義されているものは単なる変数であり、システムはそれをインスタンス化しないためです。 . では、変数の型を指定するだけでよく、[] で配列のサイズを指定する必要はありません。 (最初の形式は過去の慣習との互換性のためだけなのでしょうか?やっぱりC言語の影響が大きすぎますか?)
例えば:
int intArray[]; は整数配列を宣言し、配列内の各要素は整数データです。 C や C++ とは異なり、Java は配列の定義で配列要素にメモリを割り当てないため、[] は配列内の要素の数、つまり配列の長さを示す必要がなく、尋ねることもできません。上記のように定義された配列に関するもの。このとき、演算子 new を使用する必要があります: arrayName=new type[arraySize]; のうち、arraySize は配列の長さを指定します。例: intArray=new int[3];
3 つの int 型整数が占めるメモリ空間を整数配列に割り当てます。
通常、これら 2 つの部分は次の形式で組み合わせることができます。
type arrayName=new type[arraySize]; 例: int intArray=new int[3];
1.2 1次元配列要素の参照
配列を定義し、演算子 new を使用してメモリ領域を割り当てた後、配列内の各要素を参照できます。配列要素は次のように参照されます。
配列名[インデックス]
その中で、index は配列の添字であり、整数定数または式を指定できます。 a[3]、b[i] (i は整数)、c[6*I] など。添え字は 0 から始まり、配列の長さから 1 を引いた長さまで続きます。上記の例の in-tArray 番号には、次の 3 つの要素があります。
intArray[0]、intArray[1]、intArray[2]。注: intArray[3] はありません。
さらに、C や C++ とは異なり、Java では安全性を確保するために配列要素の範囲外チェックが必要です。同時に、各配列にはその長さを指定する属性 length があります。たとえば、 intArray.length は配列 intArray の長さを指定します。
public class ArrayTest{ public static void main(String args[]){ int i; int a[]=new int[5]; for(i=0;i<5;i++) a[i]=i; i=a.length-1;i>=0;i--) System.out.println("a["+i+"]="+a[i]);
実行結果は以下の通りです。
C:/>java ArrayTesta[4]=4a[3]=3a[2]=2a[1]=1a[0]=0
このプログラムは、配列内の各要素に値を割り当て、逆の順序で出力します。
1.3 1次元配列の初期化
上記の例に従って、配列要素に値を割り当てることができます。配列の定義と同時に初期化することもできます。
例えば:
int a[]={1, 2, 3, 4, 5};
配列の各要素をカンマ (,) で区切ると、システムは配列に一定量のスペースをアクティブに割り当てます。
C とは異なり、現時点では Java では配列が静的である必要はありません。実際、ここでの変数は C のポインターに似ているため、他の関数の戻り値として使用することは依然として有効です。 C、ローカル変数 呼び出した関数に戻って使用を続けることは、学習中の人にとって非常に起こりやすい間違いです。
2. 多次元配列
C や C++ と同様、Java の多次元配列は配列の配列とみなされます。たとえば、2 次元配列は特殊な 1 次元配列であり、各要素は 1 次元配列です。以下では、主に 2 次元の数値を例として使用して説明します。高次元の状況も同様です。
2.1 2次元配列の定義
2 次元配列は次のように定義されます。
配列名[][]; を入力します。
例えば:
int intArray[][];
1 次元配列と同様に、現時点では配列要素にメモリ領域は割り当てられません。同時に、各要素にアクセスする前に演算子 new を使用してメモリを割り当てる必要があります。
高次元配列の場合、メモリ領域を割り当てる方法がいくつかあります。
1. 次のように、各次元にスペースを直接割り当てます。
int a[][]=new int[2][3];
2. 最も高い次元から始めて、次のように各次元にスペースを割り当てます。
int a[][]=新しい int[2][];a[0]=新しい int[3];a[1]=新しい int[3];
1と同じ機能を完了します。これは、各次元の長さを 1 回指定する必要がある C や C++ とは異なります。
2.2 2次元配列要素の参照
2 次元配列の各要素の参照メソッドは次のとおりです: arrayName[index1][index2] ここで、index1 と Index2 は添字で、整定数または式 (a[2][3] など) を指定できます。同様に、各 1 次元の添字はすべて 0 から始まります。
2.3 2次元配列の初期化
次の 2 つの方法があります。
1. 各要素に値を直接割り当てます。
2. 配列の定義と同時に初期化します。
例: int a[][]={{2, 3}, {1, 5}, {3, 4}};
3×2 の配列を定義し、各要素に値を割り当てます。