Java에서 대문자 / 소문자로의 문자

Rupam Yadav 2023년10월12일
  1. toUpperCase()/toLowerCase()메서드를 사용하여 문자를 대문자/소문자로 변환
  2. 이진 연산과 16 진수를 사용하여 문자를 대문자/ 소문자로 변환
  3. com.apache.commons에서capitalize()/lowerCase를 사용하여 문자를 대문자와 소문자로 변환
Java에서 대문자 / 소문자로의 문자

이 튜토리얼에서는 문자를 소문자/대문자로 변환하는 방법을 소개합니다. 아래 예제와 함께 볼 수있는 네 가지 방법이 있습니다.

toUpperCase()/toLowerCase()메서드를 사용하여 문자를 대문자/소문자로 변환

Characterchar의 래퍼 클래스이며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을 사용합니다.

char1a문자를 가지며 이진수 값은 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 Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

관련 문장 - Java Char