반응형
SMALL
1. 숫자 비교
기준값.compareTo(비교값);
-
기준값 == 비교값
0
반환
-
기준값 > 비교값
1
반환
-
기준값 < 비교값
-1
반환
Integer a = 7;
Integer b = 3;
a.compareTo(b);
>> 1
int
형 선언으로는 안되나?
-
compare()
사용int a = 7; int b = 3; Integer.compare(x, y);
2. 문자 비교
-
같으면
0
반환
-
다르면
- 다른 문자의 개수만큼 리턴
- 근데 기준값과 비교값이 앞에서부터 동일한 문자가 나와야만 다른 문자 개수만큼 리턴이 가능
String str = "abcd"; str.compareTo("ab"); >> 4 - 2 = 2 str.compareTo("c"); >> -2 >> ?
- 근데 기준값과 비교값이 앞에서부터 동일한 문자가 나와야만 다른 문자 개수만큼 리턴이 가능
- 다른 문자의 개수만큼 리턴
위 코드의 두번째 예제는 왜 -2인가?
기준값과 비교값이 앞에서부터 동일한 문자가 아니고 중간에 같은 문자일 경우 각각의 문자열에서 가장 낮은 아스키코드의 차이값을 리턴 하기 때문
String str = "abcd";
str.compareTo("c");
>> 각각 문자열의 가장 낮은 아스키코드 문자 : a와 c
>> 97 - 99 = -2
- 대소문자도 구분하여 비교함
반응형
LIST
'JAVA' 카테고리의 다른 글
[JAVA] 우선순위큐 PriorityQueue 사용하기 (0) | 2020.12.29 |
---|---|
[JAVA] Queue 관련 함수 (+ 함수 차이점) (0) | 2020.12.26 |
[JAVA] Arrays.fill 함수 (0) | 2020.04.16 |
BigInteger 클래스 (0) | 2019.10.02 |