정의
- 변수에 직접 할당되는 고정된 값을 의미함
- 예를 들어,
숫자 5,
문자열 "Hello",
논리 값 true
은 모두 리터럴
- 코드 작성 시 자주 사용되며, 각 데이터 타입마다 서로 다른 리터럴 표현이 존재
- 장점으로, 리터럴을 적절히 사용하면 코드가 더 직관적이고 간결해질 수 있음
종류와 사용법
1. 정수형 리터럴 (Integer Literals)
- 타입: int, long
- 기본적으로 정수는 int 타입으로 간주
- long 타입의 정수는 값 뒤에 L 또는 l을 붙여야함
- 2진수, 8진수, 16진수 표현도 가능
int a = 10; // 정수형 리터럴 (int)
long b = 100L; // 정수형 리터럴 (long)
int binary = 0b1010; // 2진수 (10)
int octal = 012; // 8진수 (10)
int hex = 0xA; // 16진수 (10)
2. 실수형 리터럴 (Floating-point Literals)
- 타입: float, double
- 기본적으로 실수는 double 타입
- float 타입을 사용하려면 값 뒤에 F 또는 f를 붙여야 함
double pi = 3.14; // 실수형 리터럴 (double)
float g = 9.8f; // 실수형 리터럴 (float)
3. 문자 리터럴 (Character Literals)
- 타입: char
- 작은 따옴표(' ')로 하나의 문자를 감쌈
char letter = 'A';
char newline = '\n'; // 이스케이프 시퀀스 (줄바꿈)
4. 문자열 리터럴 (String Literals)
- 타입: String
- 큰 따옴표(" ")로 문자열을 감쌈
String greeting = "Hello, World!";
5. 논리 리터럴 (Boolean Literals)
- 타입: boolean
- 값은 true 또는 false만 가질 수 있음
boolean isActive = true;
boolean isComplete = false;
6. null 리터럴 (Null Literal)
- 참조 변수가 어떤 객체도 가리키지 않음을 의미
String str = null; // str은 어떤 객체도 참조하지 않음
특징과 주의사항
1. 리터럴과 데이터 타입 간의 관계
- 리터럴은 컴파일 시점에 데이터 타입에 맞게 자동으로 해석됨
- 예를 들어, 10은 int로, 3.14는 double로 해석
2. 주의사항
- 이스케이프 문자를 사용할 때 주의해야 함.
예를 들어, '\n'은 줄바꿈을 의미하며, '\' 같은 특수 문자는 직접 사용이 불가함
- 큰 수의 정수 리터럴은 long으로 처리해야 함
long bigNumber = 10000000000L; // L을 붙여 long 타입 명시
사용 예시
public class LiteralExample {
public static void main(String[] args) {
int age = 25; // 정수 리터럴
double pi = 3.14159; // 실수 리터럴
char grade = 'A'; // 문자 리터럴
String name = "Alice"; // 문자열 리터럴
boolean isActive = true; // 논리 리터럴
System.out.println("Age: " + age);
System.out.println("Pi: " + pi);
System.out.println("Grade: " + grade);
System.out.println("Name: " + name);
System.out.println("Is Active: " + isActive);
}
}
비고
1. 타입이랑 다른 거였구나! 이스케이프 문자에 대한 개념도 알아둬야 할듯
레퍼런스
1. 멘토링 강의, 구글링, 코드 예시의 경우 ChatGPT