0

次のようにビット単位の演算子 (|、^、&) を使用しても問題ありませんか。

int a=23;
int b=42;
if(a==20^b==40){...};

ただし、H.Schildt による「Java, A Beginner's Guide」では、このような演算子は論理的でビット単位であると述べています。

4

2 に答える 2

0

はい、そのような論理演算子を使用しても問題ありません。

オペランドが整数型の場合、これらはビット単位の演算子のみであることに注意してください。コード例では、オペランドはboolean( a==20andの結果b==40) ... であるため、演算子はビットごとの演算子ではなく論理演算子であることを意味します。

(そして、私が衒学的だと思われる場合は、a + bwhereabareオブジェクトを考えてみてください。そのコンテキストでは、演算子を「加算」Stringとは呼びません。)+

于 2013-10-05T05:44:33.857 に答える