자바의 정석 내용.
논리형 : true와 false 중 하나를 값으로 갖으며, 조건식과 놀리적 계산에 사용된다.
문자형 : 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.
정수형 : 정수 값을 저장하는 데 사용된다.주로 사용되는 것은 int와 long이며, byte는 이진데이터를 다루는데
주로 사용되며, short는 c언어와의 호환을 위해서 추가하였다.
실수형 : 실수 값을 저장하는데 사용된다. float와 double밖에 없다.
형식/크기 |
1 byte |
2 byte |
4 byte |
8 byte |
논리형 |
boolean |
|
|
|
문자형 |
|
char |
|
|
정수형 |
byte |
short |
int |
long |
실수형 |
|
|
float |
double |
자료형 |
저장 가능한 값의 범위 |
bit |
byte |
boolean |
false,true |
8 |
1 |
char |
\u0000 ~ \uffff(0 ~ 65535) |
16 |
2 |
byte |
-128 ~ 127 |
8 |
1 |
short |
-32,768 ~ 32767 |
16 |
2 |
int |
-2147483648 ~ 2147483647 |
32 |
4 |
long |
-9223372036854775808 ~ 9223372036854775807 |
64 |
8 |
float |
1.4E-45 ~ 3.4028235e38 |
32 |
4 |
double |
4.9e-324 ~ 1.7976931348623157E308 |
64 |
8 |
참고
boolean은 true와 false 두 가지 값만 표현할 수 있으면 되므로 가장 작은 크기인 1byte.
char은 자바에서 유니코드(2byte 문자체계)를 사용하므로 2byte.
byte는 크기가 1byte 라서 byte.
int(4 byte)를 기준으로 짧아서 short(2 byte), 길어서 long(8 byte).
float는 실수값을 부동소스점(float-point)방식으로 저장하기 때문에 float.
double은 float보다 두배의 크기(8 byte)와 두 배의 정밀도(double-precision)를 갖기 때문에 double.
인스턴스 변수에는 항상 어떤 기본값이 들어간다.
인스턴스 변수에 직접 어떤값을 대입하거나 세터 메소드를 호출하지 않는 경우에도 그 인스턴스 변수에는
기본값이 들어있다.
정수 = 0 (byte,short,int,long)
부동소스점 수 = 0.0 (float, double)
부울 = false (boolean)
레퍼런스 = null (String, 레퍼런스(참조형))
헤드퍼스트자바 예 -
인스턴스 변수와 지역변수의 차이점.
인스턴스 변수는 클래스 내에서 선언됩니다. 메소드 내에서 선언되는 것이 아닙니다.
지역변수는 메소드 내에서 선언됩니다. 지역 변수는 사용하기 전에 반드시 초기화해야 합니다.
(지역 변수에는 기본값이 없습니다. 따라서 지역 변수를 초기화하기 전에 사용하려고 하면 컴파일 과정에서 오류남.)