리터럴(literal)
2022. 6. 30. 23:19ㆍJava
리터럴이란?
> 그 자체로 값을 의미하는 것
int a = 3;
char b = 'A';
string abc = "ABC";
위의 코드에서 3, 'A', "ABC"는 리터럴이다 .
리터럴의 접두사와 접미사
종류 | 리터럴 | 접미사 |
논리형 | false, true | X |
정수형 | 123, 0b0101, 077, 0xFF, 100L | L |
실수형 | 3.14 3.0e8, 1.4f, 0x1.0p-1 | f,d |
문자형 | 'A', '1', '\n' | X |
문자열 | "ABC", "123", "A", "true" | X |
> 정수형에서 long type의 경우 리터럴 뒤에 L을 붙인다.
> 실수형에서 타입이 float일때는 f, double일때는 d를 붙인다. 보통 d는 생략이 가능하다.
> 접미사는 대소문자의 구별이 없다!
long I = 10_000_000_000L; // L이 없다면 에러 발생
// _는 큰 숫자를 표현할때 넣음.
// 보통 세자리마다 넣지만 원하는 대로 넣어도 됨
long I = 100; ///OK
리터럴의 진수 표현
int i = 3; //10진수
int oct = 04 // 앞에 0이 붙는다면 8진수
int hex = 0x100; // 리터럴 앞에 0x가 붙는다면 16진수
int bin = 0b0101; // 리터럴 앞에 0b가 붙는다면 2진수
> 접두사 또한 대소문자 구분이 없다!
e의 정체
종종 자바를 보면 1e3과 같은 숫자가 보인다.
e3는 10의 3제곱을 의미한다.
e가 포함된 숫자의 자료형은 double이다.
e표현 | 실제값 | e표현 | 실제값 | e표현 | 실제값 |
0e3 | 0.0 | 3e0 | 3.0 | 3e-1 | 0.3 |
1e3 | 1000.0 | 3e1 | 30.0 | 3e-2 | 0.03 |
2e3 | 2000.0 | 3e2 | 300.0 | 3e-3 | 0.003 |
3e3 | 3000.0 | 3e3 | 3000.0 | 3e-4 | 0.0003 |
4e3 | 4000.0 | 3e4 | 30000.0 | 3e-5 | 0.00003 |