Java で配列要素を宣言、初期化、アクセスする方法を学びながら、次の簡単なコードを書きました。
class ArrayAccess{
public static void main(String args[]){
int[] a;
a = new int[4];
a[0] = 23;
a[1] = a[0]*2;
a[2] = a[0]++;
a[3]++;
int i = 0;
while(i < a.length){
System.out.println(a[i]);
i++;
}
}
}
しかし、予期しない出力が得られます。
私が得ている出力は次のとおりです。
24
46
23
1
そう、
の値としてでは24
なく、なぜですか?これがatのインクリメントによるものである場合、なぜの要素はあり、ないのですか。 23
a[0]
a[0]
a[2]
a[1]
46
48
の値としてでは23
なく、なぜですか?24
a[2]