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 (내부 문자열 값이 같음)