본문으로 건너뛰기
Advertisement

3.4 비교 연산자 (Comparison Operator)

비교 연산자는 두 피연산자를 비교하는 데 사용되는 연산자입니다. 주로 조건문(if, while 등)의 조건식에 사용되며, 연산 결과값은 반드시 논리형인 true 또는 false 둘 중 하나여야만 합니다.

1. 대소 비교 연산자 (<, >, <=, >=)

두 피연산자의 크고 작음을 비교합니다. (주로 숫자 타입 변수에 사용하며 boolean은 대소 비교가 불가능합니다)

  • >: 좌변이 우변보다 크면 true
  • <: 좌변이 우변보다 작으면 true
  • >=: 좌변이 우변보다 크거나 같으면 true
  • <=: 좌변이 우변보다 작거나 같으면 true
int a = 10, b = 5;
System.out.println(a > b); // true
System.out.println(a <= b); // false

2. 등가 비교 연산자 (==, !=)

두 피연산자의 값이 서로 같은지 아니면 다름을 비교합니다. (모든 자료형에 사용 가능합니다)

  • ==: 좌변과 우변의 값이 같으면 true
  • !=: 좌변과 우변의 값이 다르면 true
int i = 10;
int j = 10;
boolean result = (i == j); // 변수 i와 j의 값은 같으므로 result는 true

주의: 문자열(String)의 비교

문자열(String)을 비교할 때는 == 대신에 반드시 .equals() 메서드를 사용해야 합니다. ==는 문자열의 내부 값(Data)이 아니라 객체가 가리키는 주소값을 비교하기 때문에 예기치 못한 결과를 초래할 수 있습니다.

String str1 = new String("Hello");
String str2 = new String("Hello");

System.out.println(str1 == str2); // false (가리키는 메모리 주소가 다름)
System.out.println(str1.equals(str2)); // true (내부 문자열 값이 같음)
Advertisement