C Programs Tutorials | IT Developer
IT Developer

Java Programs



Share with a Friend

Operators & Expressions

Java Program: Demonstrate Short-Circuit Behavior in Logical Operators

Concept

  • Short-circuit evaluation means Java stops evaluating an expression as soon as the result is known.
  • Applies to:
    • && (Logical AND)
    • || (Logical OR)

 

public class ShortCircuitDemo {

 

    static boolean firstCondition() {

        System.out.println("First condition evaluated");

        return false;

    }

 

    static boolean secondCondition() {

        System.out.println("Second condition evaluated");

        return true;

    }

 

    public static void main(String[] args) {

 

        System.out.println("---- AND (&&) Short-Circuit Demo ----");

 

        if (firstCondition() && secondCondition()) {

            System.out.println("Both conditions are true");

        } else {

            System.out.println("AND condition failed");

        }

 

        System.out.println("\n---- OR (||) Short-Circuit Demo ----");

 

        if (secondCondition() || firstCondition()) {

            System.out.println("At least one condition is true");

        } else {

            System.out.println("OR condition failed");

        }

    }

}

Output

 
OUTPUT :
---- AND (&&) Short-Circuit Demo ----
First condition evaluated
AND condition failed

---- OR (||) Short-Circuit Demo ----
Second condition evaluated
At least one condition is true

Explanation

1. AND (&&) Short-Circuit

if (firstCondition() && secondCondition())

Evaluation:

  • firstCondition() → returns false
  • Since AND requires both conditions to be true, Java does NOT evaluate secondCondition()
  • This shows short-circuit behavior

Output confirms only first condition was evaluated

 

2. OR (||) Short-Circuit

if (secondCondition() || firstCondition())

Evaluation:

  • secondCondition() → returns true
  • Since OR requires only one true condition, Java skips evaluating firstCondition()

Output confirms only second condition was evaluated

Key Observations

Operator

Short-Circuit Condition

&&

Stops when first condition is false

`