Conversión de caracteres en mayúsculas y minúsculas en Java
-
Convertir un carácter a mayúsculas/minúsculas usando el método
toUpperCase()
/toLowerCase()
- Convertir un carácter a mayúsculas/minúsculas usando operaciones binarias y hexadecimales
-
Convertir un carácter en mayúsculas y en minúsculas usando
capitalize()
/lowerCase
Decom.apache.commons
Este tutorial presenta los métodos para convertir un carácter a minúscula/mayúscula. Tenemos cuatro métodos que veremos con ejemplos a continuación.
Convertir un carácter a mayúsculas/minúsculas usando el método toUpperCase()
/toLowerCase()
Character es una clase que envuelve achar y proporciona varios métodos para manipular el carácter como toUpperCase()
y toLowerCase()
. Aunque estos métodos no pueden manejar todos los caracteres Unicode, pueden manejar los alfabetos comunes.
Tenemos dos variables char
, char1
tiene un carácter en minúscula mientras que char2
tiene un carácter en mayúscula. Para convertir char1
en un carácter en mayúscula, llamamos al método estático toUpperCase()
de la clase Character
y pasamos char1
como argumento. Lo mismo ocurre para convertir char2
en minúsculas; llamamos al 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);
}
}
Producción :
A
b
Convertir un carácter a mayúsculas/minúsculas usando operaciones binarias y hexadecimales
Como cada carácter tiene un valor ASCII y una representación binaria, podemos realizar operaciones binarias. Utilizamos el hexadecimal 0x5f
cuya representación binaria es 1011111 y 0x20
que representa 0100000 en binario.
En el caso de que char1
tenga el carácter a
y su valor binario sea 01100001, añadimos &
el símbolo que representa la operación binaria AND y 0x5f
al carácter. Como sabemos que 0x5f
tiene el valor binario de 1011111 y cuando realizamos la operación AND que está entre 01100001 Y 1011111 obtenemos el valor 01000001 que es la representación binaria de la letra mayúscula A
.
El carácter char2
contiene el carácter mayúsculo B
, y su código binario es 01000010. Añadimos el símbolo |
igual a la operación binaria OR y 0x20
que tiene el valor binario de 0100000. Ahora se realizará 01000010 OR 0100000, y el resultado será 01100010 que es el mismo que el carácter minúsculo b
.
Fíjate que como usamos el tipo char
para mantener los caracteres, los valores binarios se convierten en sus caracteres representativos sin ningún tipo de casting.
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);
}
}
Producción :
A
b
Convertir un carácter en mayúsculas y en minúsculas usando capitalize()
/lowerCase
De com.apache.commons
En este ejemplo, utilizamos la clase StringUtils
presente en la biblioteca Apache Commons. En primer lugar, incluimos la biblioteca en nuestro proyecto utilizando la siguiente dependencia de maven.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
StringUtils
como su nombre indica, proporciona métodos de utilidad para manipular cadenas. Tenemos dos cadenas con un solo carácter en cada una. Usamos StringUtils.capitalize()
y pasamos string1
como argumento para convertirla en mayúscula. string2
tiene una B
en mayúsculas. Podemos utilizar StringUtils.lowerCase()
y pasar string2
como argumento para convertirla a minúsculas.
Obtenemos el resultado en el tipo de cadena, pero nuestro objetivo es obtener el valor en el tipo de datos char
, por lo que utilizamos charAt(0)
para obtener el único carácter en ambas cadenas como 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);
}
}
Producción :
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