次のように変数にチェーンの値を代入すると、
int x=10, y=15;
int z=x=y;
System.out.println(x+" : "+y+" : "+z);
次に、3 つの変数すべての値が になりx
、y
にz
なり15
ます。
ただし、配列で次の現象がわかりません。
int array[]={10, 20, 30, 40, 50};
int i = 4;
array[i] = i = 0;
System.out.println(array[0]+" : "+array[1]+" : "+array[2]+" : "+array[3]+" : "+array[4]);
を出力します10 : 20 : 30 : 40 : 0
。array[4]
である最後の要素の値を置き換えます0
。
前の割り当てステートメント - に関してint z=x=y;
、最初の要素の値がarray[0]
に置き換えられることを期待しています0
。そうでないのはなぜですか?単純だけど思いつかない。説明していただけますか?
ちなみに、この割り当てステートメントarray[i] = i = 0;
はダミーであり、このコードでは独自の値を持たないため、使用しないでください。この場合、実際にどのように機能するかを知りたかっただけです。