は)(、のは、最初の例ではjava演算子の優先度y = x +(x = 10);
int x=1;
int y1 = (x=10) + x;
System.out.println(y1);
// prints 20
x = 1;
int y2 = x + (x=10);
System.out.println(y2);
// prints 11
を考えてみましょう、それが最も高い優先度を持っているとして、最初に実行されます。 x
の値を10に設定すると、右側のオペランド(x)は新しい値10を取得します。y1 = 10+10 = 20
第2の例では、左側のオペランド 'x'が値1を取得し、 xは新しい値10を取得するので、y2 = 1+10 = 11;
なぜ2番目の例では()が最初に実行されないのですか。 (x = 10)が最初に実行され、左側のオペランドxが新しい値10に設定され、したがってy2 = 20に設定される必要があります。このようなことは起こりませんでしたか?
オペランドの評価順序と優先順位を混同しないでください。 –