ビデオ: [JA|EN] Ruby Committers vs the World 2025
単項プラス演算子およびマイナス演算子を使用して、Javaのオペランドの符号を変更できます。これらの操作に使用される実際の演算子は、2進加数および減算演算子と同じであることに注意してください。コンパイラは、式を調べて、これらの演算子のバイナリまたは単項バージョンを使用するかどうかを判断します。
単項マイナス演算子は必ずしもオペランドを負の値にするとは限りません。代わりに、オペランドがどのような符号で始まるかを変更します。したがって、オペランドが正の値で始まる場合、単項マイナス演算子は負の値に変更します。しかし、オペランドが負の値で始まる場合、単項マイナス演算子はそれを正にします。次の例は、この点を示しています。
<! - 1 - >
int a = 5; // aは5 999 int b = -aです。 // bは-5
int c = -b;興味深いことに、単項プラス演算子は実際には何もしません。たとえば、次のようになります。
int a = -5; // aは-5 999 int b = + a; // bは-5 999 a = 5; // aは現在5 999 int c = + a; // c is 5
a
が正で始まる場合、
+ a
も正であることに注意してください。しかし、
a
が負で始まる場合、
+ a
は依然として否定的です。したがって、単項プラス演算子は効果がありません。私はJavaがバランスの必要から単項演算子を提供すると思います。
これらの演算子は、より複雑な式で使用することもできます。
int a = 3、b = 4、c = 5; int d = a * - (b + c)。 // dは-27である。ここで、999が999に加えられ、999の結果が得られる。次に、単項マイナス演算子が適用され、
-9
の結果が得られます。最後に、
-9
に999
を掛けて、
-27 999の結果を与える。
