zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Was wird dieses Programm ausgeben?

Antwort:

Neue Position:java.awt.Point[x=12,y=42]

Sichere Konvertierungen

Im Allgemeinen wird eine Konvertierung von einem Typ in einen anderen NICHT automatisch durchgeführt, wenn die Möglichkeit eines Datenverlustes besteht. Eine Konvertierung von einem Datentyp, der N Bits verwendet, in einen Datentyp, der weniger Bits verwendet, läuft Gefahr Daten zu verlieren und wird nicht automatisch durchgeführt. Der Compiler entscheidet, indem er die beteiligten Datentypen untersucht, nicht die darin aktuell enthaltenen Werte.

In den folgenden Situationen wird der Compiler automatisch, in einem Methodenaufruf, den Typ des Ausdrucks in den erforderlichen Typ konvertieren:

  1. Einen Ganzzahltyp in einen anderen Ganzzahltyp konvertieren, der mehr Bits verwendet.
  2. Einen Gleitpunkttyp in einen anderen Gleitpunkttyp konvertieren, der mehr Bits verwendet.
  3. Die Konvertierung eines Ganzzahltyps in einen Gleitpunkttyp, der die gleiche Anzahl an Bits verwendet, kann zu einem Verlust an Genauigkeit führen, wird aber trotzdem automatisch durchgeführt.
  4. Die Konvertierung eines Ganzzahltyps in einen Gleitpunkttyp mit mehr Bits wird zu keinem Datenverlust führen und wird automatisch durchgeführt.

"Verlust an Genauigkeit" bedeutet, dass einige Ziffern mit einem niedrigen Stellenwert zu 0 werden, aber die wichtigsten Ziffern und die Größe der Zahl erhalten bleibt.

In den folgenden Situationen wird der Compiler eine Konvertierung NICHT automatisch durchführen.

Erinnern Sie sich an die Größen der verschiedenen primitiven Datentypen (die primitiven Typen char und boolean werden hier nicht aufgeführt):

TypAnzahl der Bits
byte8
short16
int32
long64
float32
double64


FRAGE 7:

Klicken Sie in der entsprechenden Spalte auf die Schaltfläche für die folgenden Typumwandlungen. Es gibt nur eine korrekte Antwort pro Zeile.

Konvertierung Kein Datenverlust.


Automatische Konvertierung.
Möglicher Verlust an Genauigkeit

Automatische Konvertierung.
Möglicher großer Verlust an Daten.

Erfordert eine explizite Typumwandlung.
byte in short
short in byte
short in long
int in float
float in byte
double in float