2014년 9월 1일 월요일

Java 변수(3)

2.1 기본형(primitive type)

기본형에는 모두  8개의 타입(자료형)이 있으며, 크게 논리형, 문자형, 정수형, 실수형으로 구별이 됩니다.
논리형 - true,false 중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용을 합니다.
문자형 - 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있습니다.
정수형 - 정수 값을 저장하는데 사용합니다. 주로 사용되는 것은 int와 long형이 있으며
             byte는 이진데이터를 다루는데 주로 사용이 되며,
             short은 C언어와의 호환을 위하여 사용합니다.
실수형 - 실수 값을 저장하는데 사용합니다. float와 double이 있습니다.


기본형 데이터 타입의 크기와 종류

논리형 boolean - 1byte
  
문자형 char - 2byte 

정수형 byte - 1byte,    short - 2byte
           int - 4byte       long - 8byte

실수형 float - 4byte,   double - 8byte

논리형 boolean을 제외한 나머지 7개의 타입은 서로 변환이 가능하기 때문에 연산이 가능하며 문자형 char은 문자를 내부적으로 정수값 코드로 저장하기 때문에 정수형과 관계가 있습니다.
 정수형과 실수형의 경우에는 특별히 큰 값을 다뤄어야 하는 경우가 아니면 int와 float를 사용하는 것이 좋습니다.
각 자료형이 가질 수 있는 값의 범위는 정확히 외울 필요는 없습니다. 다만 정수형(byte,short,int,long)의 경우 -2^n~2^n-1(n은 bit수)정도만 알면 됩니다.
int형의 경우 32bit(4byte, 1byte는 8bit입니다.)이므로 -2^31~2^31-1의 범위를 갖게 됩니다. 2^10=1024=10^3이므로 2^31=2^10*2^10*2^10*2=1024*1024*1024*2=2*10^9
따라서,int형은 대량 10자리 수(약 20억)의 수를 저장할 수 있습니다. 만일 숫자가 10에 가까운 자리수(8~9)를 계산 하는 경우는 넉넉하게 long형(약 19자리수)를 사용하는 것이 좋습니다. 만일 연산중 저장범위를 넘어가게 되면 원하지 않는 이상한 값을 결과로 얻게될 것 입니다.
정수형에서는 int를 실수형에서는 float를 주로 사용하므로, 이 둘의 범위를 기억하고 범위를 넘으면 그때 long이나 double를 쓰면 된다.

boolean은 true와  flase 두 가지 값만 표현하기 때문에 가장 작은 단위인 2byte
char은 자바에서 유니코드(2byte 문자체계)를 사용하므로 2byte
byte는 크기가 1byte이므로 byte
int(4byte)를 기준으로 짧아서 short(2byte), 길어서 long(8byte)
float는 실수값을 부동소수점(floating-point)방식으로 저장하기 때문에 float
double은 float보다 두 배의 크기(8byte)와 두 배의 정밀도(double-precision)이기 때문에 double

다음에는 각 데이터형에 관해서 공부하겠습니다.

댓글 없음:

댓글 쓰기