Java (자바)

자바의 자료형 - 정수형, 실수형

Oscar:) 2022. 1. 31. 18:40

자바의 기본형 자료형을 표로 정리해 보았다.

그 중에서 정수형과 실수형 자료형에 대해 알아보자.

 

 

이전 글에서 메모리에 대해 알아본 이유는,

위 표에서 보이다시피 각 자료형마다 byte 단위의 용량을 가지고 있기 때문이다.

 

과거에는 메모리의 용량에 대한 제약이 심했기 때문에

범위에 맞는 자료형을 사용하는 것이 중요했다고 한다.

 

하지만 요즘은 기술의 발전으로 인해, 워낙 커다란 용량의 램이 보급되기 때문에

코드를 짤 때 메모리의 용량에 대한 제약을 심하게 받지 않는 편이다.

 

그리하여 현재의 자바 프로그램에서는 기본적으로

모든 정수형 자료형을 int로 인식한다.

같은 이유로, 모든 실수형 자료형은 double로 인식한다.

 

 

 

따라서 우리가 long을 사용할 때,

int의 범위값을 벗어난다면 값 뒤에 l을 붙여줘야 에러가 나지 않는다.

int 값에 200억을 넣었을 때 에러, long 값에 200억을 넣었을 때 에러

int 의 범위는 약 21억 까지이므로, 20억을 넣었을 때는 에러가 나지 않고

200억을 넣었을 때는 'int 타입의 범위를 벗어났다' 라며 에러가 나는 것을 확인하였다.

 

그래서 200억의 값을 long에 넣었지만 그럼에도 에러가 나고,

마찬가지로 'int 타입의 범위를 벗어났다' 라는 똑같은 에러가 났다.

하지만 long의 값 뒤에 l을 붙여주자 에러가 사라지는 것을 확인하였다.

 

이로써, 프로그램 자체적으로 정수형 자료형은 int로 인식한다는 것을 증명할 수 있었다.

 

 

마찬가지로, float를 사용할 때에도,

값 뒤에 f를 붙여줘야 에러가 나지 않는다.

실수 값에 float 사용 시 발생하는 에러

분명 float의 범위 안에 있는 실수를 사용했는데도 에러가 난다.

이 에러의 이유는 '타입 불일치 : double에서 float로 변환 불가능'

값 뒤에 f를 붙여주면 에러가 나지 않는다.

 

실수형 자료형도 프로그램 자체적으로 double로 인식한다는 것을 증명하였다.