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.java
1234567891011package 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:
char result = (char) (firstLetter + secondLetter);
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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Fragen Sie mich Fragen zu diesem Thema
Zusammenfassen Sie dieses Kapitel
Zeige reale Beispiele
Awesome!
Completion rate improved to 2.7
Mathematische Operationen auf Char
Swipe um das Menü anzuzeigen
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.java
1234567891011package 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:
char result = (char) (firstLetter + secondLetter);
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!