literal: 소스 코드 내에서 직접 입력된 값
constant: 값을 한 번 저장하면 변경할 수 없는 변수
정수 리터럴
- 0, 10, -100: 10진수
- 02, -04: 0으로 시작되는 리터럴은 8진수
- 0x3, 0xB, 0xBC01: 0x로 시작되는 리터럴은 16진수
실수 리터럴
- 0.1, -3.12: 10진수 실수
- 3e3 = 3 * 10^3
- 0.4E-4 = 0.4 * 10^(-4)
primitive type
- 정수 타입: byte(8), char(16), short(16), int(32), long(64)
- 실수 타입: float(32), double(64)
- 논리 타입: boolean(8)
정수 타입 값 범위: -2^(n-1) ~ 2^(n-1)-1
char 타입
- 유니코드 0~65535 범위의 2byte 크기를 가진 정수 값(2^16개)
- 0~127은 ASCII문자, 44032~55203은 한글 11172자 할당
- 'A' = 65 = '\u0041'
실수 타입
부동 소수점 방식: +- m * 10^n
- 부호, 가수(m), 지수(n)
- float: 부호(1) + 지수(8) + 가수(23)
- double: 부호(1) + 지수(11) + 가수(52)
타입 변환
자동 타입 변환(Promotion): 작은 크기 타입이 큰 크기 타입에 저장될 때 발생
- 큰 크기 타입 = 작은 크기 타입
강제 타입 변환(Casting): 강제적으로 큰 데이터 타입을 작은 데이터 타입으로 쪼개어서 저장
- 작은 크기 타입 = (작은 크기 타입) 큰 크기 타입
연산식에서의 자동 타입 변환: 서로 다른 타입의 피연산자(operand)가 있을 경우 두 피연산자 중 크기가 큰 타입으로 자동 변환된 후 연산을 수행한다.
정수 기본(리터럴, 연산): int
실수 기본(리터럴, 연산): double
'Java > Java' 카테고리의 다른 글
[이것이자바다]7. 상속 (0) | 2020.04.20 |
---|---|
[이것이자바다]6. 클래스 (0) | 2020.04.19 |
[이것이 자바다]5. 참조 타입 (0) | 2020.04.19 |
[이것이 자바다]3. 연산자 (0) | 2020.04.18 |
[이것이 자바다]1. 자바 시작 (0) | 2020.04.18 |