Conversión de caracteres en mayúsculas y minúsculas en Java

Rupam Yadav 12 octubre 2023
  1. Convertir un carácter a mayúsculas/minúsculas usando el método toUpperCase()/toLowerCase()
  2. Convertir un carácter a mayúsculas/minúsculas usando operaciones binarias y hexadecimales
  3. Convertir un carácter en mayúsculas y en minúsculas usando capitalize()/lowerCase De com.apache.commons
Conversión de caracteres en mayúsculas y minúsculas en Java

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 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

Artículo relacionado - Java Char