Kursinhalt
Java-Grundlagen
Java-Grundlagen
Mathematische Operationen auf Char
Warum sind mathematische Operationen auf dem char-Typ möglich?
Der char
-Datentyp ist ziemlich interessant. Er speichert Zeichen, aber Sie können auch Operationen auf diesem Datentyp durchführen.
Was wird das Ergebnis der Ausführung dieses Codes sein?
Main
package com.example; public class Main { public static void main(String[] args) { char firstLetter = 'A'; char secondLetter = '('; // We use type casting here to convert value from `int` to `char` char result = (char) (firstLetter + secondLetter); System.out.println(result); } }
Man könnte gedacht haben, dass das Ergebnis A(
wäre, aber wie wir sehen können, ist das Ergebnis i
. Warum ist das so? char
ist nicht rein ein Zeichendatentyp; es nimmt Zeichen aus der ASCII-Tabelle. Das Zeichen A
entspricht der Zahl 65 in der Tabelle, während das Zeichen (
der Zahl 40 entspricht. Wie Sie vielleicht vermutet haben, entspricht das Zeichen i
der Zahl 105, da 65 + 40 = 105.
Es ist wichtig, dies zu wissen, da es uns ermöglicht, mit dem char
-Datentyp hervorragend und flexibel zu arbeiten.
Hier ist ein Link zur ASCII-Tabelle.
Casting
Im obigen Code haben Sie möglicherweise diese ungewöhnliche Syntax bemerkt:
Aber warum ist (char)
erforderlich? Die Addition Operation gibt ein Ergebnis vom Typ int
zurück, da sie die numerischen Codes der Zeichen summiert. Um dieses Ergebnis in einer Variablen vom Typ char
zu speichern, ist eine explizite Konvertierung notwendig. Genau das macht der (char)
-Konstrukt—er konvertiert den numerischen Wert zurück in ein Zeichen.
In unserem Beispiel ist das Ergebnis der Addition die Zahl 105. Der (char)
-Konstrukt konvertiert diese Zahl in das Zeichen, das dem Code 105 in der ASCII-Tabelle entspricht, was zufällig das Zeichen i
ist.
Danke für Ihr Feedback!