创建一个“逻辑异或"Java中的运算符 [英] Creating a "logical exclusive or" operator in Java

查看:23
本文介绍了创建一个“逻辑异或"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屋!

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