Java Arrays チュートリアル:宣言、作成、初期化 [例]
Java 配列とは?
Java 配列 同じデータ型のすべてのデータ値を含む、非常に一般的なデータ構造の型です。配列に入れられるデータ項目は要素と呼ばれ、配列の最初の要素はインデックス 0 から始まります。配列はオブジェクト クラスを継承し、シリアライズ可能で複製可能なインターフェイスを実装します。プリミティブ値またはオブジェクトを配列に格納できます。
簡単に言えば、これを置き換えるのに役立つプログラミング構造です
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
これで…
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
このチュートリアルでは、次のことを学びます-
- 配列とは?
- 配列変数
- 最初のアレイ プログラム
- Java 配列:参照渡し
- 多次元配列
これがどのように役立つかは、簡単なループのために変数がインデックス (括弧 [] 内の数字) を参照できることです。
for(count=0; count<5; count++) { System.out.println(x[count]); }
配列変数
プログラムでの配列の使用は、3 ステップのプロセスです –
1) 配列の宣言
2) 配列の構築
3) 配列を初期化
1) 配列の宣言
構文
<elementType>[] <arrayName>;
または
<elementType> <arrayName>[];
例:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) 配列の構築
arrayname = new dataType[]
例:
intArray = new int[10]; // Defines that intArray will store 10 integer values
宣言と構築の組み合わせ
int intArray[] = new int[10];
3) 配列の初期化
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the array intArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
配列の宣言と初期化
[] = {};
例:
int intArray[] = {1, 2, 3, 4}; // Initilializes an integer array of length 4 where the first element is 1 , second element is 2 and so on.
最初の配列プログラム
ステップ 1) 次のコードをエディターにコピーします。
class ArrayDemo{ public static void main(String args[]){ int array[] = new int[7]; for (int count=0;count<7;count++){ array[count]=count+1; } for (int count=0;count<7;count++){ System.out.println("array["+count+"] = "+array[count]); } //System.out.println("Length of Array = "+array.length); // array[8] =10; } }
ステップ 2) コードを保存、コンパイル、実行します。出力を観察する
出力:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
ステップ 3) x が配列への参照の場合、x.length 配列の長さがわかります。
10 行目のコメントを外します。コードを保存、コンパイル、実行します。出力を観察します
Length of Array = 7
ステップ 4) C とは異なり、Java は配列内の要素にアクセスするときに配列の境界をチェックします。 Java は、プログラマーがその境界を超えることを許可しません。
11 行目のコメントを外します。コードを保存、コンパイル、実行します。出力を観察します
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
ステップ 5) ArrayIndexOutOfBoundsException がスローされます。 C の場合、同じコードが何らかのガベージ値を示していたでしょう。
Java 配列:参照渡し
配列は参照によって、または元の配列へのポインタとして
関数に渡されます。つまり、関数内の配列に対して行うことはすべて、
元の配列に影響します。
例:配列が参照渡しであることを理解するには
ステップ 1) 次のコードをエディターにコピーします
class ArrayDemo { public static void passByReference(String a[]){ a[0] = "Changed"; } public static void main(String args[]){ String []b={"Apple","Mango","Orange"}; System.out.println("Before Function Call "+b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call "+b[0]); } }
ステップ 2) コードを保存、コンパイル、実行します。出力を観察する
出力:
Before Function Call Apple After Function Call Changed
多次元配列
多次元配列は、実際には配列の配列です。
多次元配列変数を宣言するには、角かっこの別のセットを使用して追加の各インデックスを指定します。
Ex: int twoD[ ][ ] = new int[4][5] ;
多次元配列にメモリを割り当てる場合、最初 (一番左) の次元のメモリのみを指定する必要があります。
残りの次元は個別に割り当てることができます。
Java では、多次元配列の各配列の長さはユーザーが制御できます。
例
public class Guru99 { public static void main(String[] args) { // Create 2-dimensional array. int[][] twoD = new int[4][4]; // Assign three elements in it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
出力:
1
Java