Carattere maiuscolo / minuscolo in Java

Rupam Yadav 12 ottobre 2023
  1. Converti un carattere in maiuscolo / minuscolo usando il metodo toUpperCase() / toLowerCase()
  2. Converti un carattere in maiuscolo / minuscolo utilizzando operazioni binarie ed esadecimali
  3. Converti un carattere in maiuscolo e in minuscolo usando capitalize() / lowerCase da com.apache.commons
Carattere maiuscolo / minuscolo in Java

Questo tutorial introduce metodi per convertire un carattere in un carattere minuscolo / maiuscolo. Abbiamo quattro metodi che vedremo con gli esempi di seguito.

Converti un carattere in maiuscolo / minuscolo usando il metodo toUpperCase() / toLowerCase()

Character è una classe wrapper per char e fornisce diversi metodi per manipolare il carattere come toUpperCase() e toLowerCase(). Sebbene questi metodi non possano gestire tutti i caratteri Unicode, possono gestire gli alfabeti comuni.

Abbiamo due variabili char, char1 ha un carattere minuscolo mentre char2 ha un carattere maiuscolo. Per convertire char1 in un carattere maiuscolo, chiamiamo il metodo statico toUpperCase() dalla classe Character e passiamo char1 come argomento. Lo stesso vale per convertire char2 in minuscolo; chiamiamo il metodo 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);
  }
}

Produzione:

A
b

Converti un carattere in maiuscolo / minuscolo utilizzando operazioni binarie ed esadecimali

Poiché ogni carattere ha un valore ASCII e una rappresentazione binaria, possiamo eseguire operazioni binarie. Usiamo l’esadecimale 0x5f la cui rappresentazione binaria è 1011111 e 0x20 che rappresenta 0100000 in binario.

char1 ha il carattere a e il suo valore binario è 01100001, aggiungiamo & il simbolo che rappresenta l’operazione binaria AND e 0x5f al carattere. Come sappiamo che 0x5f ha il valore binario di 1011111 e quando eseguiamo l’operazione AND che è tra 01100001 AND 1011111 otteniamo il valore 01000001 che è la rappresentazione binaria della A maiuscola.

char2 contiene il carattere maiuscolo B e il suo codice binario è 01000010. Aggiungiamo il simbolo | uguale all’operazione binaria OR e 0x20 con il valore binario di 0100000. Ora verrà eseguito 01000010 OR 0100000, e il risultato sarà 01100010 che è lo stesso del carattere minuscolo B.

Notare che poiché usiamo il tipo char per contenere i caratteri, i valori binari vengono convertiti nei loro caratteri rappresentativi senza alcun 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);
  }
}

Produzione:

A
b

Converti un carattere in maiuscolo e in minuscolo usando capitalize() / lowerCase da com.apache.commons

In questo esempio, usiamo la classe StringUtils presente in Apache Commons Library. Innanzitutto, includiamo la libreria nel nostro progetto utilizzando la seguente dipendenza Maven.

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

StringUtils come indica il nome, fornisce metodi di utilità per manipolare le stringhe. Abbiamo due stringhe con un singolo carattere in ciascuna. string1 ha una a minuscola. usiamo StringUtils.capitalize() e passiamo string1 come argomento per convertirlo in maiuscolo. string2 ha una B maiuscola. Possiamo usare StringUtils.lowerCase() e passare string2 come argomento per convertirlo in minuscolo.

Otteniamo il risultato nel tipo di stringa, ma il nostro obiettivo è ottenere il valore nel tipo di dati char, quindi usiamo charAt(0) per ottenere il singolo e unico carattere in entrambe le stringhe come 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);
  }
}

Produzione:

A
b
Autore: 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

Articolo correlato - Java Char