在 Java 中创建“逻辑独占 or”运算符

2022-08-31 05:13:42

观察:

Java 有一个逻辑 AND 运算符。
Java 有一个逻辑 OR 运算符。
Java 有一个逻辑 NOT 运算符。

问题:

根据sun的说法,Java没有逻辑XOR运算符。我想定义一个。

方法定义:

作为一种方法,它被简单地定义如下:

public static boolean logicalXOR(boolean x, boolean y) {
    return ( ( x || y ) && ! ( x && y ) );
}


方法调用:

此方法按以下方式调用:

boolean myVal = logicalXOR(x, y);


操作员用法:

我宁愿有一个运算符,用法如下:

boolean myVal = x ^^ y;


问题:

我找不到任何关于如何在Java中定义新运算符的信息。我应该从哪里开始?


答案 1

Java确实有一个逻辑XOR运算符,它是^(如)。a ^ b

除此之外,您无法在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

答案 2

不是 x != y 吗?