创建“逻辑排他性”或“ Java中的运算符 [英] Creating a "logical exclusive or" operator in Java

查看:331
本文介绍了创建“逻辑排他性”或“ 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆