次のように変数にチェーンの値を代入すると、
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;はダミーであり、このコードでは独自の値を持たないため、使用しないでください。この場合、実際にどのように機能するかを知りたかっただけです。