What are the logical operators «and», «or», and «not» in Java?
Many candidates are rejected or down-leveled due to poor performance in their System Design Interview. Stand out in System Design Interviews and get hired in 2023 with this popular free course.
A logical operator is a symbol or word that connects two or more expressions so that the value of the produced expression created is solely determined by the value of the original expressions and the operator’s meaning.
Following are the logical operators available in Java.
Description
The following table explains each of the logical operators in Java.
Operator Symbol
Operator Name
Description
Operand-A && Operand-B
It returns True, when both the operand-A and operand-B is True, otherwise it returns False.
Operand-A || Operand-B
It returns True, when either the operand-A or operand-B is True, otherwise it returns False.
It returns the operand’s logical state in reverse.
The figure below shows the visual representation of the logical operators in Java.
Code
The following code illustrates how to use these logical operators in Java.
class Javapublic static void main( String args[] )int A=10, B=20, C=30;//And Operator//Both TrueSystem.out.println("(ASystem.out.println((A//First operand: True Second Operand: FalseSystem.out.println("(AC):");System.out.println((AC));//Both FalseSystem.out.println("(A>B && B>C):");System.out.println((A>B && B>C));//OR operator//Both TrueSystem.out.println("(ASystem.out.println((A//First operand: True Second Operand: FalseSystem.out.println("(AC):");System.out.println((AC));//Both FalseSystem.out.println("(A>B || B>C):");System.out.println((A>B || B>C));//Not operatorboolean D=true;//reverse of true logical stateSystem.out.println("(!D):");System.out.println((!D));>>Learn in-demand tech skills in half the time
Java Operator – &, && (AND) || (OR) Logical Operators
Ihechikara Vincent Abba
We use operators in most programming languages to perform operations on variables.
They are divided into various categories like arithmetic operators, assignment operators, comparison operators, logical operators, and so on.
In this article, we will be talking about the bitwise AND operator, and the AND ( && ) and OR ( || ) logical operators.
How to use the bitwise AND operator
The symbol & denotes the bitwise AND operator. It evaluates the binary value of given numbers. The binary result of these numbers will be returned to us in base 10.
When the & operator starts its operation, it will evaluate the value of characters in both numbers starting from the left.
Let’s look at an example to help you understand better:
System.out.println(10 & 12); // returns 8
The binary value of 10 is 1010
The binary value of 12 is 1100
Here is something you should have in mind before we start the operation:
So let’s carry out the operation.
The first character for 10 is 1 and the first character for 12 is also 1 so:
We move on to the second characters – 0 for 10 and 1 for 12:
For the third characters – 1 for 10 and 0 for 12:
For the fourth characters – 0 for 10 and 0 for 12:
Now let’s combine all the returned characters. We would have 1000.
The binary value 1000 in base 10 is 8 and that is why our operation returned 8.
How to use the logical AND operator
Note that we use logical operators to evaluate conditions. They return either true or false based on the conditions given.
The symbol && denotes the AND operator. It evaluates two statements/conditions and returns true only when both statements/conditions are true.
Here is what the syntax looks like:
statment1/condition1 && statemnt2/condition2
As you can see above, there are two statements/conditions separated by the operator. The operator evaluates the value of both statements/conditions and gives us a result – true or false.
System.out.println((10 > 2) && (8 > 4)); //true
The operation will return true because both conditions are true – 10 is greater than 2 and 8 is greater than 4. If either one of the conditions had an untrue logic then we would get false .
To better understand the && operator, you should know that both conditions must be true to get a value of true .
Here is another example that returns false :
System.out.println((2 > 10) && (8 > 4)); // false
Here, 2 is not greater than 10 but 8 is greater than 4 – so we get a false returned to us. This is because one of the conditions is not true.
- If both conditions are true => true
- If one of the two conditions is false => false
- If both conditions are false => false
How to use the logical OR operator
We use the symbol || to denote the OR operator. This operator will only return false when both conditions are false. This means that if both conditions are true, we would get true returned, and if one of both conditions is true, we would also get a value of true returned to us.
statment1/condition1 || statemnt2/condition2
Let’s go over a few examples.
System.out.println((6 < 1) || (4 >2)); // true
This returns true because one of conditions is true.
- If both conditions are true => true
- If one of the conditions is true => true
- If both conditions are false => false
Conclusion
In this article, we learned how to use the bitwise & operator in Java and how the operation is carried out to give us a result.
We also learned how to use the && and || logical operators in Java. We learned what value each operation returns based on the conditions involved in the operation.
Operators
Now that you’ve learned how to declare and initialize variables, you probably want to know how to do something with them. Learning the operators of the Java programming language is a good place to start. Operators are special symbols that perform specific operations on one, two, or three operands, and then return a result.
As we explore the operators of the Java programming language, it may be helpful for you to know ahead of time which operators have the highest precedence. The operators in the following table are listed according to precedence order. The closer to the top of the table an operator appears, the higher its precedence. Operators with higher precedence are evaluated before operators with relatively lower precedence. Operators on the same line have equal precedence. When operators of equal precedence appear in the same expression, a rule must govern which is evaluated first. All binary operators except for the assignment operators are evaluated from left to right; assignment operators are evaluated right to left.
Operator Precedence
Operators Precedence postfix expr++ expr— unary ++expr —expr +expr —expr ~ ! multiplicative * / % additive + — shift > >>> relational < >= instanceof equality == != bitwise AND & bitwise exclusive OR ^ bitwise inclusive OR | logical AND && logical OR || ternary ? : assignment = += -= *= /= %= &= ^= |= <>= >>>= In general-purpose programming, certain operators tend to appear more frequently than others; for example, the assignment operator » = » is far more common than the unsigned right shift operator » >>> «. With that in mind, the following discussion focuses first on the operators that you’re most likely to use on a regular basis, and ends focusing on those that are less common. Each discussion is accompanied by sample code that you can compile and run. Studying its output will help reinforce what you’ve just learned.
Previous page: Questions and Exercises: Variables
Next page: Assignment, Arithmetic, and Unary Operators