[Java] 2.1.2 문자형

2.1.2 문자형

Java 언어에서 문자형은 char 예약어를 사용하며 값을 표현할 때 ‘a’ 처럼 단일 콤마 사이에 표현할 문자를 나타낼 수 있습니다.

C언어가 만들어질 때 미국 표준 문자인 ASCII Code로 문자를 표현하여서 한글이나 중국어 등과 같이 다른 문자 체계를 사용하는 표현이 힘들었는데 Java 언어에서는 다국어를 지원하기 위해 유니코드 방식을 채택하였습니다.

내부적으로 살펴보면 사용하는 문화권에 따라 0~65535 사이의 수에 특정 문자를 매핑하여 값을 기억하는 것인데 개발자 편의를 높이기 위해 단일 콤마 사이에 문자를 나타내어 표현할 수 있게 하였습니다. ‘a’처럼 특정 표현을 사용했을 때 약속한 고정 값으로 나타내는 것을 리터럴 상수라 말합니다.

개행 문자나 백 스페이스 등의 특수 문자를 표현하기 위해 약속한 리터럴도 있습니다.

리터럴설명
‘\n’개행(줄 바꿈)
\t
\b백 스페이스
\\\
\’
\”

[표 2.2] 리터럴

참고로 숫자 문자 ‘0’에서 ‘9’는 48(16진수 0x30)~57로 약속하였고 대문자는 65(0x41)부터 시작하고 소문자는 97(0x61)부터 시작합니다.

즉 Java 코드에서 ‘1’과 49, 0x31은 같은 값입니다.

private static void exChar() {
    System.out.println("char 형식");
    char c = 0;

    c = 49;
    System.out.println("1. c의 값:"+c);
    c = 0x31;
    System.out.println("2. c의 값:"+c);
    c = '1';

    System.out.println("3. c의 값:"+c);
    c = 65;
    System.out.println("4. c의 값:"+c);
    c = 0x41;
    System.out.println("5. c의 값:"+c);
    c = 'A';
    System.out.println("6. c의 값:"+c);
}
char 형식
1. c의 값:1
2. c의 값:1
3. c의 값:1
4. c의 값:A
5. c의 값:A
6. c의 값:A