여니의 프로그래밍 study/Java

[Java] 데이터 타입 (+double형, float형 ), 형변환

여니's 2022. 7. 4. 14:41

목차

     

     

     

    https://opentutorials.org/course/1223/5375

     

    데이터 타입 - 생활코딩

    데이터 타입은 조금 어렵다. 후속 수업에서 필수적인 선행지식은 아니지만, 또 뒤에 배치하는 것도 애매하다. 이번 토픽의 학습이 어렵게 느껴지면 다음 토픽으로 넘어가고 나중에 다시 학습하

    opentutorials.org


    데이터 타입

    컴퓨터에 저장되는 정보의 가장 작은 단위 = bit

    데이터 타입 데이터 종류 데이터 크기
    논리형 boolean 1 byte
    문자형 char 2 byte
    정수형 byte 1 byte
    short 2 byte
    int  4 byte
    long 8 byte
    실수형 float 4 byte
    double 8 byte

    논리형

    : boolean형의 기본값은 false이다.


    문자

    : char 타입의 변수는 단 하나의 문자만을 저장할 수 있다.

    문자가 아닌 '문자의 유니코드(정수)'가 저장된다. 

    'A'의 유니코드는 65이니까 char 에는 65가 저장된다.

     

    유니코드를 알고 싶을 때 아래를 참조할 것!

    // 문자 -> 유니코드 (문자 인코딩)
    char ch = 'A';
    int code = (int)ch;
     
    // 유니코드 -> 문자 (문자 디코딩)
    int code = 65;
    char ch = (char)code;

    정수형

    : 기본 자료형은 int 형이다. 

    n비트로 표현할 수 있는 정수의 개수 : 2^n개
    범위 : -2^n ~ 2^n-1 (0도 양수에 포함된다)

     

    S (부호비트) n-1 bit

    첫 번째 비트 : 부호 비트

    나머지 : 값을 표현하는 데 사용한다.

     

     


    실수형

    float = 4byte , (정밀도 7자리)

    S (1 bit) E(8 bit) M(23 bit)

    double = 8byue, (정밀도 15자리)

    S (1 bit) E(11 bit) M(52 bit)

     

    실수형은 값을 부동 소수점수의 형태로 저장한다.

    부동소수점수는 부호, 지수, 가수로 이루어져있다. 

     

    기호 의미 설명
    S 부호 (Sign bit) 0이면 양수, 1이면 음수
    E 지수 (Exponent) 부호 있는 정수
    float : -127 ~ 128
    double : `1023 ~ 1024
    M 가수 (Mantissa) 실제값을 저장하는 부분 (10진수)
    float : 7 자리
    double : 15자리

    (+실수형은 정수형과 달리 오차가 발생할 수 있다는 단점이 있다)

     

     

     

    https://eboong.tistory.com/564?category=1019301

     

    [Java] 변수

    목차 < 변수 > 변수의 종류는 2가지의 기준으로 나눌 수 있다. 첫 번째로는 타입에 따라서, 두 번째로는 선언 위치에 따라서! 1. 타입에 따른 분류 (1) Primitive type variable (기본형) - 미리 정해진 크기

    eboong.tistory.com


    오버플로우 (overflow)

    : 변수의 값이 표현 범위를 벗어나는 것을 의미한다.

    정수형에서 최대값에 1을 더하면 최소값이 되고, 최소값에서 1을 빼면 최대값이 된다.

    실수형에서 오버플로우가 발생하면 변수의 값은 무한대가 된다. 

     

    언더플로우 (underflow)

    : 실수형으로 표현할 수 없는 아주 작은 값이 되는 것을 의미한다.

    이때 변수의 값은 0이 된다.


    형변환

    : 데이터의 타입을 변경하는 것을 의미한다.

    (타입) 피연산자

    기본형에서 boolean을 제외한 나머지 타입들은 서로 형변환이 가능하다.

    기본형과 참조형간의 형변환은 불가능하다.

     

     

    (1) 자동 형변환

    컴파일러가 생략된 형변환을 자동적으로 추가한다. 

    표현범위가 좁은 데이터 타입 -> 넓은 데이터 타입으로의 변환만 허용된다. 

     

     

    (2) 수동 형변환

    > 자동 형변환이 적용되지 않는 경우! 

     

    float a = (float)100.0;
    int b = (int)100.0F;

    https://eboong.tistory.com/551?category=1019301 

     

    [Java] 연산자 (+증감 연산자, 비교 연산자, 논리 연산자)

    https://opentutorials.org/course/1223/5331 연산자 - 생활코딩 연산자란 연산자(演펴다연 算계산산 子, operator)란 특정한 작업을 하기 위해서 사용하는 기호를 의미한다. 작업의 종류에 따라서 대입 연산자,

    eboong.tistory.com