• The equality and relational operators determine if one operand is greater than, less than, equal to, or not equal to another operand.


  • The majority of these operators will probably look familiar to you as well.


  • You must use "==", not "=", when testing if two primitive values are equal.


  •  
    ==      equal to
    !=      not equal to
    >       greater than
    >=      greater than or equal to
    <       less than
    <=      less than or equal to
    
  • The following program, ComparisonDemo, tests the comparison operators:


  •  
    
    class ComparisonDemo {
    
        public static void main(String[] args){
            int value1 = 1;
            int value2 = 2;
            if(value1 == value2)
                System.out.println("value1 == value2");
            if(value1 != value2)
                System.out.println("value1 != value2");
            if(value1 > value2)
                System.out.println("value1 > value2");
            if(value1 < value2)
                System.out.println("value1 < value2");
            if(value1 <= value2)
                System.out.println("value1 <= value2");
        }
    }
    
  • Output:

  •  
    value1 != value2
    value1 <  value2
    value1 <= value2
    
    
  • The && and || operators perform Conditional-AND and Conditional-OR operations on two boolean expressions.


  • These operators exhibit "short-circuiting" behavior, which means that the second operand is evaluated only if needed.


  •  
    && Conditional-AND
    || Conditional-OR
    
  • The following program, ConditionalDemo1, tests these operators:


  •  
    class ConditionalDemo1 {
    
        public static void main(String[] args){
            int value1 = 1;
            int value2 = 2;
            if((value1 == 1) && (value2 == 2))
                System.out.println("value1 is 1 AND value2 is 2");
            if((value1 == 1) || (value2 == 1))
                System.out.println("value1 is 1 OR value2 is 1");
        }
    }
    
  • Another conditional operator is ?:, which is a shorthand for an if-then-else statement.


  • This operator is also known as the ternary operator because it uses three operands.


  • In the following example, this operator should be read as: "If someCondition is true, assign the value of value1 to result. Otherwise, assign the value of value2 to result."


  • The following program, ConditionalDemo2, tests the ?: operator:


  •  
    
    class ConditionalDemo2 {
    
        public static void main(String[] args){
            int value1 = 1;
            int value2 = 2;
            int result;
            boolean someCondition = true;
            result = someCondition ? value1 : value2;
    
            System.out.println(result);
        }
    }
    
  • Because someCondition is true, this program prints "1" to the screen. Use the ?: operator instead of an if-then-else statement if it makes your code more readable;


  • for example, when the expressions are compact and without side-effects (such as assignments).