Car para maiúscula / minúscula em Java
-
Converter um caractere em maiúsculas / minúsculas usando o método
toUpperCase()
/toLowerCase()
- Converter um caractere em maiúsculas / minúsculas usando operações binárias e hexadecimal
-
Converter um caractere em maiúsculas e minúsculas usando
capitalize()
/lowerCase
decom.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
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