Char 자료형에 저장되는 단일 문자는 내부적으로 정수형 아스키 코드 값으로 표현된다. 이 특징으로 문자열 조작, Direct Address Table에서 활용하여 프로그래밍에 활용할 수 있다.
ASCII (American Standard Code for Information Interchange)
컴퓨터와 통신 장비에서 문자를 표현하는 데 사용되는 7비트 인코딩 표준이다.
- 128개의 문자를 표현할 수 있다.
- 각 문자의 순서에 따라서 0부터 127까지 고유 숫자 값이 할당되어 있다.
- 영문 알파벳, 숫자, 특수 문자, 제어 문자가 포함되어 있다.
대문자 | 소문자 | 숫자 | |||
Char | ASCII | Char | ASCII | Char | ASCII |
A | 65 | a | 97 | 0 | 48 |
B | 66 | b | 98 | 1 | 49 |
C | 67 | c | 99 | 2 | 50 |
D | 68 | d | 100 | 3 | 51 |
E | 69 | e | 101 | 4 | 52 |
F | 70 | f | 102 | 5 | 53 |
G | 71 | g | 103 | 6 | 54 |
H | 72 | h | 104 | 7 | 55 |
I | 73 | i | 105 | 8 | 56 |
J | 74 | j | 106 | 9 | 57 |
... | ... | ... | ... | ... | ... |
Char
프로그래밍 언어에서 단일 문자를 표현하는 데 사용되는 기본 데이터 타입
- 작은따옴표
'
를 이용해 변수에 단일 문자를 저장한다. - 저장될 때는 내부적으로 ASCII에 맵핑 된 정수 값으로 저장된다.
Char 자료형을 연산에 활용하는 예시 코드
- 예시 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
char c1 = 'A';
System.out.println("1. 기본 문자와 아스키 코드 값 출력");
System.out.println("- 문자: " + c1);
System.out.println("- 아스키 코드: " + (int)c1);
System.out.println("---");
int ascii = 66;
char c2 = (char)ascii;
System.out.println("2. 아스키 코드를 이용한 문자 값 출력");
System.out.println("아스키 코드: " + ascii);
System.out.println("문자: " + c2);
System.out.println("---");
char c3 = 'a';
System.out.println("3. 문자 연산");
System.out.println("소문자: " + c3);
System.out.println("대문자: " + (char)(c3 - 32));
System.out.println("---");
char c4 = '5';
int num = c4 - '0';
System.out.println("4. 숫자 문자의 정수 변환");
System.out.println("문자: " + c4);
System.out.println("'5'-'0' 의 정수 값: " + num);
}
}
- 출력 결과
1. 기본 문자와 아스키 코드 값 출력
- 문자: A
- 아스키 코드: 65
---
2. 아스키 코드를 이용한 문자 값 출력
아스키 코드: 66
문자: B
---
3. 문자 연산
소문자: a
대문자: A
---
4. 숫자 문자의 정수 변환
문자: 5
'5'-'0' 의 정수 값: 5
'CS Fundamentals > Data Structures & Algorithms' 카테고리의 다른 글
[Data Structures] HashMap (0) | 2025.02.19 |
---|---|
[Data Structures] 자료 구조의 종류와 선택 기준 (0) | 2025.02.19 |
[Data Structures] Variable & Custom Variable (Custom Data Type) (0) | 2025.02.19 |
[Data Structures] 방향 배열 (Direction Array) (0) | 2025.02.13 |
[Data Structures] Direct Address Table (0) | 2025.02.13 |