Carattere maiuscolo / minuscolo in Java
-
Converti un carattere in maiuscolo / minuscolo usando il metodo
toUpperCase()
/toLowerCase()
- Converti un carattere in maiuscolo / minuscolo utilizzando operazioni binarie ed esadecimali
-
Converti un carattere in maiuscolo e in minuscolo usando
capitalize()
/lowerCase
dacom.apache.commons
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
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