1. Java Data Type
자바에는 기본형Primitive Type과 참조형Reference Type이 있습니다.
일반적인 분류는 다음과 같이 가집니다.
자료형 | 자료의 크기 | 값의 범위 | |
부울대수 (논리형) | boolean | 1byte | true, false |
정수 | byte | 1byte | -2^7 ~ 2^7 |
short | 2byte | -2^15 ~ 2^15 | |
int | 4byte | -2^31 ~ 2^31 | |
long | 8byte | -2^63 ~ 2^63 | |
실수 (부동 소수점형) | float | 4byte | +-(1.4 * 10^-45 ~ 3.4 * 10^38) |
double | 8byte | +-(4.94 * 10^-324 ~ 1.79 * 10^308) |
|
문자(정수) | char | 2byte | 유니코드 문자 (0~2^16-1) |
1. 부울대수 자료형 - boolean
boolean 은 true(참) 과 false(거짓)의 값만 저장할 수 있는 자료형이다. 불리언은 이렇게 2가지 값만 포함할 수 있어 실제로는 1bit 로도 충분하지만, 자료처리의 최소 단위가 바이트이므로 1byte 가 할당되고 나머지 7bit는 사용하지 않는다.
boolean a = true;
boolean b = false;
2. 정수 자료형 - byte, short, int, long
정수를 저장할 수 있는 4가지 자료형이므로 크기가 각각 1byte, 2byte, 4byte, 8byte 이다.
byte a = 1;
short b = 2;
int c = 4;
long d = 8;
자바에서는 대입 연산자를 기준으로 양쪽 자료형이 일치해야하지만, 크기가 작은 자료형을 큰 자료형에 대입하면 컴파일러가 자동 타입변환 을 수행하여 long = int 의 형태를 long = long 형태로 변환 해주므로 자료형을 일치하게 만든다. 단, 큰 자료형에서 작은 자료형으로의 변환은 자동으로 일어나지 않는다.
3. 실수 자료형 - float, double
실수도 크기가 서로 다른 2가지 자료형을 제공한다. 매우 넓은 범위의 값을 저장할 수 있다.
자바는 실수 리터럴을 double 자료형으로 인식한다. 단, float를 나타내는 F(또는 f) 를 실수 리터럴 뒤에 붙이면 float 자료형으로 인식한다.
float a = 3.5F; //float형
double b = 3.5;
double c = 5; //double형
float d = 3.5; //double형
4. 문자 자료형 -char
char 은 문자를 저장하는 자료형으로, 문자를 작은 따옴표(")안에 표기한다. char 자료형은 정수를 저장할 수도 있지만, 앞에서 배운 4가지 정수 자료형과 차이가 있다. char a = 'A'와 같이 작성한다면 변수 a의 공간이 만들어지고, 그 안에 문자가 들어가야 한다. 하지만 메모리에는 문자를 기록할 수 없다. 메모리에는 2진수 값만 저장할 수 있는 공간이기 때문이다.
비법은 이 유니코를 이용해 저장한다. char 자료형 메모리안은 문자가 아니라 정수가 저장된 형태이므로 char 에 문자에 해당하는 정숫값을 입력해도 똑같은 결과를 얻을 수 있다.
char a = 'A'; // 문자
char b = 65; // 10진수
char c = 0b1000001; // 2진수
char d = 00101; // 8진수
char e = 0x0041; // 16진수
char f = '\u0041'; // 유니코드
참고문헌 Do it 자바 완전정복
'java' 카테고리의 다른 글
[JAVA] 야구게임 맞추기 (0) | 2022.07.30 |
---|---|
[JAVA] 배열의 생성과 자료형 (0) | 2022.07.09 |
[JAVA] 제어문 (1) | 2022.07.09 |
[JAVA] 연산자의 종류 (0) | 2022.07.09 |
[JAVA] 기본 자료형간의 타입변환, 연산 (0) | 2022.07.09 |