Java 비교 연산자

비교 연산자는 두 값을 비교하는데 사용한다.

결과 값을 true/false를 boolean형으로 반환해주기 때문에 조건문(Condition)에서 자주 사용한다.

💡
대입 연산자인 = 와 헷갈리지 않도록 하자.

비교 연산자 종류

  • ==: 동등 (equal to)
  • !=: 불일치 (not equal to)
  • >: 크다 (greater than)
  • <: 작다 (less than)
  • >=: 크거나 같다 (greater than, equal to)
  • <=: 작거나 같다 (less than, equal to)
💡
String 문자열을 비교할 때는 == 연산자 동작에 보장을 하지 못한다. 문자열 비교할 때는 String의 equals 메소드를 사용한다.

비교 연산자 자바 코드

public class Comp1 {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;

        System.out.println(a == b); // false, 두 변수는 값이 같은가? X
        System.out.println(a != b); // true, 두 변수는 값이 다른가? O
        System.out.println(a > b); // false, 변수 a는 b보다 큰가? X
        System.out.println(a < b); // true, 변수 a는 b보다 작은가? O
        System.out.println(a >= b); // false, 변수 a는 b보다 크거나 같은가? X
        System.out.println(a <= b); // true, 변수 a는 b보다 작거나 같은가? O
    }
}

Code Output:
false
true
false
true
false
true

문자열 String 비교

String s1 = "Hello1"; 선언 하고 문자열 비교시 equals 라는 메소드를 사용해야한다.
선언한 s1 변수를 입력하고 .equals({String}) 메소드로 비교연산자를 수행한다.

public class Hello1 {
    public static void main(String[] args) {
        String s1 = "Hello1";
        String s2 = "Hello2";

        System.out.println("1. 변수 s1는 s2와 같은가? " + s1.equals(s2));

        s2 = "Hello1"; // 변수 s2를 Hello1 대입
        System.out.println("2. 변수 s1는 s2와 같은가? " + s1.equals(s2));
    }
}

Code Output:
1. 변수 s1는 s2와 같은가? false
2. 변수 s1는 s2와 같은가? true

2번 콘솔 출력 전 변수 s2 을 s1와 똑같은 리터럴을 주어져 true 반환한다.


public class Hello1 {
    public static void main(String[] args) {
        String s1 = "Hello1";
        String s2 = "Hello2";

        System.out.println("좌리터럴과 우리터럴와 같은가? " + "Hello1".equals("Hello1")); // true
        System.out.println("변수와 리터럴와 같은가? " + s1.equals("Hello1")); // true
        System.out.println("두 변수와 같은가? " + s1.equals(s2)); // false
    }
}

Code Output:
좌리터럴과 우리터럴와 같은가? true
변수와 리터럴와 같은가? true
두 변수와 같은가? false

equals메소드 변수와 리터럴을 다음과 같이 활용할 수 있다.