7

この質問は何よりも私の好奇心のためです。

私はJavaの三項演算子を使って短いコードを書くことがよくあります。ifただ、条件が1つでもelse空でも使えるのか疑問に思っていました。詳細は次のとおりです。

int x = some_function();
if (x > 0)
    x--;
else
    x++;

次のように書くことができますx = (x > 0) ? x-1 : x+1;

if (x > 0) x-1;しかし、空のelse句を使用して三項式として書くことは可能ですか?

4

1 に答える 1

15

if (x > 0) x--;しかし、空のelse句を使用して三項式として書くことは可能ですか?

いいえ、条件演算子には3 つのオペランドが必要です。必要に応じて、これを行うことができます:

x = (x > 0) ? x - 1 : x;

...しかし、(主観的に)明快さが損なわれると思います。

于 2013-10-30T15:51:45.600 に答える