Language/JAVA

2주차 과제 : 리터럴

리터럴

 

컴퓨터 과학 분야에서 리터럴(literal)이란 소스 코드의 고정된 값을 대표하는 용어다. 거의 모든 프로그래밍 언어는 정수, 부동소수점 , 문자열, 논리 자료형과 같은 용어를 가지고 있다. 어떤 언어는 열거 타입이나, 배열, 자료형, 객체와 같은 용어도 있다. 리터럴과 대조적으로, 고정된 값을 가질 수 있는 변수나 변경되지 않는 상수가 있다. 다음의 예제와 같이, 리터럴은 변수 초기화에 종종 사용된다.

int i = 1;
String s = "봄싹";

이런 리터럴들은 정해진 표기법대로 작성되어야 한다.

사실 리터럴은 상수(constant)와 같은 의미지만, 프로그램에서는 상수를 "값을 한 번 저장하면 변경할 수 없는 변수"로 정의하기 때문에 이와 구분하기 위해 "리터럴" 이라는 용어를 사용한다.

 

정수 리터럴

 

소수점이 없는 정수 리터럴은 10진수로 표기한다.

0, 63, -36

0으로 시작되는 리터럴은 8진수로 간주한다.

02, -04

0x or 0X로 시작하고 0 ~ 9 숫자나, A, B, C, D, E, F 또는 a, b, c, d, e, f로 구성된 리터럴은 16진수로 간주한다.

0x5, 0xA, 0xB3, 0xAC08

정수 리터럴을 저장할 수 있는 타입은 byte, char, short, int, long과 같이 5개가 있다. 이 타입들은 타입에서 알아보자.

 

실수 리터럴

 

소수점이 있는 리터럴은 10진수 실수로 간주한다.

0.264, -7.15

대문자 E 또는 소문자 e가 있는 리터럴은 10진수 지수와 가수로 간주한다.

5E7			// 5 * 10^7
0.12E-5			// 0.12 * 0.1^5

실수 리터럴을 저장할 수 있는 타입은 float, double이 있다.

 

문자 리터럴

 

작은 따옴표(')로 묶은 텍스트는 하나의 문자 리터럴로 간주한다.

 

' A ', ' 정 ', ' \t ', ' \n '

역슬래시(\)가 붙은 문자 리터럴은 이스케이프(escape) 문자라고도 하는데, 다음과 같은 용도로 사용된다.

 

이스케이프 문자 용도 유니코드
'\t' 수평 탭 0x0009
'\n' 줄 바꿈 0x000a
'\r' 리턴 0x000d
'\"' "(큰 따옴표) 0x0022
'\'' '(작은 따옴표) 0x0027
'\\' \(역 슬래시) 0x005c
'\u16진수' 16진수에 해당하는 유니코드 0x0000 ~ 0xffff

 

문자 리터럴은 저장할 수 있는 타입은 char 하나뿐이다.

 

문자열 리터럴

 

큰따옴표(")로 묶은 텍스트는 문자열 리터럴로 간주한다. 큰따옴표 안에 텍스트가 없어도 문자열 리터럴로 간주된다. 문자열 리터럴 내부에서도 이스케이프 문자를 사용할 수 있다.

 

"텍스트"
"탭 만큼 이동 \t 합니다. "
"줄 바꿈 \n 합니다. "

 

문자열 리터럴을 저장할 수 있는 타입은 String 하나뿐이다.

 

논리 리터럴

 

true와  false는 논리 리터럴로 간주한다.

true, false

논리 리터럴을 저장할 수 있는 타입은 boolean 하나 뿐이다.