Primitive Data type
Byte
- 1byte(=8bit)단위의 동영상, 음악파일, 실행파일의 자료를 처리할 때 사용
short
- 2byte단위의 자료형으로 C/C++과 호환을 할때 사용한다.
int
- Java에서 사용하는 정수의 기본형이다
- 4byte 자료형
- Int a = 10에서 10과 같이 프로그래에서 사용하는 모든 숫자는 리터럴이라고 하며 해당 숫자들은 메모리 어딘가에 저장이 되어있고 그 수를 불러와서 복사하는 식으로 운영된다.
(리터럴은 항상 기본적으로 4byte로 구성된다.)
Long
- 8byte의 자료형
- 32bit를 초과하는 숫자들은 long자료형으로 처리한다.
- long type의 수를 할당하기 위해서는 뒤에 L또는 l을 붙여줘야한다.
int num = 12345678900;
long lnum = 12345678900;
long lnumber = 12345678900L;
Double, Float
- Float: 4byte
- Double: 8byte
- 실수의 리터럴의 경우는 Double형태로 저장이 되어 있다. 그래서 double 변수에 저장을 할때는 바로 지정을 하면 되지만 Float타입의 변수에 저장을 할 때는 위의 Long type처럼 F, f를 붙여줘야한다.
float fnum = 3.14
float fnum = 3.14f
- 또한 부동 소수점의 경우는 지수쪽이 0을 표현할 수 없기에 약간의 오차가 발생한다
Char
- 2byte의 자료형으로 문자를 위한 데이터 타입이다.
char ch = 'A';
- 'A'와 "A"의 차이점:
'A'는 2byte로 하나의 문자로 인식, 반면에 "A"는 문자열로 인식한다.
- 문자는 UNICODE 표준을 따라 컴퓨터 내부적으로는 숫자로 표현되므로 숫자를 char타입의 변수에 넣어줘도 문자가 출력될 수 있다. (양수만 가능)
char ch = 65
System.out.println(ch)
Boolean
- 1Byte 크기의 자료형이다.
- True/False 두가지 값만 가질 수 있다.
- 값이 존재유무, 결과가 참 거짓인지 표현할 때 사용한다.
지역 변수를 자료형 없이 사용하기 (var)
- 자바 10버전 이후 지원
- Local variable type inference
- 값을 보고 data type이 무엇인지 추론 가능한 변수들은 자료형을 선언하지 않을 수도 있다.
- 한번 선언한 변수에는 같은 타입의 값만 대입 가능하고 다른 타입의 값은 대입할 수 없다.
- 지역 변수만 사용 가능하다.
var i = 10;
var j = 10.0;
var str = "hello";
Reference
- [Fast Campas] 한번에 끝내는 Java/Spring 웹 개발 마스터 초격차 패키지 Online.