비교 연산자, 문자열의 비교
반응형
비교 연산자 (> , <, >=, <=, ==, !=)
- 두 피연산자를 비교해서 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 |
댓글
이 글 공유하기
다른 글
-
조건 연산자, 대입 연산자
조건 연산자, 대입 연산자
2022.03.17 -
논리 연산자, 논리 부정 연산자
논리 연산자, 논리 부정 연산자
2022.03.16 -
반올림 Math.round(), 나머지 연산자
반올림 Math.round(), 나머지 연산자
2022.03.16 -
사칙 연산자, 산술변환
사칙 연산자, 산술변환
2022.03.16