Java の XOR 演算子
Mohammad Irfan
2023年10月12日
このチュートリアルでは、Java で XOR 演算子を使用する方法を紹介します。また、ガイドとしてトピックを理解するのに役立つサンプルコードをいくつかリストしました。
XOR
または排他的論理和
はビット操作に使用される論理演算子であり、両方のブール値が異なる場合にのみ true
を返します。それ以外の場合は、false
を返します。
たとえば、2つのオペランドが true
の場合、XOR は false
を返します。それらのいずれかが false
の場合、結果は true
になります。
この記事では、Java が XOR 演算子を実装する方法を説明します。例を見てみましょう。
Java の XOR 演算子^
この例では、^
演算子を使用して、2つのブールオペランドまたは変数で XOR 演算を実行しました。両方の値が異なる場合は、true
を返します。それ以外の場合は、false
を返します。以下の例を参照してください。
public class Main {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
boolean c = true;
System.out.println(a ^ b);
System.out.println(b ^ c);
System.out.println(c ^ a);
}
}
出力:
true
true
false
Java で!=
演算子を使用した XOR
前の例で使用した^
演算子とは別に、!=
(等しくない)演算子を使用して Java で XOR 演算を実行することもできます。
このサンプルプログラムは、上記と同じ結果を返します。
public class Main {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
boolean c = true;
System.out.println(a != b);
System.out.println(b != c);
System.out.println(c != a);
}
}
出力:
true
true
false
&&
、||
、および!
を使用して XOR を実行する Java の演算子
このメソッドは、Java で 2つのブール値の XOR を取得するためのもう 1つのソリューションです。ただし、このソリューションは、以前のソリューションと比較して少し複雑です。それでも、それが問題を解決すれば、私たちはそれを考慮することができます。
以下の例を参照してください。
public class Main {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
boolean c = true;
System.out.println((a || b) && !(a && b));
System.out.println((b || c) && !(b && c));
System.out.println((c || a) && !(c && a));
}
}
出力:
true
true
false