Wednesday, July 3, 2024
HomeLanguagesJavaShort Circuit Logical Operators in Java with Examples

Short Circuit Logical Operators in Java with Examples

In Java logical operators, if the evaluation of a logical expression exits in between before complete evaluation, then it is known as Short-circuit. A short circuit happens because the result is clear even before the complete evaluation of the expression, and the result is returned. Short circuit evaluation avoids unnecessary work and leads to efficient processing.

Below are the various types of Short circuits that occur in Java:

1. AND(&&) short circuit: 

In the case of AND, the expression is evaluated until we get one false result because the result will always be false, independent of the further conditions. If there is an expression with &&(logical AND), and the first operand itself is false, then a short circuit occurs, the further expression is not evaluated, and false is returned.

Example: Short-circuiting using AND(&&) operator.

Java




// Java code to demonstrate the
// short circuiting using &&
  
import java.io.*;
  
class ShortCirAND {
    public static void main(String arg[])
    {
  
        // Since first operand is false
        // and operator is &&,
        // Evaluation stops and
        // false is returned.
        if (false && true && true) {
            System.out.println("This output "
                               + "will not "
                               + "be printed");
        }
        else {
  
            System.out.println("This output "
                               + "got printed actually, "
                               + " due to short circuit");
        }
  
        // Whole expression will be evaluated,
        // as no false is encountered
        // before last condition
        // Therefore no Short circuit
        if (true && true && true) {
            System.out.println("This output "
                               + "gets print"
                               + " as there will be"
                               + " no Short circuit");
        }
        else {
  
            System.out.println("This output "
                               + "will not "
                               + "be printed");
        }
    }
}


Output

This output got printed actually,  due to short circuit
This output gets print as there will be no Short circuit

2. OR(||) short circuit: 

In the case of OR, the expression is evaluated until we get one true result because the result will always be true, independent of the further conditions. If there is an expression with ||(logical OR), and the first operand itself is true, a short circuit occurs, evaluation stops, and true is returned.

Example: Short-circuiting using OR( || ).

Java




// Java program to demonstrate the
// short circuiting using OR
  
class ShortCirOR {
    public static void main(String arg[])
    {
  
        // Since first operand is true
        // and operator is ||,
        // Evaluation stops and
        // true is returned.
        if (true || false || false) {
            System.out.println("This output "
                               + "got printed actually, "
                               + " due to short circuit");
        }
        else {
            System.out.println("This output "
                               + "will not "
                               + "be printed");
        }
  
        // Whole expression will be evaluated,
        // as no true is encountered
        // before last condition
        // Therefore no Short circuit
        if (false || false || true) {
            System.out.println("This output "
                               + "gets print"
                               + " as there will be"
                               + " no Short circuit");
        }
        else {
  
            System.out.println("This output "
                               + "will not "
                               + "be printed");
        }
    }
}


Output

This output got printed actually,  due to short circuit
This output gets print as there will be no Short circuit

Nokonwaba Nkukhwana
Experience as a skilled Java developer and proven expertise in using tools and technical developments to drive improvements throughout a entire software development life cycle. I have extensive industry and full life cycle experience in a java based environment, along with exceptional analytical, design and problem solving capabilities combined with excellent communication skills and ability to work alongside teams to define and refine new functionality. Currently working in springboot projects(microservices). Considering the fact that change is good, I am always keen to new challenges and growth to sharpen my skills.
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments