Start learning free

LESSON 69 OF 410 · CONDITIONAL STATEMENTS

Comparison Operators in Java

Lesson Read the full explanation

When writing if statements, we usually compare two values using one or more comparison operators:

Operator Name Examples
== Equal  x == 5,  x == y
!= Not equal  x != 3,  x != y
> Greater than  x > 5,  x > y
< Less than  x < 8,  x < y
>= Greater than or equal to  x >= 4,  x >= y
<= Less than or equal to  x <= 3,   x <= y

For example:

10 == 10 // Evaluates to true
3 < 2 // Evaluates to false
15 >= 15 // Evaluates to true
17 != 12 // Evaluates to true

We usually use these operators with variables:

int a = 10;
int b = 15;

if (a == b) {
    System.out.println("a is equal to b");
}
if (a < b) {
    System.out.println("a is less than b");
}

The first condition is not satisfied since 10 == 15 evaluates to false.

The second condition is satisfied since 10 < 15 evaluates to true.

The code above prints "a is less than b".


Assignment
Follow the Coding Tutorial and let's play with comparison operators.


Hint
Look at the examples above if you get stuck.


STEP 1 OF 3
    Ctrl + Enter to check

    JAVA · CONDITIONAL STATEMENTS

    Comparison Operators in Java, explained

    Introduction

    Comparison operators are fundamental in programming, allowing us to make decisions based on the comparison of values. They are essential in control flow statements like if, while, and for loops. Understanding how to use these operators effectively is crucial for writing logical and efficient code.

    Understanding the Basics

    Comparison operators compare two values and return a boolean result: true or false. Here are the basic comparison operators in Java:

    • ==: Equal to
    • !=: Not equal to
    • >: Greater than
    • <: Less than
    • >=: Greater than or equal to
    • <=: Less than or equal to

    For example:

    int x = 10;
    int y = 20;
    
    System.out.println(x == y); // false
    System.out.println(x != y); // true
    System.out.println(x > y);  // false
    System.out.println(x < y);  // true
    System.out.println(x >= y); // false
    System.out.println(x <= y); // true
    

    Main Concepts

    Comparison operators are often used in conditional statements to control the flow of a program. For instance, in an if statement, the condition is evaluated, and if it returns true, the block of code inside the if statement is executed.

    int a = 5;
    int b = 10;
    
    if (a < b) {
        System.out.println("a is less than b");
    } else {
        System.out.println("a is not less than b");
    }
    

    In this example, since a is less than b, the output will be "a is less than b".

    Examples and Use Cases

    Let's look at some practical examples:

    int age = 18;
    
    if (age >= 18) {
        System.out.println("You are eligible to vote.");
    } else {
        System.out.println("You are not eligible to vote.");
    }
    

    In this example, the program checks if the age is greater than or equal to 18 to determine voting eligibility.

    Common Pitfalls and Best Practices

    Common mistakes include using the assignment operator = instead of the equality operator ==. Always ensure you are using the correct operator for comparisons.

    Best practices include:

    • Using parentheses to make complex conditions clear.
    • Writing readable and maintainable code by avoiding deeply nested conditions.

    Advanced Techniques

    Advanced comparison techniques involve combining multiple conditions using logical operators like && (AND) and || (OR).

    int score = 85;
    int attendance = 90;
    
    if (score > 80 && attendance > 85) {
        System.out.println("You passed the course.");
    } else {
        System.out.println("You did not pass the course.");
    }
    

    In this example, both conditions must be true for the message "You passed the course." to be printed.

    Code Implementation

    Here is a more comprehensive example demonstrating the use of comparison operators in a real-world scenario:

    public class ComparisonExample {
        public static void main(String[] args) {
            int temperature = 75;
            int humidity = 65;
    
            if (temperature > 70 && humidity < 70) {
                System.out.println("The weather is pleasant.");
            } else if (temperature > 70 && humidity >= 70) {
                System.out.println("It's hot and humid.");
            } else {
                System.out.println("The weather is cool.");
            }
        }
    }
    

    This code checks the temperature and humidity to determine the weather condition.

    Debugging and Testing

    When debugging, use print statements to check the values of variables and the results of comparisons. Writing unit tests can help ensure your comparison logic is correct.

    import static org.junit.Assert.*;
    import org.junit.Test;
    
    public class ComparisonTest {
        @Test
        public void testComparison() {
            int a = 10;
            int b = 20;
            assertTrue(a < b);
            assertFalse(a > b);
            assertEquals(a, 10);
        }
    }
    

    Thinking and Problem-Solving Tips

    When approaching problems involving comparisons:

    • Break down the problem into smaller parts.
    • Write pseudocode to outline your logic before coding.
    • Test your code with different inputs to ensure it handles all cases.

    Conclusion

    Mastering comparison operators is essential for making decisions in your code. Practice using these operators in various scenarios to become proficient. Understanding and applying these concepts will significantly improve your programming skills.

    Additional Resources

    For further reading and practice, check out these resources:

    Keep going with JavaAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free