비교 연산자
- 비교 연산자는 동등(==, !=) 또는 크기(<, <=, >, >=)를 평가해서 boolean 타입인 true/false를 산출
- 흐름 제어문인 조건문(if), 반복문(for, while)에서 실행 흐름을 제어할 때 주로 사용
출처, 이것이 자바다
- 문자열을 비교할 때는 동등(==, !=) 연산자 대신 equals()와 !equals()를 사용
package ch03.sec06;
/*
비교연산자 : ==, !=, >, >=, <, <= 의 결과값은 boolean의 true, false 의 값을 갖는다.
*/
public class CompareOperatorExample {
public static void main(String[] args) {
int num1 = 10;
int num2 = 10;
boolean result1 = (num1 == num2);
boolean result2 = (num1 != num2);
boolean result3 = (num1 <= num2);
System.out.println("result1: " + result1); -> true
System.out.println("result2: " + result2); -> false
System.out.println("result3: " + result3); -> true
char char1 = 'A'; //유니코드 65. 소문자a 97
char char2 = 'B'; //유니코드 66. 소문자b 98
boolean result4 = (char1 < char2);
System.out.println("result4: " + result4); -> true
int num3 = 1;
double num4 = 1.0;
//타입일치 : num3변수가 int형 -> double형으로 변환되고, 비교가 일어난다.
boolean result5 = (num3 == num4);
System.out.println("reslut5: " + result5); -> true
//특이사항. 실수데이터형은 부동소수점 방식으로 데이터를 표현하고, 0.1은 정밀도 오차가 발생이 된다.
float num5 = 0.1f;
double num6 = 0.1;
//0.1자체로 저장되는 것이 아니라, 정밀도에 의하여 0.09999999999998오차의 값으로 저장하고 double형으로 변환된다.
//double형으로 변환
boolean result6 = (num5 == num6);
boolean result7 = (num5 == (float)num6);
System.out.println("result6: " + result6); -> false
System.out.println("result7: " + result7); -> true
//문자열비교. equals()메소드 사용
String str1 = "자바";
String str2 = "Java";
boolean result8 = (str1.equals(str2));
boolean result9 = (! str1.equals(str2)); // ! not 반대의미
System.out.println("result8: " + result8); -> false
System.out.println("result9: " + result9); -> true
}
}
'자바 언어 기초 - 연산자' 카테고리의 다른 글
대입 연산자 (0) | 2023.01.14 |
---|---|
논리 연산자 (0) | 2023.01.14 |
나눗셈 연산 후 NaN과 Infinity 처리 (0) | 2023.01.14 |
정확한 계산은 정수 연산으로 (0) | 2023.01.14 |
오버플로우와 언더플로우 (0) | 2023.01.14 |