まったく C と違うので、Java を始めた時はたとえ使えてもしばらく理解できないと思います。
C での配列はしょせんアドレス計算ですが、Java では全く別物です
※ オブジェクトなので、初期値は null を使用します
int [] a = null;
if ( a == null ) {
System.out.println("a は無効です");
}
int i = 0;
// 実際のメモリを割り付けます
a = new int[10];
for( i = 0; i < 10; i++ ) {
// 配列の内容は 0 で初期化されています
System.out.println(a[i]);
}
オブジェクトである為、配列には length というプロパティが存在します
int [] a = {1,2,3};
// 実行結果は 3 です
System.out.println(a.length);
以下は、オブジェクトとして参照の代入を行ったものです
( a と b は同じものです )
int [] a = {1,2,3};
int [] b = a;
// a[1] も 100 になります
b[1] = 100;
System.out.println(a[1]);
System.out.println(b[1]);
if ( a == b ) {
System.out.println("同一オブジェクトです");
}
以下は clone メソッドを使用してオブジェクトをコピーしています
int [] a = {1,2,3};
int [] b = a.clone();
b[1] = 100;
System.out.println(a[1]); // 2
System.out.println(b[1]); // 100
if ( a != b ) {
System.out.println("それぞれ別のオブジェクトです");
}