Java Logical Operators Shortcut

Description

The OR operator results in true when one operand is true, no matter what the second operand is. The AND operator results in false when one operand is false, no matter what the second operand is. If you use the || and &&, Java will not evaluate the right-hand operand when the outcome can be determined by the left operand alone.

Example

The following code shows how you can use short-circuit logical operator to ensure that a division operation will be valid before evaluating it:

 
public class Main {
  public static void main(String[] argv) {
    int denom = 0;
    int num = 3;//  w  w  w  . java2 s.  c o  m
    if (denom != 0 && num / denom > 10) {
      System.out.println("Here");
    } else {
      System.out.println("There");
    }
  }
}

The output:

Example 2

If we want to turn of the shortcut behaviour of logical operators we can use & and |.

The following code uses a single & ensures that the increment operation will be applied to e whether c is equal to 1 or not.

 
public class Main {
  public static void main(String[] argv) {
    int c = 0;/*from   w  w  w. java2  s. c  o m*/
    int e = 99;
    int d = 0;
    if (c == 1 & e++ < 100)
      d = 100;

    System.out.println("e is " + e);
    System.out.println("d is " + d);
  }
}

The output:





















Home »
  Java Tutorial »
    Java Language »




Java Data Type, Operator
Java Statement
Java Class
Java Array
Java Exception Handling
Java Annotations
Java Generics
Java Data Structures