[Java] float타입의 컴파일 에러

삶걀·2022년 4월 27일
0

기타

목록 보기
1/12
public class Ex_3_1_0 {

	public static void main(String[] args) {
		float a = 23.3;
		int real = (int) a;
		System.out.println("real=" + real);
		System.out.println("a=" + a);

	}

}

위 코드에서 에러가 발생했다. 대체 왜?
float는 소숫점 7자리까지 표현 가능하다며?! 7자리 안쪽인데도 컴파일 에러가 뜨더라~
(참고로 double은 소숫점 16자리까지 표현 해준다.)

변수의 종류 중 float, double이 있는데?
보통 자바에서 실수는 기본형으로 double을 사용한다 (고 한다) 그래서 float 타입에 값을 저장하려면 실수 리터럴 뒤에 반드시 F 또는 f를 붙여주자.
그렇지 않으면 컴파일 에러가 발생한다.


자바의 정석 기초편 Ch2_06. 리터럴의 타입과 접미사

변수에 타입이 있는것처럼, 리터럴에도 타입이 있다.
변수의 타입은 저장될 값의 타입(리터럴의 타입)에 의해 결정된다.

정수형의 경우 int와 long 두종류
실수형의 경우 float와 double 두종류가 있는데
정수는 int, 실수는 double이 기본형이다.

기본형 외의 정수와 실수의 리터럴 타입에는 접미사를 붙여서 정수와 실수가 무슨 타입인지 구분하자.

기본형은 기본이니까 생략하고 기본형 외의 타입에 접미사를 붙여 표시한다.

float: f, F
long: d, D

해당 타입 끝에 접미사를 붙이지 않으면 오류가 발생하므로 접미사를 꼭! 입력하자.

profile
반숙란 좋아하는사람

0개의 댓글