O operador XOR em Java
-
O operador XOR
^em Java -
XOR usando o operador
!=Em Java -
Execute o XOR usando
&&,||e!Operador em Java
Este tutorial apresenta como usar o operador XOR em Java. Também listamos alguns códigos de exemplo para orientá-lo e ajudá-lo a entender o tópico.
O XOR ou OU exclusivo é um operador lógico usado para manipulação de bits e retorna true apenas se ambos os valores booleanos forem diferentes; caso contrário, retorna false.
Por exemplo, se dois operandos forem true, o XOR retornará false. Se algum deles for false, o resultado será true.
Neste artigo, veremos como Java implementa o operador XOR. Vamos ver os exemplos.
O operador XOR ^ em Java
Neste exemplo, usamos o operador ^ para realizar as operações XOR em dois operandos ou variáveis booleanas. Ele retorna true se ambos os valores forem diferentes; caso contrário, retorna false. Veja o exemplo abaixo.
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);
}
}
Produção:
true
true
false
XOR usando o operador != Em Java
Além do operador ^ que usamos no exemplo anterior, também podemos usar o operador != (Diferente de) para executar a operação XOR em Java.
Este programa de exemplo retorna o mesmo resultado que o anterior.
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);
}
}
Produção:
true
true
false
Execute o XOR usando &&, || e ! Operador em Java
Este método é outra solução para obter o XOR de dois valores booleanos em Java; no entanto, essa solução é um pouco complexa em comparação com as anteriores. Ainda assim, se isso resolver o problema, podemos considerá-lo.
Veja o exemplo abaixo.
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));
}
}
Produção:
true
true
false