반응형
Java를 배우다 보면 문자 리터럴('a')과 문자열 리터럴("a")의 차이점을 궁금해할 수 있습니다. 이번 글에서는 'a'의 의미와 특징, 활용 방법에 대해 알아보겠습니다.
1. 'a'의 정의
Java에서 'a'는 문자 리터럴을 의미하며, 하나의 문자만을 표현하는 char 타입으로 처리됩니다. 문자 리터럴은 항상 작은따옴표(')로 감싸야 합니다.
2. 'a'의 주요 특징
- 유니코드 값
- 모든 문자는 유니코드 값을 가지고 있으며, 'a'의 유니코드 값은 97입니다.
- 예를 들어:
- 'a': 97
- 'b': 98
- 'z': 122
- char 타입
- 'a'는 char 타입입니다. 이는 단 하나의 문자를 표현합니다.
- 문자열과는 다릅니다. 문자열은 String 타입이며, "a"는 하나의 문자로 구성된 문자열입니다.
- 숫자처럼 연산 가능
- char 타입은 숫자로 취급될 수 있어 산술 연산이 가능합니다.
char c = 'a';
System.out.println(c + 1); // 출력: 98 ('a'의 유니코드 값 97 + 1)
System.out.println((char) (c + 1)); // 출력: 'b' (다음 문자)
- 배열 및 조건문에서 활용
- 'a'를 활용해 배열의 인덱스를 계산하거나 조건문에서 알파벳 범위를 확인할 수 있습니다.
char c = 'b';
int index = c - 'a'; // 'b' - 'a' = 98 - 97 = 1
System.out.println(index); // 출력: 1
3. 'a'와 "a"의 차이
타입 | char | String |
표현 가능 문자 수 | 1개 | 여러 문자 |
크기 | 2바이트 | 문자 개수에 따라 가변적 |
사용 예시 | char c = 'a'; | String s = "a"; |
4. 예제 코드
public class Main {
public static void main(String[] args) {
// 'a'는 char 타입
char charA = 'a';
// "a"는 String 타입
String stringA = "a";
// char의 유니코드 값 출력
System.out.println((int) charA); // 출력: 97
// 문자열은 숫자처럼 사용 불가
// System.out.println((int) stringA); // 컴파일 에러
// char 연산 예제
char nextChar = (char) (charA + 1); // 'a' 다음 문자
System.out.println(nextChar); // 출력: b
}
}
5. 활용 사례
알파벳 개수 세기 문제에서 'a'와 char 타입의 특성을 활용할 수 있습니다.
예를 들어,
문제: 단어가 주어졌을 때 각 알파벳이 몇 번 등장했는지 세는 프로그램을 작성하세요.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String word = scanner.nextLine();
int[] alphabetCount = new int[26]; // a~z 카운트용 배열
for (int i = 0; i < word.length(); i++) {
char c = word.charAt(i);
alphabetCount[c - 'a']++; // 알파벳 인덱스 계산
}
for (int count : alphabetCount) {
System.out.print(count + " "); // 공백으로 결과 출력
}
}
}
입력 :
baekjoon
출력 :
1 1 0 0 1 0 0 0 0 1 1 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0
반응형
'Java' 카테고리의 다른 글
Java | HashSet이란? HashSet을 사용하기 좋은 상황(CT) (1) | 2024.12.09 |
---|---|
Java | 내장 메서드를 활용한 진법 변환 정리 (0) | 2024.12.09 |
JAVA | JVM(Java Virtual Machine)이란? JVM의 작동원리 (2) | 2024.08.21 |
Java | 정적 팩토리 메서드(Static Factory Method) (0) | 2024.03.04 |
Java | Document Class / Element Class / Jsoup 크롤링 예제 코드 (0) | 2024.02.29 |