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