观察结果: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中定义新的运算符,我找不到任何东西。我应该从哪里开始?
3 回答
跃然一笑
TA贡献1826条经验 获得超6个赞
Java具有逻辑AND运算符。
Java具有逻辑或运算符。
错误。
Java有
两个逻辑AND运算符:正常AND为&和短路AND为&&,和
两个逻辑OR运算符:普通OR为| 并且短路OR为||。
XOR仅以^形式存在,因为不可能进行短路评估。
慕斯王
TA贡献1864条经验 获得超2个赞
也许你误解了差异之间&和&&,|和|| 快捷运营商的目的&&,并||是第一个操作数的值可以决定结果,因此并不需要第二个操作数并进行评估。
如果第二个操作数将导致错误,则这特别有用。例如
if (set == null || set.isEmpty())
// or
if (list != null && list.size() > 0)
但是,使用XOR时,您始终必须评估第二个操作数才能得到结果,因此唯一有意义的操作是^。
添加回答
举报
0/150
提交
取消