자바의 기본형은 8가지가 있다.
논리, 문자, 정수, 실수형으로 나눌 수 있으며 각각의 종류와 크기는 아래 표와 같다.
종류\크기 |
1 byte | 2 byte | 4 byte | 8 byte |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
※ boolean을 제외한 나머지 기본형을 서로 변환이 가능하다.
1. 논리형 boolean
boolean은 true, false 둘 중 하나의 값만을 가질 수 있다.
기본값은 false이다.
주로 0/1이나 on/off 같이 논리 구현에 쓰인다.
변수 선언 방법은 아래와 같다.
boolean switch = true;
자바에서 true와 TRUE는 서로 다른 값이다.(대소문자를 구분한다.)
2. 문자형 char
자바에서는 유니코드 체계를 사용하기 때문에 2 byte의 크기를 가진다.
문자 'A'는 유니코드로 '/u0041'의 값을 가진다.
char형 변수에 'A'값을 저장하는 방법은 아래와 같다.
char alpa1 = 'A';
char alpa2 = '\u0041';
3. 정수형 byte, short, int, long
정수형은 4개의 기본자료형이 있으며 기본형은 int이다.
각각은 자료형의 크기에 따라 표현할수 있는 숫자의 범위가 다른데 byte가 가장 작은 범위의 숫자를, long이 가장 넓은 범위의 숫자를 표현한다.
프로그래밍을 할 때 작은 숫자를 사용하는 상황이라고 해서 int대신 byte를 사용하는 경우(메모리를 아끼려는 의도로)는 오히려 비효율적인 상황이 나타날 수 있다.
JVM에서는 피연산자를 4byte 단위로 저장하기 때문에 byte, short타입을 계산할 때는 int형으로 변환하는 작업을 거친다.
때문에 int형을 사용하는 것이 더 효율적일 수 있다.
long타임의 변수를 선언 후 값을 저장할 때는 접미사'L'을 붙여 주어야 한다.
byte b = 1;
short s = 10;
int i = 100;
long l = 1000L;
10진수 외에 8, 16진수를 저장하고 싶다면 각각 접두사 '0'와 '0x'를 붙여준다.
int oct = 010; // 8진수 표현
int hex = 0x10; // 16진수 표현
4. 실수형 float, double
실수형은 float와 double 2개의 기본형이 있으며 기본값은 double이다.
float는 접미사 'f'를 double에는 'd'를 사용한다. 하지만 double은 기본형이기 때문에 접미사를 생략할 수 있다.
float f = 3.14f; // 접미사 f
double d1 = 3.14d; // 접미사 d
double d2 = 3.14 // 접미사 생략 가능
'Java & 스프링 > Java' 카테고리의 다른 글
[Java] 클래스 변수와 인스턴스 변수의 비교 (0) | 2019.04.19 |
---|---|
[Java] 인스턴스 변수와 클래스 변수 (0) | 2019.04.19 |
Java의 특징과 JVM, JDK, JRE (0) | 2019.04.18 |
Java 환경변수 설정 하기 (0) | 2019.04.17 |
자바 (JDK) 다운로드 및 설치 하기 (0) | 2019.04.17 |
댓글