기본적으로 정수형 데이터 타입은 int, 실수형 데이터타입은 double을 사용한다.
[실수의 표현]
1. 변수와 상수는 각각 데이터 타입을 갖고 있다.
int a = 2.2; // a의 데이터타입은 int, 2.2의 데이터타입은 실수(double)이다. 따라서 오류가 발생한다.
위의 코드가 오류가 나지 않도록 하려면 1) double로 a의 데이터 타입을 지정하는 방법 , 2) a와 2.2를 모두 float으로 지정하는 방법이 있다.
double a = 2.2;
float a = 2.2F; //float로 지정할 때는 숫자 뒤에 F를 붙여 명시적으로 형을 변환한다.
[정수의 표현]
int a = 2147483648; // 이 코드는 int가 담을 수 있는 범위(2147483647)를 넘어서 오류가 발생한다.
long a = 214783648; // 그렇다고 long으로 바꿔도 오류가 나는데, 이는 정수표현의 default는 int이기 때문이다.
long a = 214783648L; // 따라서 숫자 뒤에 L을 붙여 명시적으로 long으로 형변환 해야한다.
반면 int보다 작은 short나 byte는 int형을 허용해 다음과 같을 때는 오류가 발생하지 않는다.
byte a = 100;
short b = 200; //byte와 short는 int보다 작아서 형변환 하지 않아도 오류 발생하지 않음
'Java' 카테고리의 다른 글
[Java] 생활코딩 | 조건문 switch, default (0) | 2022.09.11 |
---|---|
[Java] 생활코딩 | 조건문 if, else (0) | 2022.09.11 |
[Java] 생활코딩 | 데이터의 크기, 데이터 타입 (0) | 2022.09.09 |
[Java] 생활코딩 | 변수의 선언과 할당, 정수, 실수, 문자열 (0) | 2022.09.09 |
[Java] 생활코딩 | 숫자, 문자와 문자열 (0) | 2022.09.09 |