| 타입 | 키워드 | 크기(bit) | 범위 |
|---|---|---|---|
| 논리형 | boolean | 8 | true/false |
| 문자형 | char | 16 | \u0000 ~ \uFFFF |
| 정수형 | byte | 8 | -128 ~ 127 |
| 정수형 | short | 16 | -32768 ~ 32767 |
| 정수형 | int | 32 | -2147483648 ~ 2147483647 |
| 정수형 | long | 64 | -9223372036854775808 ~ 9223372036854775807 |
| 실수형 | float | 32 | 1.4E-45 ~ 3.4028235E38 |
| 실수형 | double | 64 | 4.9E-324 ~ 1.7976931348623157E308 |
원시 타입 은 우리가 흔히 아는 기본 타입으로 논리, 문자, 정수, 실수 리터럴의 실제 값을 저장하는 타입 이다.
boolean
char
정수형 공통
long
long l1 = 10000000000L;
Integer number too large 라는 경고 문구가 뜬다. (IntelliJ)float
float fl1 = 3.14f;
double
참조 타입 은 원시 타입 이외의 클래스, 인터페이스, 배열, 문자열 등의 타입들이다.Car myCar = new Car();
myCar 라는 메모리 공간이 스택 영역에 생성되고, 스택에 있는 myCar 라는 참조 변수는 힙 영역에 생성된 해당 객체의 주소 값을 갖고 있다.ArrayList<Integer> al1 = new ArrayList<>();
/*
// Type argument cannot be of primitive type
ArrayList<int> al1 = new ArrayList<>();
*/
null을 담을 수 없지만,null을 담을 수 있다.Integer a1 = 100;
Integer a2 = null;
int a3 = 100;
/*
// int a4 = Integer.parseInt(null);
int a4 = null;
*/