Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Java by (3.5k points)

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?

1 Answer

0 votes
by (46k points)

Java does have a legitimate XOR operator, it is ^ (as in a ^ b).

Aside from that, you can't establish new operators in Java.

Here's an illustration:

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

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer

Browse Categories

...