在Java中创建“逻辑异或”运算符

观察结果:

Java具有逻辑AND运算符。

Java具有逻辑或运算符。

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中定义新的运算符,我找不到任何东西。我应该从哪里开始?


慕侠2389804
浏览 887回答 3
3回答

跃然一笑

Java具有逻辑AND运算符。Java具有逻辑或运算符。错误。Java有两个逻辑AND运算符:正常AND为&和短路AND为&&,和两个逻辑OR运算符:普通OR为| 并且短路OR为||。XOR仅以^形式存在,因为不可能进行短路评估。

慕斯王

也许你误解了差异之间&和&&,|和|| 快捷运营商的目的&&,并||是第一个操作数的值可以决定结果,因此并不需要第二个操作数并进行评估。如果第二个操作数将导致错误,则这特别有用。例如if (set == null || set.isEmpty())// orif (list != null && list.size() > 0)但是,使用XOR时,您始终必须评估第二个操作数才能得到结果,因此唯一有意义的操作是^。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java