
비교 연산자 : 두 피연산자를 비교. 주로 조건문과 반복문의 조건식에 사용되며, 연산결과는 오직 true와 false 둘 중 하나📍 대소비교 연산자 < > <= >=
| 비교연산자 | 연산결과 |
|---|---|
| > | 좌변 값이 크면 true, 아니면 false |
| < | 좌변 값이 작으면 true, 아니면 false |
| >= | 좌변 값이 크거나 같으면 true, 아니면 false |
| <= | 좌변 값이 작거나 같으면 true, 아니면 false |
📍 등가비교 연산자 == !=
| 비교연산자 | 연산결과 |
|---|---|
| == | 두 값이 같으면 true, 아니면 false |
| != | 두 값이 다르면 true, 아니면 false |
==대신 equals()라는 메서드 사용 
str2와 "abc"의 내용이 같은데도 '
=='로 비교하면, 결과는 false
→내용은 같지만 서로 다른 객체이기 때문
그러나 equals()는 객체가 달라도 내용이 같으면 true 반환
▶ 만일 대소문자를 구별하지 않고 비교하고 싶으면, equals()대신equalsIgnoreCase()사용
&& ||'&& 그리고(AND)'. '|| 또는(OR)' 으로 연결하여 하나의 식으로 표현| x | y | x││y | x&&y |
|---|---|---|---|
| true | true | true | true |
| true | false | true | false |
| false | true | true | false |
| false | false | false | false |
🍕 사용예시 및 주의사항
①x는 10보다 크고, 20보다 작다
x > 10 && x < 20
10 < x && x < 20
②i는 2의 배수 또는 3의 배수이다
→2의 배수 : 2로 나누었을 때 나머지가 0
i % 2 == 0 || i % 3 == 0
③i는 2의 배수 또는 3의 배수지만 6의 배수는 아니다
(i % 2 == 0 || i % 3 == 0) && i % 6 != 0
→'&&'가 '||'보다 우선순위가 높기 때문에 괄호를 사용하지 않으면 '&&'를 먼저 연산함
→i % 2 == 0 || i % 3==0 && i % 6 != 0 과
→i % 2 == 0 || (i % 3==0 && i % 6 != 0) 는 같음
괄호 사용하여 우선순위를 명확히 해주는 것이 좋음
④문자 ch는 숫자('0'~'9')이다
사용자로부터 입력된 문자가 숫자('0'~'9')인지 확인하는 식은
→ '0' <= ch && ch <= '9'
유니코드에서 문자 '0'부터 '9'까지 연속적으로 배치되어 있기 때문에 가능한 식. 문자 '0'부터 '9'까지 유니코드는 10진수로 아래와 같음
| 문자 | '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' |
|---|---|---|---|---|---|---|---|---|---|---|
| 문자코드 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 |
▶ch의 값이 '5'인 경우 다음과 같은 과정으로 연산됨
'0' <= ch && ch <= '9'
→'0' <= 5 && '5' <= '9'
→48 <= 53 && 53 <= 57
→true && true
→true
⑤문자 ch는 대문자 또는 소문자이다
④의 경우와 마찬가지로 문자'a'부터 'z'까지, 그리고 'A'부터 'Z'까지도 연속적으로 배치되어 있으므로 문자 ch가 대문자 또는 소문자인지 확인하는 식은 아래와 같음
▶('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z')
