본문 바로가기
카테고리 없음

[Java] 06. 자바의 자료형 (Data Type)

by 슈퍼닷 2015. 1. 15.
반응형

자바의 자료형은 크게 두가지로 나뉜다.

 

Primitive Type   ,   Non-Primitive Type


Primitive Type 은 기본형으로 , 일반적으로 제공하는 자료형이라고 생각하면 된다.

 

Non-Primitive Type 은 기본형이 아닌 자료형이다. 자바를 말하면 꼭 나오는게 바로 오브젝트 인데

Non-Primitive Type 이 오브젝트와 관련된 자료형이다.

 

자료형은 변수를 선언하기위해 필요한 것으로서 , 자료형은 반드시 알아 두어야 한다.

 

1. Primitive type

 

-  정수 ( Integral )

1) byte

2) short

3) int

4) long

 

- 소수 ( Floating )

1) float

2) double

 

-  논리 ( Logical )

1) boolean

 

-  문자 ( Texture )

1) char

 

 

2. Non-Primitive Type

 

- String 등등

 

일반적으로 우리가 다루는 숫자부터 보자.

 

byte란 bit가 8개 모인거라는건 알것이다.

1비트는 2가지의 정보를 저장할수 있다.

그래서 byte는 2의 8승인 256가지를 나타낼수 있습니다.

그러므로 1byte의 범위는  -2^7~ 2^7 - 1 입니다.

-방향으로 128개 + 방향으로 128개 입니다.

 

short는 2byte로써 -2^15 ~ 2^15 - 1  만큼 나타낼수 있습니다.

 

int 는 4byte로 -2^31 ~ 2^31 - 1   ,    long 은 8byte로  -2^63 ~  2^63 - 1 만큼 나타낼 수 있겠죠.

일반적으로 흔히 쓰이는 자료형은 int 입니다.

 

이제 소수부분을 보죠.

 

float는 4byte  double은 총 8byte의 값을 가질수 있습니다.

 

char 은 2byte의 크기이며 문자열을 하나 저장을 할수있습니다.

 

boolean은  true 와 false 의 값을 가지고 있습니다.

그런데 , 0이 false 고  0이아닌 수가 true인것은 아닙니다.

 

이제 자료형을 표현해 보죠.

 

int a  = 3 ;

System.out.println(a);

위의 스크립트가 main 안에 있다고 가정하고 합시다.

그러면 이 스크립트를 실행시키면 3이 출력될 것입니다.

 

자료형 변수명 = 내용 ;

 

이렇게 원하는 자료형의 변수를 선언할 수 있습니다.

주의해야될 점은 위에서 알려드린 범위안의 수를 넣어야 합니다.

만약에 short 로 변수를 선언했는데 범위를 넘는 수 , 즉 2^20 의 숫자가 들어갔다고 한다면

스크립트가 정상적으로 작동이 되지 않을 겁니다.

하지만 2^20의 숫자를 short 변수에 넣는 방법이 있습니다. 바로 캐스팅 ( casting ) 이라는 방법입니다.

short a = (short) 22222222222 ;

(자료형) 내용 ;

 

이렇게 캐스팅을 할 수 있습니다.

 

이제 소수형의 자료형을 선언해 봅시다.

 

float a = 1.1F;

double b = 1.1;

 

일반적으로 소수를 표현하면 double 자료형으로 표현이 됩니다.

그런데 float은 double보다 크기가 작습니다.

위에서도 short가 자신보다 큰 숫자를 가질 수 없었습니다.

즉 , float 또한 double형의 숫자를 가지기 위해선 캐스팅이 필요합니다.

float을 캐스팅 하는방법은 숫자 뒤에 F를 붙이는 것입니다.

 

1.1F ;

 

이렇게 F를 통해 float형으로 캐스팅 됩니다.

 

이제 문자형을 봅시다.

 

char은 2byte 크기로 하나의 문자열을 담을수 있습니다.

 

char a = 'b' ;

 

이렇게 a라는 변수에 b를 담을 수 있습니다.

 

그럼 여러개의 문자열을 담으려면 어떻게 해야 될까요?

자바에서 Non-Primitive Type 으로 String 이라는 자료형을 제공합니다.

String a = "하하하하하" ;

이렇게 a 에 하하하하하 라는 문자열을 담을 수 있었습니다.

 

그리고 아스키코드라고 문자를 컴퓨터에 표현하기위해 만든 코드가 있습니다.

아스키 코드는 숫자로 되어있는데요.

아래의 스크립트를 보시죠.

 

char a= 'a' ;

int b= (int) a ;

이 스크립트를 보면 a라는 변수에 a를 저장하고 int 형 변수 b 에 a라는 변수를 int 로 캐스팅해서 저장하고 있습니다.

문자를 숫자로 변환시키면 아스키코드 값이 나옵니다.

이 스크립트를 실행하면 b에는 97이라는 값이 저장될 것입니다.

 

이제 논리형을 봅시다.

 

boolean은 두가지의 값을 가질수 있습니다 . true 와 false.

boolean은 조건문에서 쓰이며 어떤조건을 달성했다면 boolean 형 변수를 true로 바꿔 조건문을 탈출 시킬수도 있습니다.

 

boolean a = true ;

이런 형식으로 boolean 자료형을 선언할 수 있습니다.

 

 

반응형

댓글