[Java] float 와 double

조회수 1162회

저는 Java에서 기본적으로 실수형을 저장할때 double을 사용하였습니다.

그런데 실수형을 저장하는 변수타입은 float 와 double이 있는데

double은 초기화시에 바로 입력해주면 됩니다.

double a = 1.5;

이런식으로요.

그런데 float의 경우

float b = 1.5f;

이런식으로 입력을 해주어야 합니다.

그렇다면 실제로는 double이 더 사용하기에도 좋은데,

float는 왜 사용하는거죠?

애초에 할당되는 크기가 작기 때문에 그런 점을 중요시하거나 할때 사용하는 건가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • double 은 8바이트짜리 대형 자료형입니다. 1.5를 저장하는데 double 을 사용한다는건 메모리 낭비겠죠.

    마찬가지로 정수형 자료형도 int long 가 각각 있습니다.

    jvm 관점에서도 8바이트 자료형들은 4바이트로 되어 있는 스택공간 2개를 차지합니다. 즉 연산을 더 해야할 것 이므로 단순히 메모리 사용량외에도 성능에도 문제가 될 수 있습니다.

    System.out.println("byte: " + Byte.BYTES);
    System.out.println("char: " + Character.BYTES);
    System.out.println("int: " + Integer.BYTES);
    System.out.println("long: " + Long.BYTES);
    System.out.println("short: " + Short.BYTES);
    System.out.println("double: " + Double.BYTES);
    System.out.println("float: " + Float.BYTES);
    
    byte: 1
    char: 2
    int: 4
    long: 8
    short: 2
    double: 8
    float: 4
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)