logo

Crowdly

Casting mit anderen Datentypen Casting kann bei einfachen Datentypen nur zwi...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

Casting mit anderen Datentypen

Casting kann bei einfachen Datentypen

nur zwischen den numerischen

Datentypen

erfolgen. Ein type cast von String in einen einfachen

Datentyp ist nicht möglich, genauso wenig wie ein type cast von boolean

in einen anderen Datentyp. Weder String noch boolean sind

Zahlendatentypen.

Sehr oft wird ein Casting verwendet, um Fließkommazahlen in ganze Zahlen

umzuwandeln. Man kann sie auch verwenden, um Zeichen in Zahlen oder

umgekehrt umzuwandeln. Dies bietet z.B. die Möglichkeit den Unicode-Wert

einer Zahl herauszufinden.

Beispiel:

char zeichen = 'A';        // Buchstabe in char-Variable gespeichert

int zahlencode; // Variable für den numerischen Unicode-Wert

zahlencode = (

int)zeichen; // Umwandeln des Zeichens in den Unicode-Wert

 

Wiederholung: auch char

gehört zu den numerischen Datentypen, da die

Zeichen alle numerisch mit Hilfe der Unicode-Codierung (deren erster

Teil die ASCII-Codierung ist) gespeichert werden.

Implizite Typumwandlung:

Ein type cast kann zwischen numerischen Datentypen immer angewandt

werden, wenn man einen Wert in einen anderen Datentyp umwandeln möchte.

Er ist aber nicht immer notwendig. Manche Umwandlungen kann Java auch

automatisch durchführen. Dies wird als

implizite Typumwandlung

bezeichnet, z.B. kann ein

int-Wert immer implizit in einen double

-Wert

übergeführt werden:

int wert = 16

;

double dezimal = wert; // Implizite Umwandlung von int in double

 

Auch das obige Beispiel von der Umwandlung char in int

bräuchte keinen

type cast. Ein

char kann immer implizit in int

umgewandelt werden.

Generell kann ein kleinerer Datentyp meist in den größeren Datentyp

implizit umgewandelt werden. Die umgekehrte Richtung, also von einem

int-Wert in einen char-Wert ist aber ohne type cast nicht möglich.

Die folgende Tabelle gibt einen Überblick darüber, welcher Datentyp in

welchen anderen Datentyp implizit umgewandelt werden kann:

Vom TypIn den Typ
byteshort, int, long, float, double
shortint, long, float, double
charint, long, float, double
intlong, float, double
longfloat, double
floatdouble

 

Ergänze folgende Zusammenfassung und beantworte die Fragen:

  • Mit einem type cast können

    umgewandelt werden.

  • Als einziger einfacher Datentyp ist ein type cast mit nicht möglich.

  • Gegeben ist die Variable int zahl = 65;. Schreibe die Anweisung, um den Wert in dieser Variable mit Hilfe eines type casts in ein Zeichen umzuwandeln. Speichere dann dieses Zeichen in der Variable namens buchstabe. Die Variable muss auch noch deklariert werden.

  • Wenn ein Wert automatisch in einen anderen Wert umgewandelt werden kann, spricht man von Typumwandlung.

Entscheide, ob die folgenden Umwandlungen implizit möglich sind, oder nicht:

  • Ein Wert vom Typ double
    implizit in den Datentyp float umgewandelt werden.
  • Ein Wert vom Typ int
    implizit in den Datentyp double umgewandelt werden.
  • Ein Wert vom Typ char
    implizit in den Datentyp int umgewandelt werden.
  • Ein Wert vom Typ int
    implizit in den Datentyp char umgewandelt werden.

Bitte beantworten Sie alle Teile der Frage.
More questions like this

Want instant access to all verified answers on elearning.tgm.ac.at?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!