본문 바로가기
Java/[패스트캠퍼스] Java & SpringBoot로 시작하는 웹 프로그래밍

Ch 01. 자바 기초 - 06. 자료형(data type) - 정수는 어떻게 표현하나요?

by hinote 2022. 12. 28.

자료형은 크게 두가지로 되어있다

 

  • 기본 자료형 (primitive data type) :자바에서 기본 제공해주는 자료형 (c부터 넘어온 자료형임). n바이트로 크기가 정해져 있음.
    나중에 참조자료형(객체를 만들고 데이터타입으로 쓰이는)때는 new로 써야함-바이트가 정해져 있는 자료형은 아니다
     
  • 참조 자료형 : 객체를 변수의 자료형으로 씀.

 

 

 

기본 자료형(primitive data type)의 종류

 

 

 

* 같은 4바이트라고 해도 int냐 float인지에 따라 메모리가 다르게 잡힘

 

 

  • 정수 : 딱 떨어지는 수 (양수나 음수 등.)
  • 문자형 : 문자
  • 실수형 : 정수와 정수 사이에 수 많은 실수들이 있음 - 정수와 같이 표현하지 못하기 때문에 실수 자료형이 필요함
  • 논리형 : true/false


 

 

 


정수 자료형의 종류와 크기

 

부호비트가 들어가기 때문에 한 자리를 빼야 함
8을 나타낼 때 : 0~7(2의3승-1) : 8자리
부호비트를 제외하고 n-1자리 사용 가능

그리고 중간에 0이 껴있기 때문에 수의 범위는 마지막 숫자에서 -1이 되어야 함

byte: 1byte=8bit (2의7승)
short:2byte=16bit
int:4byte=32bit
...

 

 

 

byte와 short

 

  • byte : 1바이트 단위의 자료형
    동영상, 음악 파일, 실행 파일의 자료를 처리할 때 사용 input, output 입출력 처리하거나 데이터 받아서 출력할 때 종종 사용함
  • short : 2바이트 단위의 자료형
    C/C++ 언어와 호환 시 사용자바 내에서 잘 사용하지 않음


 

int

 

  • 자바에서 사용하는 정수에 대한 기본 자료 형
  • 4바이트 단위의 자료형
  • 프로그램에서 사용하는 모든 숫자(리터럴)은 int 로 저장됨
  • 32 비트를 초과하는 숫자는 long 자료형으로 처리

 

 

long

  • 8바이트 자료형
    긴 정수를 쓸 때 사용

  • 숫자의 뒤에 알파벳 L 또는 l 을 써서 long 형임을 표시 함

 

  • 예) int num = 12345678900; // 오류 : num이 표현할 수 있는 숫자를 넘어섰기 때문에 에러.
    long lnum = 12345678900; //오류 : lvalue를 long으로 잡아도 rvalue의 리터럴 자체가 항상 4바이트로 잡히고 4바이트 이상의 숫자이기 때문에 에러.
    long lnumber = 12345678900L; // ok : L을 붙였기 때문에 long형으로 잡혀서 사용 가능. - L은 소문자로 사용해도 괜찮음 (그리고 int->long거나 타입보다 숫자가 작은건 상관이 없음)

 

 



실수 사용에도 마찬가지인데, 실수의 사용은 기본적으로 double형으로 잡힘.
그렇기 때문에 4바이트 짜리로 사용하고싶다면 숫자 뒤에 float의 f를 붙이면 됨. - 또한 대문자, 소문자 둘 다 사용 가능






 

댓글