쌓고 쌓다

[JAVA] 리터럴 본문

프로그래밍/java

[JAVA] 리터럴

승민아 2022. 3. 15. 22:37

리터럴(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; // 정상
Comments