Kursinhalt
Java-Grundlagen
Java-Grundlagen
Mathematische Operationen mit Char
Warum sind mathematische Operationen mit dem char-Typ möglich?
Der char
-Datentyp ist recht interessant. Er speichert Zeichen, aber Sie können auch Operationen mit diesem Datentyp durchführen.
Was ist das Ergebnis der Ausführung dieses Codes?
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 denken, dass das Ergebnis A(
wäre, aber wie wir sehen, ist das Ergebnis i
. Warum ist das so? char
ist kein reiner Zeichendatentyp; er entnimmt 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 vermuten, entspricht das Zeichen i
der 105, da 65 + 40 = 105.
Es ist wichtig, dies zu wissen, da es uns ermöglicht, mit dem char
-Datentyp ausgezeichnet und flexibel zu arbeiten.
Hier ist ein Link zur ASCII-Tabelle.
Typumwandlung
Im obigen Code ist Ihnen vielleicht diese ungewöhnliche Syntax aufgefallen:
python
Aber warum ist (char)
erforderlich? Die Additions-operation liefert ein Ergebnis vom Typ int
, da die numerischen Codes der Zeichen addiert werden. Um dieses Ergebnis in einer Variablen vom Typ char
zu speichern, ist eine explizite Umwandlung notwendig. Genau das bewirkt der (char)
-Ausdruck—er wandelt den numerischen Wert zurück in ein Zeichen.
In unserem Beispiel ergibt die Addition die Zahl 105. Der (char)
-Ausdruck wandelt diese Zahl in das Zeichen um, das dem Code 105 in der ASCII-Tabelle entspricht, was in diesem Fall das Zeichen i
ist.
Danke für Ihr Feedback!