Short Circuiting in Java with Examples

In Java logical operators, if the evaluation of a logical expression exit 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 circuit that occur in Java:

  1. AND(&&) short circuit: In 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 first operand itself is false, then short circuit occurs, the further expression is not evaluated and false is returned.

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

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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");
            }
        }
    }

    chevron_right

    
    

    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 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 first operand itself is true, then a short circuit occurs, evaluation stops and false is returned.

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

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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");
            }
        }
    }

    chevron_right

    
    

    Output:

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

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.