이 값들을 살펴보면 소문자와 대문자 사이에는 ‘a’ - ‘A’만큼 차이가 있음을 알 수 있습니다. 이를 이용하면 다음과 같이 변환할 수 있습니다.
char lower = 'e';
char upper = (char) (lower + ('a' - 'A'));
char끼리 연산하면 정수형으로 취급되어 int형으로 형 변환이 일어납니다. 따라서 다시 문자로 취급하기 위해서는 char형으로 강제 형 변환을 시켜 주어야 합니다.
내장 라이브러리를 이용하면 다음과 같이 작성할 수 있습니다.
char lower = 'e';
char upper = Character.toUpperCase(lower);
반대로 대문자를 소문자로 변환하는 코드도 다음과 같이 작성할 수 있습니다.
char upper = 'G';
char lower = (char) (upper - ('a' - 'A'));
내장 라이브러리를 이용하면 다음과 같습니다.
char upper = 'G';
char lower = Character.toLowerCase(upper);