The Difference Between the != and =! Operator in Java
This tutorial introduces the difference between the != and =! operators with examples in Java.
The != operator is an equality operator that is used to check whether two operands are equal or not. The =! operator is a combination of two operators, one is an assignment, and the second is a negation operator that works on boolean value. And it is used to invert a boolean value.
There is no comparison between these as both are used for different purposes. Let’s start with some examples to understand the uses.
Java != Operator Example
The != operator, also known as not equal to, is an equality operator and is used to check the equality of two operands. It returns a boolean value that is either true or false. If the two operands are equal, then it returns false, true otherwise.
public class SimpleTesting {
public static void main(String[] args) {
int a = 10, b = 10;
System.out.println("a = " + a);
System.out.println("b = " + b);
boolean result = a != b;
System.out.println(result);
a = 20;
System.out.println("a = " + a);
result = a != b;
System.out.println(result);
}
}
Output:
a = 10
b = 10
false
a = 20
true
The expression (a != b) means ! (a == b): the opposite of a == b can also be written as !(a==b). See the example below.
public class SimpleTesting {
public static void main(String[] args) {
int a = 10, b = 10;
System.out.println("a = " + a);
System.out.println("b = " + b);
boolean result = !(a == b);
System.out.println(result);
a = 20;
System.out.println("a = " + a);
result = !(a == b);
System.out.println(result);
}
}
Output:
a = 10
b = 10
false
a = 20
true
Java =! Operator Example
The =! operator is used to assign the opposite boolean value to a variable. The expression a=!b is actually a= !b. It first inverts the b and then assigns it to a. See the example below.
public class SimpleTesting {
public static void main(String[] args) {
boolean a = true, b = true;
System.out.println("a = " + a);
System.out.println("b = " + b);
a = !b;
System.out.println(a);
b = false;
System.out.println("b = " + b);
a = !b;
System.out.println(a);
}
}
Output:
a = true
b = true
false
b = false
true
You can also use the =! operator with a conditional statement to make a code conditional, as we did in the below code. See the example below.
public class SimpleTesting {
public static void main(String[] args) {
boolean a = true, b = true;
System.out.println("a = " + a);
System.out.println("b = " + b);
if (a = !b) {
System.out.println(a); // does not execute
}
b = false;
System.out.println("b = " + b);
if (a = !b) {
System.out.println(a);
}
}
}
Output:
a = true
b = true
b = false
true