1. 실수 타입
타입 | 메모리 사용 크기 | 저장되는 값의 허용 범위 | 정밀도(소수점 이하 자리) | |
float | 4byte | 32bit | (1.4 X 10-45) ~ (3.4 X 1038) | 7자리 |
double | 8byte | 64bit | (4.9 X 10-324) ~ (1.8 X 10308) | 15자리 |
(1) float
실수형 중에서 가장 작은 단위며 4byte의 메모리 사용 크기를 가지고 있습니다.
package Test;
public class exam1 {
public static void main(String[] args){
System.out.println(Float.MAX_VALUE);
System.out.println(Float.MIN_VALUE);
}
}
float형의 최댓값과 최솟값을 출력하는 소스입니다.
(2) double
실수형 중에서 제일 높은 크기를 가진 자료형입니다. 8byte의 크기를 가지고 있습니다.
public class Main {
public static void main(String[] args) {
System.out.println(Double.MAX_VALUE);
System.out.println(Double.MIN_VALUE);
}
}
double형에 최댓값과 최솟값을 출력하는 소스입니다.
해당 소스를 출력하게되면.
이러한 결과값으로 출력이 됩니다.
(float형과 double형의 차이점)
둘의 차이점을 보게되면 float형은 소수점 자리수가 7자리수 밖에 없지만
double형은 Max값을 출력하게되면 15자리수까지 출력이 됩니다.
예시로
float형은 1.1234567891의 소수점 값을 가진 Float형으로 선언하게되면.
float형 정밀도가 소수점 7자리까지만 표시해주기 때문에 그 뒤에 소수점 자릿수는 반올림을 해서 해당 변수에 저장하게 됩니다.
double형의 정밀도는 소수점 15자리수 까지 표시해주기 때문에 1.1234567891의 변수를 저장하게 될 경우 해당 값을 온전히 저장할 수 있습니다.
그 예시를 코드를 통해서 보여드리도록 하겠습니다.
public class Main {
public static void main(String[] args) {
float a = 1.1234567891f;
double b = 1.1234567891;
System.out.println(a + " // float형 출력");
System.out.println(b + " // double형 출력");
}
}
해당 출력문을 보게되면 float형은 7자리수 까지 표시해주고 그 뒤에 있는 소수점은 반올림 해준 출력이고,
double형은 해당 변수가 15자리수가 되지않기 때문에 모든 소수점 자리수는 온전히 표시가 되는것을 알 수 있습니다.
이 외에 다른 수학적 지식이 들어간 이유도 있지만 저는 간단하게나마 이렇게 사용이 된다라고 생각하시면 좋을것 같아요.
또, float형은 4바이트, double형은 8바이트이기 때문에 지금 현재 저희가 신경써야될 부분은 아니지만 나중에 메모리를 신경써야 될 때가 된다면 소수점이 적은 코드를 짜는 프로그램을 만들때 적절하게 메모리를 조절해 가면서 만드는게 더 좋은 프로그래머로 발전할 수 있지 않을까 생각해봅니다.
이렇게 자료형(소수점)인 float형과 double형에 대해서 알아보고 차이점도 간단하게 알아보는 시간이였습니다. 다음 게시글은 자료형(Bool, 문자열)에 대해서 포스트해보도록 하겠습니다 감사합니다.
결론 -
1. float형 - 메모리 크기 4바이트로 된 소수점 7자리수까지 출력이 가능하다 단, 소수점 자리수가 8자리 넘어가면 반올림됨.
2. double형 - 메모리 크기 8바이트로 된 수수점 15자리수까지 출력이 가능하다. 소수점 자리수가 16자리 넘어가게되면 반올림 됨.
'Java 기초' 카테고리의 다른 글
[Java 기초] 2-4 자료형(문자열 - String) (2) | 2024.11.17 |
---|---|
[Java 기초] 2-3 자료형(논리 - Boolean) (0) | 2024.11.10 |
[Java 기초] 2-1 자료형 (2) | 2024.11.09 |
[Java 기초] (1) 변수란? (1) | 2024.09.08 |
[Java 기초] Java JDK - 21 설치 및 환경 변수 설정 (1) | 2024.09.07 |