원시 자료형(Primitive Data Types)

  • byte: 8비트 부호 있는 2의 보수형 정수. -128~127 (0까지 총 256 = 2의 8승) 표현 가능. byte 자료형은 큰 배열에서 메모리 공간 절약에 문제가 있을 때 사용하기에 매우 유용하다. 사용하는 integer 자료형 변수의 한계 값이 -128~127임이 명확할 때 int를 대신해서 사용하는 것이 좋다.

  • short: 16비트 부호 있는 2의 보수형 정수. -32,768~32767 (0까지 총 65536 = 2의 16승) 표현 가능. byte 자료형과 사용 방향은 같다.

  • int: 32비트 부호 있는 2의 보수형 정수. -2,147,483,648~2,147,483,647(0까지 총 4294967296 = 2의 32승) 표현 가능. 사용 방향은 위의 두 자료형과 같다. 일반적으로 프로그램 상에서 사용되는 정수들은 int형의 범위 내에 있는 경우가 많기 때문에 많이 사용된다. 만약 2의 32승을 넘어가는 범위의 데이터가 사용될 경우 long 자료형을 사용한다.

  • long: 64비트 부호 있는 2의 보수형 정수. -9,223,372,036,854,775,808~9,223,372,036,854,775,807(0까지 총 18,446,744,073,708 = 2의 64승) 표현 가능. int 자료형의 범위를 벗어난 경우 사용한다.

  • float: 32비트 단정도(단일 정밀도: single-precision) 부동 소수. IEEE에서 규정된 국제표준안(IEEE 754)

     bit31 (최상위비트)  부호비트 (1비트)
     bit30~bit23  지수 (8비트)
     bit22~bit0  밑 (23비트) 

    화폐(통화량)같은 정밀함이 요구되는 곳에서는 사용되지 않는다. 그 상황에서는 java.math.BigDecimal 클래스를 대신 사용할 필요가 있다. NumbersStrings 클래스 등 BigDecimal과 다른 유용한 클래스는 자바 플랫폼 상에서 제공된다.

  • double: 64비트 복정도(복수 정밀도: double-precision) 부동 소수. IEEE에서 규정된 국제 표준안. 10진수 값을 사용할 때 기본적인 선택 사항 자료형이다. float과 마찬가지로 화폐같은 정밀함이 요구되는 곳에서는 사용되지 않으며 다른 클래스를 이용한다.

  • boolean: true(참), false(거짓) 두가지의 데이터 타입만 표현 가능. 참/거짓 판별용 플래그로(옵션같은 용도의 의미) 사용. 1비트 정보만 표현하지만 그 크기는 그렇지 않다.

  • char: 16비트 단일 유니코드 문자. '\u000' (또는 0) ~ '\uffff' (또는 65,535) 표현 가능.



    field 기본 값(Default Values) - 지역 변수는 해당되지 않는다.(초기화 없으면 에러)

     Data Type  Default Value (for fields)
     byte  0
     short  0
     int  0
     long  0L
     float  0.0f
     double  0.0d
     char  '\u0000'
     String (or any object)  null
     boolean  false
 



상수(Literals)


위에서 본 원시 자료형은 계산 요청 없이 직접적으로 대입되는 것을 말한다.
정수형 자료형은(byte, short, int, long) 일반적으로 10진수 표현에 사용되며 다음과 같이 표기하면 8진수와 16진수도 표현 가능하다.

int decVal = 26;              // 10진수
int octVal = 032;             // 8진수
int hexVal = 0x1a;          // 16진수

부동소수형 자료형은(float, double) E나 e와 함께 표현이 가능하다.(과학적인 표기법)

double d1 = 123.4;
double d2 = 1.234e2;      // d1과 같다. 과학적인 표기법 사용.

문자형 자료형은(char, string) 시스템에서 유니코드가 허용되면 바로 사용이 가능하다. 그렇지 않은 경우에는 유니코드 탈출문자를 표기함으로써 사용 가능하다.

'\u0108'                       // capital C with circumflex
"S\u00ED se\u00F1or"  // Sí Señor in Spanish

자바 언어에서도 역시 몇몇의 특수 탈출 문자를 제공한다.

\t (탭 공백: tab) \n (줄 바꾸기: line feed) \f (폼 피드: form feed) \r (맨 앞으로: carriage return)
\" (큰 따옴표: double quote) \' (작은 따옴표: single quote) \\ (역슬래시: backslash)

어떤 참조형에서도 사용 가능한 특수 null 상수값은 원시 자료형 변수를 제외하고는 어떤 변수로도 대입될 수 있다. 존재 여부 등에서 사용될 수 있으므로 몇몇의 객체가 사용 가능한지 판별하는데 사용된다.

특별한 상수로 취급되는 타입명과 '.class'가 추가되는 클래스 상수(class literal) 또한 있다. 예: String.class
이것은 타입 자신을 표현하는 객체를 참조한다.

'Programming Languages > Java' 카테고리의 다른 글

변수 짚고 넘어가기~!  (0) 2010.04.28
변수(2)  (0) 2010.04.27
자바 필수 상식 (2) - Object-Oriented Programming  (0) 2010.03.21
자바 필수 상식 (1) - Some questions  (0) 2010.03.13
Hello World!  (0) 2010.03.13
Posted by 독뽀
,