{자바-기초} 문법 노트 (4) 원시 타입

이번 시간에는 Java에서 사용되는 원시 타입에 대해 살펴보도록 하겠다. Java는 아래와 같은 총 8개의 원시 타입을 제공한다.

원시 타입 (primitive type)
부울과 문자
boolean - true 혹은 false를 값으로 가짐
char - 유니코드 한 글자를 저장 (16bit)

숫자
정수
byte - 8bit 크기  -128~127
short - 16bit 크기 -32768~32767
int - 32bit 크기 -232 ~ (232 - 1)
long - 64bit 크기

부동소수점 (실수)
float - 32bit
double - 64bit

변수는 앞서 설명한 것처럼 값을 담아두기 위한 그릇이다. 그 그릇에 담는 값을 Java에서는 리터럴 혹은 상수라고 한다. 여기서는 Java Tutorial의 표기에 따라 리터럴(literal)이라고 부르겠다. 각 타입에 따른 리터럴 표현 방법과 변수의 선언 방법은 다음과 같다.

package exam.fundamental;

public class Variables {
public static void main(String[] args) {
boolean b; // 논리(boolean) 타입의 변수 선언
char c; // 문자 타입의 변수 선언
byte bt; // Byte 타입의 변수 선언
short sd; // Short 타입의 변수 선언
int i; // 정수 타입의 변수 선언
long ld; // Long 타입의 변수 선언
float f; // 실수 타입의 변수 선언
double d; // Double 타입의 변수 선언

b = true; // 논리 타입의 리터럴 할당

c = 'A'; // 문자 타입의 리터럴 할당
c = 65; // 정수형 타입의 리터럴 할당. 아스키 코드값으로 저장되어 문자로 표현
c = '\u0041'; // Unicode escape 표현식 16진수로 표시
System.out.println("c : " + c);

bt = 127; // byte 타입의 리터럴 할당
sd = -32768; // short 타입의 리터럴 할당
i = 2147483647; // int 타입의 리터럴 할당
i = 0xFF; // 16진수 리터럴 할당 '0x'로 시작
i = 0376; // 8진수 리터럴 할당 '0'으로 시작
ld = -9223372036854775808L; // long 타입의 리터럴 할당. 'L', 'l'을 붙임.
f = 3.1415F; // float 타입의 리터럴 할당. 'F', 'f'를 붙임.
d = 3.1415; // double 타입의 리터럴 할당. 디폴트 타입.
}
}



디폴트 값
클래스의 필드로 선언된 변수의 경우 인스턴스가 될 때 자동으로 초기값이 부여된다.

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

public class DefaultValues {
boolean b; // 논리(boolean) 타입의 변수 선언
char c; // 문자 타입의 변수 선언
byte bt; // Byte 타입의 변수 선언
short sd; // Short 타입의 변수 선언
int i; // 정수 타입의 변수 선언
long ld; // Long 타입의 변수 선언
float f; // 실수 타입의 변수 선언
double d; // Double 타입의 변수 선언

public static void main(String[] args) {
DefaultValues dv = new DefaultValues();
System.out.println("boolean : " + dv.b);
System.out.println("char : " + dv.c);
System.out.println("byte : " + dv.bt);
System.out.println("short : " + dv.sd);
System.out.println("int : " + dv.i);
System.out.println("long : " + dv.ld);
System.out.println("float : " + dv.f);
System.out.println("double : " + dv.d);
System.out.println("String : " + new String());
}
}


변수에 값을 넣을 경우 자동확장(promotion)이 되어 작은 유형의 값을 큰 유형의 변수에 넣을 수 있다.

크리에이티브 커먼즈 라이센스
Creative Commons License

Posted by 정샘

2008/08/18 16:50 2008/08/18 16:50
Response
No Trackback , No Comment
RSS :
http://jeongsam.net/rss/response/15

Trackback URL : http://jeongsam.net/trackback/15

Leave a comment
« Previous : 1 : 2 : 3 : 4 : 5 : 6 : 7 : ... 12 : Next »