자료형 Data type / java

aljongjong·2021년 8월 22일
0

학원 복습일지

목록 보기
4/84

정수 자료형(+, -, 0)

  • byte(1Byte —> 8bit / 8개의 단자수)
  • short(2Byte —> 16bit / 16개의 단자수)
  • int(4byte —> 32bit / 32개의 단자수)
  • long(8byte —> 64bit / 64개의 단자수)
  • 양수의 표현에 0이 포함된다
    ex) byte 자료형의 표현 범위: 8개의 단자수 범위에서 한 자리를 0이 차지하고 있어서 2^7 —> [-2^7 ~ 2^7-1] —> [-128 ~ 127]
  • 정밀도가 필요한 프로그래밍에서 큰 바이트의 자료형을 사용

❤️‍🔥❤️‍🔥❤️‍🔥long —> 8바이트 자료형, 숫자 뒤에 L을 써서 long형을 표시(long lNum = 12345678900L;)
—> 12345678900이 메모리 공간에 기억되어야하는데 기본 4byte 메모리공간이 부족하므로 L를 써줘서 리터럴(실제값)이 8Byte의 공간으로 잡히는 것
—> 이 메모리에 저장된 값이 long형 lNum으로 복사되는 것

실수 자료형

  • float(4byte), double(8byte)
  • 숫자 표현에 있어서 소수점을 기준으로 앞을 지수부, 뒤를 가수부 / 지수부와 가수부의 표현 방식이 다르다
  • float —> 32Bit에서 부호비트 1bit를 뺀 나머지 31bit를 지수부와 가수부로 나눠서 배치
  • double —> 64Bit에서 부호비트 1bit를 뺀 나머지 63bit를 지수부 가수부 나눠서 배치

    ❤️‍🔥❤️‍🔥실수 표현은 리터럴이 기본 8byte 메모리 공간으로 생성되는데 float형은 4byte 공간으로 복사될 수 없다.

    ❤️‍🔥❤️‍🔥큰 공간을 작은 공간으로 복사하려고 해서 컴파일 에러가 생긴다. 이를 위해 리터럴을 float형 4byte로 강제 형변환 시켜 해결할 수 있다.

문자 자료형

  • char(2byte)
  • ASCII 코드 —> 문자 세트 (8bit = 1byte 코드 체계)
  • 대문자 A —> 인코딩(부호기) —> 십진수 65
  • 십진수 65 —> 디코딩(해독기) —> 대문자 A
  • 각 나라의 문자세트가 달라서 호환 문제가 생김 —> 자바는 문자를 나타내기 위해 전세계 표준인 UNICODE를 사용, utf-16 인코딩을 사용(모든 문자를 2바이트로 표시)
  • 문자를 위한 데이터 타입 char ch = ‘A’; —> 싱글 콤마는 문자 하나 표시/ 단일 문자 2Byte체계,
  • “~” —> 더블 콤마는 문자열 표시 —> 문자열 체계에선 메모리에 문자뒤에 null문자가 들어가 있다. —> null문자의 의미 문자열이 끝났다.
  • 내부적으로 숫자로 표현되므로 숫자를 넣어도 문자가 출력될 수 있음 —> char ch2 = 66; —> 출력시 대문자 B 출력
  • char 타입은 양수만 표현 가능 음수X 0~65535 —> 2byte = 16bit —> 2^16

  • char 타입에 음수 표현 불가 컴파일 오류
  • 2Byte(0~65535)가 넘는 표현 불가 컴파일 오류
  • 한글 표현과 유니코드를 사용한 표현
  • 유니코드는 16진법의 숫자체계로 쓰인 숫자 표현이라 싱글 콤마에 사용가능하다.

논리 자료형

  • true, false
  • boolean

0개의 댓글