쌓고 쌓다
[JAVA] 리터럴 본문
리터럴(literal)
- 프로그램에 직접 표현한 값을 말한다.
- 정수, 실수, 문자, 논리, 문자열 타입 모두 리터럴이 있다.
정수 리터럴의 종류
유형 | 설명 | 사례 |
10진수 | 0으로 시작하지 않는 수 | 15 -> 15 (10진수) |
8진수 | 0으로 시작하는 수 | 015 -> 13 (=1*8+5) |
16진수 | 0x로 시작하는 수 | 0x15 -> 21(=1x16+5) |
2진수 | 0b로 시작하는 수 | 0b0101 -> 5 (10진수) |
int n = 15; // 십진수 15
int n = 015; // 015는 8진수로서 십진수 13
int n = 0x15; // 0x15는 16진수로서 십진수 21
int n = 0b0101; // 0b0101은 2진수로서 십진수 5
- 정수 리터럴은 int 타입으로 자동으로 컴파일된다.
- long 타입으로 저장하려면 숫자 뒤에 L 또는 l을 붙인다.
long n = 15L;
실수 리터럴
- 소수점 형태나 지수 형태로 표현한 값 ex) 12. 12.0 .1234 0.1234 1234E-4
- 실수 리터럴은 double 타입으로 자동 처리된다.
- 숫자 뒤에 f(float) d(double)을 붙여 강제 변환할 수 있다.
double n = 1234E-4; // 1234x10에 -4승 이므로 0.1234와 동일하다.
float f = 0.1234f; // f = 0.1234로 하면 컴파일 에러 ( 0.1234로하면 기본 double이라 float에 담기 무리)
double w = .1234D
문자 리터럴
- 단일 인용부호 ('') 로 문자를 표현한다.
- \u 다음에 문자의 유니코드 값을 사용하여 표현한다.
ex) 'w', 'A', '가', '*', '3', '글', \u0041
char a = 'A';
char b = '글';
char c = \u0041; // 문자 'A'의 유니코드값 (0041) 사용
char d = \uae00; // 문자 '글'의 유니코드 값(ae00) 사용
특수문자 리터럴
- \(백슬래시) 다음에 특수기호를 붙여서 표현
- 특수문자를 이스케이프 시퀀스라고도 부른다.
'\b' : 백스페이스, '\t' : 탭 등등....
논리 타입 리터럴
- true, false 두개만 존재한다.
- boolean 타입 변수에 치환하거나 조건문에 사용
boolean a = true;
boolean b = 10>0; // 참이므로 true
boolean c = 1; // 에러가 뜬다 C/C++과 달리 숫자를 참, 거짓으로 사용 불가
null 리터럴
int n = null; // 에러 기본타입에 null 불가
String str = null; // 정상
'프로그래밍 > java' 카테고리의 다른 글
[Java] 명품 자바 프로그래밍 2장 Open Challenge 풀이 (0) | 2022.04.07 |
---|---|
[Java] 명품 자바 프로그래밍 2장 실습 문제 풀이 (0) | 2022.04.07 |
[JAVA] 인터페이스(interface) (0) | 2021.12.28 |
[JAVA] 추상 클래스 (0) | 2021.12.27 |
[JAVA] 메소드 오버라이딩 / super 키워드 (0) | 2021.12.26 |
Comments