Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- HTML
- 부호/증감 연산자
- 백준 문제풀기
- CSS 박스모델 구성
- 고양이 출력
- java
- background-size 속성
- 연산자
- oracle
- 연산의 방향
- background-repeat 속성
- 논리연산자
- 이클립스
- 정수 연산
- 박스 모델의 성격
- 자바
- 위치속성
- 키보드입력데이터
- 실수 타입
- 변수사용범위
- 강아지 출력
- CSS
- ul 태그
- 삼항연산자
- 대입연산자
- CSS 정리
- 콘솔로 변수값 출력
- 새싹 출력
- 데이터베이스
- 논리부정
Archives
- Today
- Total
너와 나의 개발 고리
[JAVA] chap03 연산자_비교연산자 본문
비교 연산자는 동등(==, !=) 또는 크기(<, <=, >, >=) 를 평가해서 boolean 타입인 true/false를 산출한다.
비교 연산자는 흐름 제어문인 조건문(if), 반복문(for, while)에서 실행 흐름을 제어할 때 주로 사용한다.
| 구분 | 연산식 | 설명 | ||
| 동등 비교 | 피연산자1 | == | 피연산자2 | 두 피연산자의 값이 같은지를 검사 |
| 피연산자1 | != | 피연산자2 | 두 피연산자의 값이 다른지를 검사 | |
| 크기 비교 | 피연산자1 | > | 피연산자2 | 피연산자1이 큰지를 검사 |
| 피연산자1 | >= | 피연산자2 | 피연산자1이 크거나 같은지를 검사 | |
| 피연산자1 | < | 피연산자2 | 피연산자1이 작은지를 검사 | |
| 피연산자1 | <= | 피연산자2 | 피연산자1이 작거나 같은지를 검사 | |
피연산자의 타입이 다를 경우에는 비교 연산을 수행하기 전에 타입을 일치시킨다.
'A' == 65 -> 'A'를 int타입으로 변환 -> 65 == 65 -> true
3 == 3.0 -> 3을 double타입으로 변환 -> 3.0 == 3.0 -> true
한 가지 예외가 있다.
0.1f == 0.1 -> 0.1f를 double타입으로 변환 -> 0.1 == 0.1 -> false
0.1f가 double타입으로 변환되면 0.1 == 0.1 이 되어 true가 산출되어야 하지만 결과는 false가 산출된다.
그 이유는 부동 소수점 방식을 사용하는 실수 타입은 0.1을 정확히 표현할 수 없고
float타입과 double타입의 정밀도 차이 때문이다.
해결책은 피연산자를 float타입으로 강제 타입 변환 후 비교 연산을 하면 된다.
0.1f == (float)0.1 > true
문자열을 비교할 때에는 동등연산자 대신 equals( )와 !equals( )를 사용한다.
boolean result = 원본문자열.equals(비교문자열); // 문자열이 같은지 검사(대소문자 구분)
boolean result = ! 원본문자열.equals(비교문자열); // 문자열이 다른지 검사

'JAVA > 이것이 자바다' 카테고리의 다른 글
| [JAVA] chap03 연산자_비트 논리 연산자 (0) | 2023.08.10 |
|---|---|
| [JAVA] chap03 연산자_논리 연산자 (0) | 2023.08.10 |
| [JAVA] chap03 연산자_정확한 계산은 정수 연산으로 (0) | 2023.08.09 |
| [JAVA] chap03 연산자_오버플로우와 언더플로우 (0) | 2023.08.09 |
| [JAVA] chap03 연산자_산술 연산자 (0) | 2023.08.09 |