리터럴
- 프로그램에 직접 표현된 값으로 그 값 자체를 의미한다.
- 변수나 상수와 달리 데이터가 저장된 메모리 주소를 의미하지 않는다.
상수란 변수와 달리 실행중에 바꿀 수 없는 값을 말한다.
//final을 이용해서 상수 선언
flnal double PI = 3.141592;
//상수는 실행 중에 변경불가, 아래와 같이 실행하면 컴파일 에러 발생
PI = 3.14;
정수 리터럴
- 2진수 : 0B 또는 0b로 시작하고 0와 1로 작성한다.
int a = 0b1001 //10진수 - 9
int b = 0b10100 //10진수 - 20
10진수로 변환하는 방법은 b로 예를 들면 2의4승 x1 + 2의2승x1 = 20이다.
- 8진수 : 0으로 시작하고 0~7 숫자로 작성한다.
int a = 012 // 10진수 - 8의1승x1 + 8의0승x2 = 10
-10진수 : 0~9 숫자로 작성한다.
int a = 12;
-16진수 : 0x 또는 0X로 시작하고 0~9 숫자난 A~F, a~f로 작성한다.
int a = 0xB3; //10진수 - 16의1승x11 + 16의0승x3 = 179
10진수로 변환할 때, A=10, B=11, C=12, D=13, E=14, F=15로 생각하고 계산한다.
long 타입 : 정수 뒤에 l이나 L을 작성한다.
정수 리터럴은 보통 int형으로 인식하기 때문에 int형을 초과하는 경우 L을 붙여 long타입으로 인식하게 해야 한다.
long a = 20L;
long b = 10000000000000; // 컴파일에러 -> 10000000000000L로 작성해야함
문자 리터럴
char 타입 : 작은 따옴표로 감싸서 작성한다.
유니코드가 정수이기 때문에 정수 타입에 속한다. 즉, 유니코드 숫자를 대입해서 문자를 저장할 수도 있다.
int ch1 = 'A';
int ch2 = 65; //출력시 A가 출력된다. A의 유니코드 65
int ch3 = '가';
int ch3 = 44032; //출력시 가 출력된다. 가의 유니코드 44032
//문자 대입없이 초기화를 원할 경우
int c = ''; //컴파일에러
int c = ' '; //공백을 대입해 초기화해야한다. 공백의 유니코드 32
*특수문자 리터럴
종류 | 의미 |
'\b' | 백스페이스(backspace) |
'\t' | 탭(tab) |
'\n' | 라인피드(line feed) |
'\f' | 폼피드(form feed) |
'\r' | 캐리지 리턴(carriage return) |
'\"' | 이중 인용부호(double quote) |
'\'' | 단일 인용부호(single quote) |
'\\' | 백슬래시(backslash) |
실수 리터럴
float 타입 : 실수 뒤에 f나 F를 작성한다.
double타입 : 실수 뒤에 d나 D를 작성한다.
//10진수
double a = 0.25;
double b = -0.25;
double a = 6e2; // 6.0 x 10의2승 = 600.0
double b = 0.15E-2 //0.15 x 10의-2승 = 0.0015
//컴파일러는 보통 실수를 double형으로 인식하기 때문에 f를 써서 float형으로 인식하게 해야 한다.
float c = 3.14f;
논리 리터럴
boolean 타입
boolean a = true;
boolean b = false;
boolean c = 10>5; //true와 같음
'JAVA' 카테고리의 다른 글
[JAVA(자바)] String.valueOf()와 toString() 차이 (0) | 2022.12.21 |
---|---|
[JAVA(자바)] 자동타입변환, 강제타입변환, 문자열타입변환 (2) | 2022.12.21 |
[JAVA(자바)] 변수와 자료형 (0) | 2022.12.19 |
[JAVA(자바)] 반올림해서 소수점 원하는 자리까지 출력하기 (0) | 2022.12.01 |
[JAVA(자바)] EOF(End Of File) (0) | 2022.11.30 |
댓글