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메소드 변수와 리터럴을 다음과 같이 활용할 수 있다.