Character/char

1. 문자/숫자 판별

  • 문자가 숫자인지 판별 (Character.isDigit()):

char c = '5';
if (Character.isDigit(c)) {
    System.out.println(c + " is a digit.");
}
  • 문자가 알파벳인지 판별 (Character.isLetter()):

char c = 'a';
if (Character.isLetter(c)) {
    System.out.println(c + " is a letter.");
}
  • 문자가 대문자인지 소문자인지 판별 (Character.isUpperCase(), Character.isLowerCase()):

char c = 'A';
if (Character.isUpperCase(c)) {
    System.out.println(c + " is uppercase.");
}

if (Character.isLowerCase('b')) {
    System.out.println('b' + " is lowercase.");
}

2. 문자 변환

  • 대문자 <-> 소문자 변환 (Character.toUpperCase(), Character.toLowerCase()):

char c = 'a';
char upper = Character.toUpperCase(c);  // 'A'
char lower = Character.toLowerCase('B');  // 'b'

3. 아스키 값 활용

  • 문자에서 아스키 값으로 변환:

char c = 'A';
int ascii = (int) c;  // 65
System.out.println("ASCII value of A: " + ascii);
  • 아스키 값에서 문자로 변환:

int ascii = 97;
char c = (char) ascii;  // 'a'
System.out.println("Character for ASCII 97: " + c);

4. 문자 비교

  • 문자 비교 (equals 대신 == 사용):

char c1 = 'a';
char c2 = 'a';

if (c1 == c2) {
    System.out.println("Both characters are the same.");
}

5. 숫자를 문자로 변환

  • 숫자를 문자로 변환 (Character.forDigit()):

int num = 5;
char c = Character.forDigit(num, 10);  // '5'

6. 문자 배열 처리

  • 문자 배열을 문자열로 변환:

char[] charArray = {'H', 'e', 'l', 'l', 'o'};
String str = new String(charArray);  // "Hello"
  • 문자열을 문자 배열로 변환:

String str = "Hello";
char[] charArray = str.toCharArray();  // ['H', 'e', 'l', 'l', 'o']

7. 문자 비교 및 계산

  • 문자끼리 사전순 비교 (알파벳 순서 비교):

char c1 = 'a';
char c2 = 'b';
if (c1 < c2) {
    System.out.println(c1 + " is before " + c2);  // "a is before b"
}
  • 연속된 문자의 계산:

char nextChar = (char) ('a' + 1);  // 'b'
System.out.println(nextChar);  // b

8. 문자를 숫자로 변환

  • 숫자 문자(char)에서 실제 숫자로 변환:

char c = '5';
int num = c - '0';  // 5

9. 공백, 특수 문자 판별

  • 문자가 공백인지 확인 (Character.isWhitespace()):

char c = ' ';
if (Character.isWhitespace(c)) {
    System.out.println("It is a whitespace character.");
}
  • 문자가 특수 문자인지 확인:

char c = '#';
if (!Character.isLetterOrDigit(c)) {
    System.out.println(c + " is a special character.");
}

10. Character 객체와 char 변환

  • Character 객체에서 기본 타입 char로 변환:

Character obj = 'A';
char primitive = obj.charValue();  // 'A'
  • char에서 Character 객체로 변환:

char primitive = 'A';
Character obj = Character.valueOf(primitive);  // Character 객체 'A'

11. 문자열과 char 처리 관련

  • 문자열에서 특정 인덱스의 문자 추출 (charAt()):

String str = "Hello";
char c = str.charAt(1);  // 'e'
  • 문자열에서 각 문자를 순회:

String str = "abc";
for (char c : str.toCharArray()) {
    System.out.println(c);
}

12. char 타입 사용 시 주의할 점

  • == 연산자를 사용: char 타입은 기본형이므로, ==로 비교해야 합니다. equals()는 사용하지 않습니다.

Last updated