실수도 크기가 서로 다른 2가지 자료형을 제공한다. 저장하고자 하는 실숫값을 지수와 가수로 표현하는 부동 소수점 방식으로 저장하므로 오차가 발생할 수 있지만 매우 넓은 범위의 값을 저장할 수 있다. 앞서 공부한 것처럼 float 자료형의 정밀도는 소수점 7자리, double자료형의 정밀도는 소수점 15자리 정도이다.
자바는 실수 리터럴을 double 자료형으로 인식한다. 단 float를 나타내는 F(또는 f)를 실수 리터럴 뒤에 붙이면 flaot자료형으로 인식한다.
대입식 | 실수 리터럴의 자료형 인식 |
---|---|
float a = 3.5F; | 뒤에 F가 붙었으므로 float로 인식(float = float) |
double a = 5.8; | 실수 리터럴은 기본적으로 double로 인식 (double = double) |
double a = 5; | int로 인식하지만 자동 타입 변환해 double로 인식 (double = double) |
float a = 3.5; | 실수 리터럴은 기본적으로 double로 인식(float= double) -> 오류 발생 |
결과