0

すみません、これ以上のタイトルが思いつきませんでした。

とにかく、次のコードをコンパイルすると:

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 となります。

4

1 に答える 1