Zeichen in Großbuchstaben/Kleinbuchstaben in Java

Rupam Yadav 12 Oktober 2023
  1. Konvertieren eines Zeichens in Großbuchstaben/Kleinschreibung mit der Methode toUpperCase()/toLowerCase()
  2. Konvertieren eines Zeichens in Groß-/Kleinschreibung mit Binäroperationen und Hexadezimal
  3. Konvertieren eines Zeichens in Großbuchstaben und in Kleinbuchstaben mit capitalize()/lowerCase von com.apache.commons
Zeichen in Großbuchstaben/Kleinbuchstaben in Java

In diesem Tutorial werden die Methoden zum Konvertieren eines Zeichens in Groß- und Kleinbuchstaben vorgestellt. Es gibt vier Methoden, die wir uns im Folgenden anhand von Beispielen ansehen werden.

Konvertieren eines Zeichens in Großbuchstaben/Kleinschreibung mit der Methode toUpperCase()/toLowerCase()

Character ist eine Wrapper-Klasse für char und bietet mehrere Methoden zur Manipulation des Zeichens wie toUpperCase() und toLowerCase(). Diese Methoden können zwar nicht mit allen Unicode-Zeichen umgehen, aber mit den gängigen Alphabeten.

Wir haben zwei char-Variablen, char1 hat ein Kleinbuchstaben-Zeichen, während char2 ein Großbuchstaben-Zeichen hat. Um char1 in ein Großbuchstabenzeichen zu konvertieren, rufen wir die statische Methode toUpperCase() der Klasse Character auf und übergeben char1 als Argument. Das Gleiche gilt für die Umwandlung von char2 in einen Kleinbuchstaben; wir rufen die Methode toLowerCase() auf.

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);
  }
}

Ausgabe:

A
b

Konvertieren eines Zeichens in Groß-/Kleinschreibung mit Binäroperationen und Hexadezimal

Da jedes Zeichen einen ASCII-Wert und eine binäre Darstellung hat, können wir binäre Operationen durchführen. Wir verwenden das Hexadezimalzeichen 0x5f, dessen Binärdarstellung 1011111 ist, und 0x20, das 0100000 im Binärformat darstellt.

Wenn char1 das Zeichen a hat und dessen Binärwert 01100001 ist, hängen wir an das Zeichen &, das die binäre UND-Verknüpfung darstellt, und 0x5f an. Wie wir wissen, hat 0x5f den Binärwert 1011111 und wenn wir die UND-Verknüpfung zwischen 01100001 UND 1011111 durchführen, erhalten wir den Wert 01000001, der die binäre Darstellung des Großbuchstabens A ist.

char2 enthält das Großbuchstabenzeichen B, und sein Binärcode ist 01000010. Wir hängen das Symbol | an, das der binären ODER-Verknüpfung entspricht, und 0x20 hat den binären Wert von 0100000. Jetzt wird 01000010 ODER 0100000 ausgeführt, und das Ergebnis ist 01100010, was dem Kleinbuchstaben b entspricht.

Beachten Sie, dass die Binärwerte ohne Casting in die entsprechenden Zeichen umgewandelt werden, da wir den Typ char zur Speicherung der Zeichen verwenden.

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);
  }
}

Ausgabe:

A
b

Konvertieren eines Zeichens in Großbuchstaben und in Kleinbuchstaben mit capitalize()/lowerCase von com.apache.commons

In diesem Beispiel verwenden wir die Klasse StringUtils aus der Apache Commons Library. Zuerst binden wir die Bibliothek in unser Projekt ein, indem wir die folgende Maven-Abhängigkeit verwenden.

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

StringUtils bietet, wie der Name schon sagt, Utility-Methoden zur Manipulation von Strings. Wir haben zwei Strings mit jeweils einem einzelnen Zeichen darin. string1 hat ein kleingeschriebenes a. Wir verwenden StringUtils.capitalize() und übergeben string1 als Argument, um sie in Großbuchstaben umzuwandeln. string2 hat einen Großbuchstaben B. Wir können StringUtils.lowerCase() verwenden und string2 als Argument übergeben, um ihn in Kleinbuchstaben zu konvertieren.

Wir erhalten das Ergebnis im String-Typ, aber unser Ziel ist es, den Wert im Datentyp char zu erhalten, also verwenden wir charAt(0), um das einzelne und einzige Zeichen in beiden Strings als char zu erhalten.

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);
  }
}

Ausgabe:

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

Verwandter Artikel - Java Char