728x90
반응형
비교 연산자는,
피연산자의 대소 또는 동등을 비교해서 true/false를 산출한다.
대소 연산자는 boolean을 제외한 기본 타입에서 사용
동등 연산자는 모든 타입에서 사용
비교연산자는 흐름 제어문인 조건문(if), 반복문(for, while)에서 주로 이용되어 실행 흐름을 제어할 때 사용
예시를 보면 이해가 쉬울 것같다.
그러나, 한가지 예외가 있다.
'A' == 65 //true
3 == 3.0 //true
0.1 == 0.1f //false
0.1f가 왼쪽 double타입으로 변환되어 true가 나와야 하지만 결과는 false이다.
이유는 자바에서 실수의 저장 방식인 부동 소수점 방식이 0.1을 정확히 표현할 수 없기 때문.
0.1f는 0.1의 근사값 (0.10000000149011612)으로 표현된다. 그래서 0.1보다 큰값이 된다.
true값을 받으려면 피연산자 모두 float타입으로 변환해서 비교하거나 정수 타입으로 변환해서 비교하면 된다.
논리 연산자
논리연산자는 논리곱(&&-and), 논리합(||-or), 배타적 논리합(^-xor), 논리 부정(!-not) 연산을 수행한다.
논리 연산자는 boolean 타입만 사용한다.
&&와 &는 산출결과는 같으나, 과정이 조금 다르다
- &&: 앞의 피연산자가 false라면 뒤의 피연산자를 평가하지 않고 바로 false값 결과 산출
- &: 두 피연산자 모두를 평가해서 결과 산출
||와 | 도 같다.
- ||: 앞의 피연산자가 true라면 뒤의 피연산자를 평가하지 않고 true값 결과 산출
- |: 두 피연산자 모두를 평가해서 결과 산출
본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.
728x90
반응형
'Work & Study > JAVA (& 혼공자Java)' 카테고리의 다른 글
자바(Java) - 연산자 종류5 (삼항 연산자) (0) | 2020.09.09 |
---|---|
자바(Java) - 연산자 종류4 (이항 연산자 - 대입 연산자) (0) | 2020.09.09 |
자바(Java) - 연산자 종류2 (이항 연산자 - 산술, 문자열 결합 연산자) (0) | 2020.09.09 |
자바(Java) - 연산자 종류1 (단항 연산자) (0) | 2020.09.08 |
자바(Java) - 연산자 (0) | 2020.09.08 |