JAVA/JAVA

데이터 타입 Data Type

호두밥 2021. 9. 24. 10:07

기본타입 Primitive Type

byte, char, short, int, long, float, double, boolean
실제 값을 변수 안에 저장한다.

참조타입 Reference Type

배열타입, 열거타입, 클래스, 인터페이스, Integer
메모리에는 실제값의 주소(번지)가 저장되고, 실제 값은 힙 영역에 저장된다.

 

 

2021.10.02 - [JAVA/JAVA] - JVM 자바 가상머신

 

기본타입 종류

정수형

[byte]

  • 색상 정보 및 파일 또는 이진(바이너리) 데이터를 처리할 때 주로 사용됨.
  • 정수 타입 중 가장 작은 범위의 값을 표현함.   
  • 저장되는 값의 범위 :  -27 ~ 27
  • 메모리 사용 크기 : 1 byte ( 8 bit )


[char]

  • 글자 1개, 유니코드 1개를 저장하기 위한 데이터 타입
  • 저장되는 값의 범위 :  0 ~ 216
  • 메모리 사용 크기 : 2 byte ( 16 bit )


[short]

  • 2 byte로 표현되는 정수값을 저장하기 위한 데이터 타입
  • 저장되는 값의 범위 :  -215 ~ 215-1
  • 메모리 사용 크기 : 2 byte ( 16 bit )


[int]

  • 4 byte로 표현되는 정수값을 저장하기 위한 데이터 타입
  • 자바에서 정수 연산을 처리하는 기본 데이터 타입으로 short형과 int형을 연산하면 결과가 int형으로 반환됨.
  • 저장되는 값의 범위 :  -232 ~ 232-1
  • 메모리 사용 크기 : 4 byte ( 32 bit )


[long]

  • 8 byte로 표현되는 정수값을 저장하기 위한 데이터 타입
  • long 타입 변수를 초기화할 때는 정수값 뒤에 L을 붙여주어 8 byte 정수임을 컴파일러에게 알려줘야 함.
  • 저장되는 값의 범위 :  -263 ~ 263-1
  • 메모리 사용 크기 : 8 byte ( 64 bit )

실수형


[float]

  • 소수점이 있는 실수 데이터를 저장하기 위한 데이터 타입
  • 부호(1bit) + 지수(8bit) + 가수(23bit)
  • float 타입 변수를 초기화할 때는 실수값 뒤에 F을 붙여주어 8 byte 실수임을 컴파일러에게 알려줘야 함.
  • 10진수를 나타내는 e가 리터럴에 포함되어 있으면 실수 타입 변수에 저장해야 한다. ex) 3e6 = 3000000, 2e-3 = 0.002
  • 저장되는 값의 범위 :  -263 ~ 263-1
  • 메모리 사용 크기 : 4 byte ( 32 bit )


[double]

  • 소수점이 있는 실수 데이터를 저장하기 위한 데이터 타입
  • 부호(1bit) + 지수(11bit) + 가수(52bit)
  • 저장되는 값의 범위 :  -263 ~ 263-1
  • 메모리 사용 크기 : 8 byte ( 64 bit )

논리형

[boolean]

  • 1 byte로 표현되는 논리값(true/false)를 저장하기 위한 데이터 타입

 

참조타입 종류

[String]

  • 문자열을 저장하는 객체
  • 변수1과 변수2이 같은 내용인 문자열을 참조하면, 같은 String 객체를 참조함.
String var1 = "Manta"; 
String var2 = "Manta"; 
System.out.println(var1 == var2); // True를 반환
  • new를 이용해 객체를 생성하게 되면 다른 String객체를 참조함.
String var1 = new String("Manta"); 
String var2 = new String("Manta");
System.out.println(var1 == var2); //False를 반환


[Array]

  • 특정 기본타입 데이터 여러개를 모아서 저장하는 객체
  • 배열은 선언과 동시에 저장할 수 있는 데이터 타입과 길이가 결정됨. 변경할 수 없음.
데이터타입[] 변수 = {값1, 값2, 값3, 값4};
데이터타입[] 변수 = new 데이터타입[] {값1, 값2, 값3, 값4};
데이터타입[] 변수 = new 데이터타입[길이];
  • {}안에 주어진 값들을 항목으로 가지는 갹체를 힙에 생성하고, 스택 영역에 생성된 변수에 주소값을 저장한다.

  • 타입별 배열의 초기값 
Type Data Type initial value
기본(정수) byte[] 0
char[] \u0000
short[] 0
int[] 0
long[] 0L
기본(실수) float[] 0.0F
double[] 0.0
기본(논리) boolean[] false
참조 String, 클래스 등등 null


[Enum]

  • 한정된 값만을 갖는 데이터 타입

출처

  • 신용권, 이것이 자바다, 한빛아카데미

 

'JAVA > JAVA' 카테고리의 다른 글

Objects 클래스  (0) 2021.09.28
Object Class  (0) 2021.09.28
java.lang 패키지  (0) 2021.09.27
어노테이션 Annotation (@)  (0) 2021.09.26
NaN과 Infinity  (0) 2021.09.24