すみません、これ以上のタイトルが思いつきませんでした。
とにかく、次のコードをコンパイルすると:
class Example{
public static void main(String[] args) throws Exception {
int x = 3;
x -= 2 + x++ == 4 ? x++ : ++x;
System.out.println("x = " + x);
}
}
答えは -2 です。今、私はそれが見つからないので、この答えがどのようになるかを本当に知りたいです。これは近いうちに試験に出されるかもしれないので、これに対する答えが得られたら素晴らしいことです。注: もちろん、自分でこのようなコードを作成することはありません。これは単なる演習です。
あなたが私を助けることができればどうもありがとう!
編集:fgeの答えへの答え:
わかりました、ありがとう!しかし、少し変更して次のようにすると:
x = 2;
x += 3 + ++x == 6 ? x-- : x--;
System.out.println("x = " + x);
次のものが得られると思います。
++x == 6
x は現在 3 であるため、真ではありません。これは、x-- が得られ、再び 2 になることを意味します。
次に、3 + 2 = 5 を取得するため、式は次のように評価できます。
x += 5
x が 2 になったので、2 + 5 = 7 となります。