Car para maiúscula / minúscula em Java

  1. Converter um caractere em maiúsculas / minúsculas usando o método toUpperCase() / toLowerCase()
  2. Converter um caractere em maiúsculas / minúsculas usando operações binárias e hexadecimal
  3. Converter um caractere em maiúsculas e minúsculas usando capitalize() / lowerCase de com.apache.commons

Este tutorial apresenta métodos para converter um caractere em um caractere minúsculo / maiúsculo. Temos quatro métodos que veremos com exemplos abaixo.

Converter um caractere em maiúsculas / minúsculas usando o método toUpperCase() / toLowerCase()

Character é uma classe wrapper para char e fornece vários métodos para manipular o caractere como toUpperCase() e toLowerCase(). Embora esses métodos não possam lidar com todos os caracteres Unicode, eles podem lidar com os alfabetos comuns.

Temos duas variáveis char, char1 tem um caractere minúsculo enquanto char2 tem um caractere maiúsculo. Para converter char1 em um caractere maiúsculo, chamamos o método estático toUpperCase() da classe Character e passamos char1 como um argumento. O mesmo acontece para converter char2 em minúsculas; chamamos o método 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);

    }
}

Resultado:

A
b

Converter um caractere em maiúsculas / minúsculas usando operações binárias e hexadecimal

Como cada caractere tem um valor ASCII e uma representação binária, podemos realizar operações binárias. Usamos o hexadecimal 0x5f cuja representação binária é 1011111 e 0x20 representa 0100000 em binário.

char1 tem o caractere a e seu valor binário é 01100001, acrescentamos & o símbolo que representa a operação AND binária e 0x5f ao caractere. Como sabemos que 0x5f tem o valor binário de 1011111 e quando realizamos a operação AND que está entre 01100001 AND 1011111 obtemos o valor 01000001 que é a representação binária de A maiúsculo.

char2 contém o caractere maiúsculo B e seu código binário é 01000010. Anexamos o símbolo | igual à operação binária OR e 0x20 tendo o valor binário de 0100000. Agora 01000010 OR 0100000 será executado, e o resultado será 01100010, igual ao caractere minúsculo b.

Observe que, à medida que usamos o tipo char para armazenar os caracteres, os valores binários são convertidos em seus caracteres representativos sem qualquer conversão.

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);
        
    }
}

Resultado:

A
b

Converter um caractere em maiúsculas e minúsculas usando capitalize() / lowerCase de com.apache.commons

Neste exemplo, usamos a classe StringUtils presente na Biblioteca Apache Commons. Primeiro, incluímos a biblioteca em nosso projeto usando a seguinte dependência maven.

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.11</version>
</dependency>

StringUtils como o nome indica, fornece métodos utilitários para manipular strings. Temos duas strings com um único caractere em cada uma. string1 tem um a minúsculo. usamos StringUtils.capitalize() e passamos string1 como o argumento para convertê-lo em maiúsculas. string2 tem um B maiúsculo. Podemos usar StringUtils.lowerCase() e passar string2 como um argumento para convertê-lo em minúsculas.

Obtemos o resultado no tipo de string, mas nosso objetivo é obter o valor no tipo de dados char, então, usamos charAt(0) para obter o único e único caractere em ambas as Strings como um 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);

    }
}

Resultado:

A
b

Artigo relacionado - Java Char

  • Como converter um Char em uma string em Java
  • Substituir Carácter em String em Java