정의

- 변수에 직접 할당되는 고정된 값을 의미함
- 예를 들어,
        숫자 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

 

'개발지식 조각 > Java' 카테고리의 다른 글

[Java] IllegalArgumentException  (0) 2024.10.23
오버라이딩(Overriding)  (0) 2024.10.23
상수(Constant)  (0) 2024.10.23
제어자(Modifier)  (0) 2024.10.22
Google Java Style Guide & 우테코 자바 스타일 가이드  (0) 2024.10.17

+ Recent posts