반응형

비교 연산자 (> , <, >=, <=, ==, !=)

  • 두 피연산자를 비교해서 true(참) 또는 false(거짓)을 반환

특히 >=, <= 를 사용할 때, 부등호를 먼저 쓰고 등호를 써야 한다. 순서를 바꿔서 쓰면 안된다.

그리고 !=도 =!처럼 순서를 바꿔 쓰면 안된다. 조심하자.
만약에 문자 'A' > 'B' 이렇게 비교하는 연산을 하면 어떻게 될까?
둘다 char 타입이므로 inger타입보다 작은 타입이므로 integer형으로 변환되어 비교된다.

'A' > 'B' → 65 > 66 이렇게 바뀌어 비교된다.
그래서 결과는 false이다.


문자 열의 비교

  • 문자열 비교에는 == 대신 equals()를 사용해야 한다.

예시를 보자.

String str1 = "abc";
String str2 = "abc";

System.out.println(str1==str2);			// true
System.out.println(str1.equals(str2));		// ture

이러한 경우에는 문제가 없어 보인다. 그런데 아래의 예시를 보자.

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

System.out.println(str1==str2);			// false
System.out.println(str1.equals(str2));		// true

그런데, 이 예시처럼 new 연산자를 이용해서 생성한 경우에는, 등가비교 연산자에 의한 결과가 false(틀린결과)가 나올 수 있다.
내용이 똑같은데도 불구하고 말이다.
문자열을 만드는 방법에는 2가지가 있다.

  • String str1 = "abc";
  • String str1 = new String("abd");

근데 두번째 방법으로 문자열을 만들었을 때 그 문자열끼리 비교할때 등가비교 연산자를 사용하면 false가 나올 수 있기 때문에,
문자열 비교에는 equals()를 사용한다.

반응형

'JAVA' 카테고리의 다른 글

조건 연산자, 대입 연산자  (0) 2022.03.17
논리 연산자, 논리 부정 연산자  (0) 2022.03.16
반올림 Math.round(), 나머지 연산자  (0) 2022.03.16
사칙 연산자, 산술변환  (0) 2022.03.16
형변환 연산자, 자동 형변환  (0) 2022.03.15