.class 파일이 생성된다. 컴파일러는 JDK에 있다..class 파일을 JVM에 올려서 수행시킨다.1) Primitive
| type | 크기 | 범위 | 
|---|---|---|
| boolean | 1 bit | true, false | 
| char | 2 byte | 문자 | 
| float | 4 byte | 1.4E-45 ~ 3.4028235E38 | 
| double | 8 byte | 4.9E-324 ~ 1.7976931348623157E308 | 
| byte | 1 byte | -128 ~ 127 | 
| short | 2 byte | -32,768 ~ 32,767 | 
| int | 4 byte | -2,147,483,648 ~ 2,147,483,647 | 
| long | 8 byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 
2) Reference
Arrays, Strings, Classes, Interfaces, Enums, Objects, Annotations
2) Primitive vs. Reference
| 특징 | 기본 데이터 유형 | 참조 데이터 유형 | 
|---|---|---|
| 저장 방식 | 값이 직접 저장됨 | 주소(참조)가 값이 저장된 위치를 가리킴 | 
| 값의 초기화 | 자동으로 기본값으로 초기화 | 명시적 초기화 필요 또는 null로 초기화 | 
| 메모리 사용 | 상대적으로 적음 | 유연하게 동적으로 할당되며 상대적으로 많음 | 
| 비교 방식 | 값에 대한 비교 | 주소(참조)에 대한 비교 | 
| NULL 값 | NULL을 할당할 수 없음 | NULL을 할당할 수 있음 | 
| 산술연산자 | 설명 | 
|---|---|
| + | 더하기 | 
| - | 빼기 | 
| * | 곱하기 | 
| / | 나눈 후 결과 | 
| % | 나눈 후 나머지 |