创建“逻辑排他性”或“ Java中的运算符 [英] Creating a "logical exclusive or" operator in Java
问题描述
Java有一个逻辑AND运算符。
Java有一个逻辑OR运算符。
Java有逻辑NOT运算符。
Java has a logical AND operator.
Java has a logical OR operator.
Java has a logical NOT operator.
Java没有逻辑XOR运算符,根据sun 。我想定义一个。
Java has no logical XOR operator, according to sun. I would like to define one.
作为一种方法,它只是定义如下:
As a method it is simply defined as follows:
public static boolean logicalXOR(boolean x, boolean y) {
return ( ( x || y ) && ! ( x && y ) );
}
此方法按以下方式调用:
This method is called in the following way:
boolean myVal = logicalXOR(x, y);
我更愿意拥有一个运营商,使用如下:
I would much rather have an operator, used as follows:
boolean myVal = x ^^ y;
我找不到任何关于如何在Java中定义新运算符的内容。我应该从哪里开始?
I can't find anything on how to go about defining a new operator in Java. Where should I start?
推荐答案
Java 确实有一个逻辑XOR运算符,它是 ^ (如 a ^ b
)。
Java does have a logical XOR operator, it is ^ (as in a ^ b
).
除此之外,您无法在Java中定义新运算符。
Apart from that, you can't define new operators in Java.
编辑:以下是一个例子:
public static void main(String[] args) {
boolean[] all = { false, true };
for (boolean a : all) {
for (boolean b: all) {
boolean c = a ^ b;
System.out.println(a + " ^ " + b + " = " + c);
}
}
}
输出:
false ^ false = false
false ^ true = true
true ^ false = true
true ^ true = false
这篇关于创建“逻辑排他性”或“ Java中的运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!