创建一个“逻辑异或"Java中的运算符 [英] Creating a "logical exclusive or" operator in Java
问题描述
观察:
Java 有一个逻辑 AND 运算符.
Java 有一个逻辑 OR 运算符.
Java 有一个逻辑 NOT 运算符.
问题:
Java 没有逻辑 XOR 运算符,根据 sun一>.我想定义一个.
方法定义:
作为一种方法,它的定义如下:
public static boolean logicalXOR(boolean x, boolean y) {返回 ( ( x || y ) && ! ( x && y ) );}
方法调用:
这个方法的调用方式如下:
boolean myVal = logicalXOR(x, y);
运算符用法:
我宁愿有一个运算符,用法如下:
布尔值 myVal = x ^^ y;
问题:
我找不到有关如何在 Java 中定义新运算符的任何信息.我应该从哪里开始?
Java 确实有逻辑异或运算符,它是 ^(如a ^ b
).
除此之外,您不能在 Java 中定义新的运算符.
这是一个例子:
public static void main(String[] args) {boolean[] all = { false, true };for (boolean a : all) {for (boolean b: all) {布尔 c = a ^ b;System.out.println(a + " ^ " + b + " = " + c);}}}
输出:
<前>假 ^ 假 = 假假 ^ 真 = 真真^假=真真 ^ 真 = 假Observations:
Java has a logical AND operator.
Java has a logical OR operator.
Java has a logical NOT operator.
Problem:
Java has no logical XOR operator, according to sun. I would like to define one.
Method Definition:
As a method it is simply defined as follows:
public static boolean logicalXOR(boolean x, boolean y) {
return ( ( x || y ) && ! ( x && y ) );
}
Method Call:
This method is called in the following way:
boolean myVal = logicalXOR(x, y);
Operator Usage:
I would much rather have an operator, used as follows:
boolean myVal = x ^^ y;
Question:
I can't find anything on how to go about defining a new operator in Java. Where should I start?
Java does have a logical XOR operator, it is ^ (as in a ^ b
).
Apart from that, you can't define new operators in Java.
Edit: Here's an example:
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);
}
}
}
Output:
false ^ false = false false ^ true = true true ^ false = true true ^ true = false
这篇关于创建一个“逻辑异或"Java中的运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!