Java에서 대문자 / 소문자로의 문자
-
toUpperCase()
/toLowerCase()
메서드를 사용하여 문자를 대문자/소문자로 변환 - 이진 연산과 16 진수를 사용하여 문자를 대문자/ 소문자로 변환
-
com.apache.commons
에서capitalize()
/lowerCase
를 사용하여 문자를 대문자와 소문자로 변환
이 튜토리얼에서는 문자를 소문자/대문자로 변환하는 방법을 소개합니다. 아래 예제와 함께 볼 수있는 네 가지 방법이 있습니다.
toUpperCase()
/toLowerCase()
메서드를 사용하여 문자를 대문자/소문자로 변환
Character
는char
의 래퍼 클래스이며toUpperCase()
및toLowerCase()
와 같은 문자를 조작하는 여러 메서드를 제공합니다. 이러한 메서드는 모든 유니 코드 문자를 처리 할 수는 없지만 일반적인 알파벳을 처리 할 수 있습니다.
두 개의char
변수가 있는데char1
에는 소문자가 있고char2
에는 대문자가 있습니다. char1
을 대문자로 변환하려면Character
클래스에서toUpperCase()
정적 메서드를 호출하고char1
을 인수로 전달합니다. char2
를 소문자로 변환하는 것도 마찬가지입니다. toLowerCase()
메소드를 호출합니다.
public class CharUpperLowerCase {
public static void main(String[] args) {
char char1, char2;
char1 = 'a';
char2 = 'B';
char char1UpperCase = Character.toUpperCase(char1);
char char2LowerCase = Character.toLowerCase(char2);
System.out.println(char1UpperCase);
System.out.println(char2LowerCase);
}
}
출력:
A
b
이진 연산과 16 진수를 사용하여 문자를 대문자/ 소문자로 변환
모든 문자에는 ASCII 값과 이진 표현이 있으므로 이진 연산을 수행 할 수 있습니다. 바이너리 표현이 1011111 인 16 진수 0x5f
와 바이너리로 0100000을 나타내는 0x20
을 사용합니다.
char1
은 a
문자를 가지며 이진수 값은 01100001입니다. 이진수 AND 연산을 나타내는 기호 ‘&‘와 문자에 0x5f
를 추가합니다. 0x5f
는 1011111의 이진 값을 가지며 01100001과 1011111 사이의 AND 연산을 수행하면 대문자 A
의 이진 표현 인 값 01000001을 얻습니다.
char2
는 대문자 B
를 포함하고 바이너리 코드는 01000010입니다. OR 바이너리 연산과 같은 ‘|‘기호와 0100000의 바이너리 값을 갖는 0x20
을 추가합니다. 이제 01000010 OR 0100000이 수행됩니다. 결과는 소문자 b
와 동일한 01100010이됩니다.
문자를 보유하기 위해char
유형을 사용하면 이진 값이 캐스팅없이 해당 대표 문자로 변환됩니다.
public class CharUpperLowerCase {
public static void main(String[] args) {
char char1, char2;
char1 = 'a' & 0x5f;
char2 = 'B' | 0x20;
System.out.println(char1);
System.out.println(char2);
}
}
출력:
A
b
com.apache.commons
에서capitalize()
/lowerCase
를 사용하여 문자를 대문자와 소문자로 변환
이 예에서는 Apache Commons Library에있는StringUtils
클래스를 사용합니다. 먼저 다음 maven 종속성을 사용하여 프로젝트에 라이브러리를 포함합니다.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
이름에서 알 수 있듯이StringUtils
는 문자열을 조작하는 유틸리티 메소드를 제공합니다. 각각에 단일 문자가있는 두 개의 문자열이 있습니다. string1
에는 소문자a
가 있습니다. StringUtils.capitalize()
를 사용하고string1
을 인수로 전달하여 대문자로 변환합니다. string2
에는 대문자B
가 있습니다. StringUtils.lowerCase()
를 사용하고string2
를 인수로 전달하여 소문자로 변환 할 수 있습니다.
결과를 문자열 유형으로 가져 오지만 목표는 char
데이터 유형의 값을 가져 오는 것이므로 charAt(0)
을 사용하여 두 문자열에서 단일 문자를 char
로 가져옵니다.
import org.apache.commons.lang3.StringUtils;
public class CharUpperLowerCase {
public static void main(String[] args) {
char char1, char2;
String string1 = "a";
String string2 = "B";
String string1UpperCase = StringUtils.capitalize(string1);
String string2LowerCase = StringUtils.lowerCase(string2);
char1 = string1UpperCase.charAt(0);
char2 = string2LowerCase.charAt(0);
System.out.println(char1);
System.out.println(char2);
}
}
출력:
A
b
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn